As wafer circuit width shrinks down to less than ten nanometers in recent years, stringent quality control in the wafer manufacturing process is increasingly important. Thanks to the coupling of neighboring cluster tools and coordination of multiple robots in a multi-cluster tool, wafer production scheduling becomes rather complicated. After a wafer is processed, due to high-temperature chemical reactions in a chamber, the robot should be controlled to take it out of the processing chamber at the right time. In order to ensure the uniformity of integrated circuits on wafers, it is highly desirable to make the differences in wafer post-processing time among the individual tools in a multi-cluster tool as small as possible. To achieve this goal, for the first time, this work aims to find an optimal schedule for a dual-arm multi-cluster tool to regulate the wafer post-processing time. To do so, we propose polynomial-time algorithms to find an optimal schedule, which can achieve the highest throughput, and minimize the total post-processing time of the processing steps. We propose a linear program model and another algorithm to balance the differences in the post-processing time between any pair of adjacent cluster tools. Two industrial examples are given to illustrate the application and effectiveness of the proposed method. 近年来,随着晶圆电路宽度缩小至十纳米以下,晶圆制造过程中的严格质量控制变得愈发重要。得益于相邻簇工具的耦合及多簇工具中多个机器人的协调,晶圆生产调度变得相当复杂。晶圆加工完成后,由于腔室内高温化学反应,需控制机器人适时将其取出处理腔。为确保晶圆上集成电路的均匀性,极需使多簇工具中各工具间晶圆后处理时间的差异尽可能小。为此,本研究首次旨在为双臂多簇工具寻找一种最优调度方案,以规范晶圆后处理时间。为此,我们提出了多项式时间算法,以找到能实现最高吞吐量并最小化各处理步骤总后处理时间的最优调度。 我们提出了一种线性规划模型和另一种算法,以平衡任意相邻簇工具间后处理时间的差异。通过两个工业实例展示了所提方法的应用及其有效性。
( Remark :
Support format jpg/gif/png ;
Upload pictures should be less than 10M!
)
I Introduction
一 引言
SCHEDULING of multi-cluster tools has attracted much attention in recent years thanks to its popularity and complexity. A multi-cluster tool is a combination of several single-cluster tools. Typically, a single-cluster tool has a robot and several processing modules (PMs). The robot is surrounded by PMs to transport wafers. A dual-arm robot has two blades, which can hold two wafers at a time and import/export of wafers through the loadlock cassette modules (LLs). K (K ≥ 2) single-cluster tools are integrated linearly into a K-cluster tool system. An example of a four-cluster tool is shown in Fig. 1. A buffering module (BM) links two adjacent cluster tools. It can temporarily accommodate incoming and outgoing wafers. The cluster tool with LLs is called the head tool and it is numbered the first one. In a steady state, the robot in the first cluster tool unloads a wafer from LLs, transfers it to the PMs for processing according to a predefined route as shown in Fig. 1, where it goes through the downstream tools and backs through the upstream tools one by one [1]. Finally, the robot in the head tool carries the completed wafer back to LLs. A swap strategy is adopted to schedule a robot for a dual-blade cluster tool. The dual blades with a swap strategy make the robot task time much shorter than the wafer processing time in a PM. Therefore, two-blade robots are more efficient than single-blade robots [2]. 多集群工具的调度近年来备受关注,因其广泛应用与复杂性而成为研究热点。多集群工具由多个单集群工具组合而成。通常,单集群工具配备一台机器人和若干处理模块(PMs),机器人被 PMs 环绕,负责搬运晶圆。双臂机器人拥有两片刀片,可同时持握两片晶圆,并通过装载锁定盒模块(LLs)进行晶圆的输入输出。K(K ≥ 2)个单集群工具线性集成,构成一个 K 集群工具系统。图 1 展示了一个四集群工具的实例。缓冲模块(BM)连接相邻的两个集群工具,能暂时容纳进出晶圆。带有 LLs 的集群工具称为头部工具,编号为首。在稳态下,第一集群工具中的机器人从 LLs 卸载晶圆,按照预设路径(如图 1 所示)将其转移至 PMs 进行处理,依次经过下游工具再逆流而上[1]。最终,头部工具中的机器人将完成处理的晶圆送回 LLs。 采用交换策略来调度双刀片簇工具中的机器人。配备交换策略的双刀片使得机器人任务时间远短于 PM 中的晶圆加工时间。因此,双刀片机器人比单刀片机器人效率更高[2]。
View
Download
查看下载
Figure 1 图 1
A four-cluster tool. LLs are viewed as PM1,0; PMi,0 with i > 1 denotes a buffering module. 四簇工具。LLs 被视为 PM 1,0 ;PM i,0 且 > 1 表示一个缓冲模块。
In semiconductor manufacturing [3], various constraints bring great challenges to scheduling cluster tools. During a chemical vapor deposition (CVD) process [4], a wafer must avoid excessive exposure to the mixed chemical gases at high temperatures in a PM. Thus, after a wafer is processed, it needs to limit the time during which it stays in a PM to avoid being scrapped, which is called wafer residency time constraints [5]-[10]. Furthermore, the circuit width on a wafer has been reduced to less than 10 nanometers under continuous development [11]. To fabricate high-end integrated-circuit chips, CVD equipment puts atom-thick layers of nanomaterials onto a wafer, which synthesizes monolayer, bilayer, or few-layer graphene. Consequently, as circuit width shrinks down, the quality of circuits on wafers is more susceptible to chemical reaction time in a chamber [12]. The wafer sojourn time in a chamber after its processing referred to as post-processing time affects the circuit quality. Wafer delay analysis has been done for single cluster tools [13]-[15]. It requires proper control on the post-processing time in different processing steps and the difference in post-processing time between two adjacent cluster tools as well. 在半导体制造中[3],各种约束条件为调度集群工具带来了巨大挑战。在化学气相沉积(CVD)过程中[4],晶圆必须避免在 PM 中长时间暴露于高温混合化学气体中,以免被废弃,这被称为晶圆驻留时间约束[5]-[10]。此外,随着持续发展,晶圆上的电路宽度已缩小至不足 10 纳米[11]。为制造高端集成电路芯片,CVD 设备将原子厚度的纳米材料层沉积在晶圆上,合成单层、双层或多层石墨烯。因此,随着电路宽度的缩小,晶圆上电路的质量更易受腔室内化学反应时间的影响[12]。晶圆在处理后在腔室内的停留时间,即后处理时间,影响着电路质量。针对单个集群工具的晶圆延迟分析已有研究[13]-[15]。 它要求在不同加工步骤中对后处理时间进行适当控制,同时也要控制相邻两台簇工具之间的后处理时间差异。
Great efforts have made for modeling, analysis, and scheduling cluster tools [5], [13], [14] and [16]-[32] and deadlock analysis in flexible manufacturing systems [33]-[36]. The robotic manufacturing systems in [33]-[35] differ from the multi-cluster tools in the following aspects. First, the former does not cover residency time constraints and revisiting processes. Second, the former has one input station and another output station and it is configured in a linear layout; however, the latter has the same input and output station (loadlock modules) and it is configured in a circular layout. Due to these differences, the methods in [33]-[35] cannot solve the deadlock problems for multi-cluster tools. 已为建模、分析和调度集群工具[5]、[13]、[14]及[16]-[32]以及柔性制造系统中的死锁分析[33]-[36]付出了巨大努力。文献[33]-[35]中的机器人制造系统与多集群工具在以下方面有所不同。首先,前者不涉及停留时间约束和重访过程。其次,前者具有一个输入站和一个输出站,并采用线性布局;而后者则拥有相同的输入和输出站(装载锁定模块),并采用环形布局。由于这些差异,[33]-[35]中的方法无法解决多集群工具的死锁问题。
A multi-cluster tool is said to be process-dominant if its bottleneck tool is process-bound. The study in [37] shows that a one-wafer cyclic schedule can be found for a process-dominant multi-cluster tool. A feasible one-wafer cyclic schedule can be found for a process-dominant multi-cluster tool under a steady state [38]-[41], and [5] derives its schedulability conditions under wafer residency time constraints. Thus, one can effectively find an optimal cyclic schedule if a feasible one exists. Reference [42] proposes a non-cyclic scheduling method for multi-cluster tools. Now, it is rather significant to further examine the wafer post-processing time for multi-cluster tools. For the requirements of high-quality functional circuits, field-effect transistors must be built with high uniformity on a wafer from transistors to circuits [43], e.g., MoS2 is grown by CVD, and the residual film is expected to deposit uniformly. Reducing the difference in post-processing time among a variety of process steps is conducive to keeping good uniformity among different layers of circuits on a wafer since a layer of circuits are typically fabricated by a processing step. 如果多集群工具的瓶颈工具受制于工艺时间,则称该多集群工具为工艺主导型。[37]中的研究表明,可以为工艺主导型多集群工具找到一种单片循环调度。在稳态条件下,可以为工艺主导型多集群工具找到可行的单片循环调度[38]-[41],并且[5]推导了其在晶片停留时间约束下的可调度性条件。因此,如果存在可行方案,可以有效找到最优的循环调度。参考文献[42]提出了一种针对多集群工具的非循环调度方法。现在,进一步研究多集群工具的晶片后处理时间显得尤为重要。为了满足高质量功能电路的要求,场效应晶体管必须在晶片上以高均匀性构建,从晶体管到电路[43],例如,MoS 2 通过 CVD 生长,期望残余膜均匀沉积。减少各种工艺步骤之间的后处理时间差异,有助于保持晶片上不同电路层之间的良好均匀性,因为一层电路通常由一个处理步骤制成。
Differently from the aforementioned existing work, this study focuses on a K-cluster tool to get a better schedule with regulations on wafer post-processing time and high productivity. Reference [44] investigates the optimal scheduling of a dual-arm single-cluster tool with regulations of wafer post-processing time. However, its method and result cannot be applied to a multi-cluster tool. 与上述现有研究不同,本研究聚焦于一种 K 簇工具,旨在通过规定晶圆后处理时间和高生产率来获得更优的调度方案。参考文献[44]探讨了双臂单簇工具在晶圆后处理时间约束下的最优调度问题。然而,其方法和结果无法应用于多簇工具。
For a K-cluster tool, it is very challenging to regulate the wafer post-processing time. The challenges come from the following facts. 1) Shortening wafer post-processing time at a given step requires that the robot changes its time to load/unload a wafer, resulting in the changes of time to perform loading/unloading actions at upstream and downstream steps including the buffer steps, which interact with the robot actions in adjacent cluster tools. Such interplay requires that delicate control of the cycle time should be made to coordinate multiple robots’ actions to keep the cycle time of a K-cluster tool constant. If such coordination is not well conducted, there would be cycle time fluctuation that easily propagates to its adjacent cluster tools and affects their cycle time. 2) Narrowing the difference in post-processing time between adjacent tools is a complex issue because it is very delicate to coordinate multiple robots to pace each tool and each step in a single tool. 对于 K 簇工具而言,调控晶圆后处理时间极具挑战性。挑战源自以下事实:1) 在某一工序缩短晶圆后处理时间,要求机器人改变其装载/卸载晶圆的时间,进而导致包括缓冲步骤在内的上下游工序装卸动作时间的变化,这些步骤与相邻簇工具中的机器人动作相互影响。这种相互作用要求对周期时间进行精细控制,以协调多个机器人的动作,保持 K 簇工具的周期时间恒定。若协调不当,将导致周期时间波动,并容易波及相邻簇工具,影响其周期时间。2) 缩小相邻工具间后处理时间的差异是一个复杂问题,因为协调多个机器人以使每个工具及单个工具中的每个步骤同步进行极为精细且复杂。
The main contributions of this paper are twofold as follows. 本文的主要贡献如下双方面。
1) In order to realize the adjustment of post-processing time, we propose effective algorithms to minimize the total post-processing time and balance its difference among the processing steps inside each tool. 1) 为了实现后处理时间的调整,我们提出了有效的算法来最小化总后处理时间,并平衡每个工具内各处理步骤之间的差异。
2) We propose a linear programming model and a condition table to find the upper bound for adjusting the post-processing time in adjacent cluster tools. Then, an efficient algorithm is designed to adjust each cluster tool to balance the difference in post-processing time between adjacent cluster tools. 2) 我们提出了一种线性规划模型和条件表,用于确定相邻簇工具后处理时间调整的上限。随后,设计了一种高效算法,以调整每个簇工具,平衡相邻簇工具间后处理时间的差异。
The rest of this article is structured as follows. Section II analyzes the temporal properties of scheduling multi-cluster tools. Section III proposes algorithms to find an optimal schedule that can minimize post-processing time and avoid uneven post-processing time among the processing steps or two adjacent cluster tools. Section IV gives two examples for applying the proposed method. Section V makes a summary of this work. 本文其余部分的结构如下。第二部分分析了调度多集群工具的时间特性。第三部分提出了寻找最优调度的算法,以最小化后处理时间并避免处理步骤之间或两个相邻集群工具之间的后处理时间不均。第四部分给出了两个应用所提出方法的示例。第五部分对本工作进行了总结。
II Problem Description
II 问题描述
A Operation and Properties of a K-Cluster Tool K-簇工具的操作与特性
Following [27] and [38], we make the following assumptions for a dual-arm K-cluster tool (K ≥ 2). 参考[27]和[38],我们对双臂 K 簇工具(K ≥ 2)做出以下假设。
1) Two LLs can continuously provide enough wafers for PMs without interruption. Thus, a K-cluster tool can run under a steady state. 1) 两台 LL 设备能够持续不断地为 PM 设备提供足够的晶圆,从而确保 K-集群工具在稳定状态下运行。
2) A BM can hold one wafer at a time without a processing function. 2) 机械手可一次持有一个晶圆,但不具备加工功能。
3) Every processing step is configured with a PM. Thereafter, in order to facilitate the presentation, we refer to a PS as a PM. It is obvious that a wafer is processed at a PM once and enters a BM twice. 3) 每个加工步骤都配备了一个 PM。此后,为了便于表述,我们将 PS 称为 PM。显然,一个晶圆在 PM 中加工一次,并进入 BM 两次。
Let Nq = {0, 1, 2, 3, …, q} and N+q = Nq\{0}, where q is a given positive integer. Then, Ci denotes the ith cluster tool and Ri denotes the robot in Ci, i ∈ N+K. The buffering step in Ci at a buffering module can be represented by b[i], i ∈ N+K−1. Let b[K]=∅. Let n[i] denote the index of the last step in Ci. Then, the processing steps of Ci are denoted by PSi, 0, PSi, 1, …, PSi, b[i], …, and PSi, n[i]. As shown in Fig. 1, we can get the wafer processing route in a K-cluster tool as ⟨LL→ PM1,1 → ···→ PM1, b[1] (PM2,0) → PM2,1 → ···→ PM2, b[1] (PM3,0) → ··· → PMK − 1, (b[K − 1]) (PMK, 0) → PMK, 1 → ··· → PMK, (n[K]) → ··· → PMK, 0 (PMK − 1, (b[K − 1])) → PMK − 1, (b[K − 1] + 1) → ··· → PM3,0 (PM2, b[2]) → PM2, (b[2] + 1) → ··· → PM2,0 (PM1, b[1]) → ···→ PM1, n[1] → LL⟩. For Ci, let ωi, j and ωi, jS denote the robot waiting time before unloading and loading a wafer from/into PMi, j, respectively. For Ri, it takes μi time units to move between two PMs or a PM and an LL, λi time units to load/unload a wafer into/from a PM (LL), and ρi time units to make a rotation. Let αi, j denote the wafer processing time at PMi, j. The processing time at buffering modules and LLs is zero due to no functional processing there. The symbols for timeliness analysis are listed in Table I. In addition, the time required in a K-cluster tool is shown in Table II. 设 N q = {0, 1, 2, 3, …, q} 且 N+q = N q \{0},其中 q 为给定的正整数。记 C 为第 th 个簇工具,R 为 C 中的机器人,∈ N+K 。C 中缓冲模块处的缓冲步骤可表示为 b[],∈ N+K−1 。令 b[K]=∅ 。设 n[] 表示 C 中最后一步的索引。则 C 的处理步骤记为 PS i, 0 ,PS i, 1 ,…,PS i, b[i] ,…,PS i, n[i] 。如图 1 所示,我们可以得到 K-簇工具中的晶圆处理路径为 ⟨ LL→ PM 1,1 → ···→ PM 1, b[1] (PM 2,0 ) → PM 2,1 → ···→ PM 2, b[1] (PM 3,0 ) → ··· → PM K − 1, (b[K − 1]) (PM K, 0 ) → PM K, 1 → ··· → PM K, (n[K]) → ··· → PM K, 0 (PM K − 1, (b[K − 1]) ) → PM K − 1, (b[K − 1] + 1) → ··· → PM 3,0 (PM 2, b[2] ) → PM 2, (b[2] + 1) → ··· → PM 2,0 (PM 1, b[1] ) → ···→ PM 1, n[1] → LL ⟩ 。对于 C,记 ω i, j 和 ω i, jS 分别为机器人从/向 PM i, j 卸载/加载晶圆前的等待时间。对于 R,在两个 PM 或 PM 与 LL 之间移动需 μ 时间单位,加载/卸载晶圆到/从 PM(LL)需 λ 时间单位,旋转需 ρ 时间单位。设 α i, j 表示晶圆在 PM i, j 处的处理时间。 缓冲模块和 LL 处的处理时间为零,因为那里没有功能性处理。时效性分析的符号列于表 I 中。此外,K-集群工具所需的时间如表 II 所示。
I
Table I 表 ISymbols for Timeliness Analysis 时效性分析符号
Symbol 符号
Meaning 意义
Nq
= {0, 1, 2, 3, …, q}, where q is a positive integer. = {0, 1, 2, 3, …, q},其中 q 为正整数。
N+q
= {1, 2, 3, …, q}. = {1, 2, 3, …, q}。
Ci
The ith cluster tool. 第 th 簇工具。
Ri
The robot in Ci. C 中的机器人。
PMi, j
The jth process module in Ci. C 语言中的第 th 个进程模块。
n[i]
The index of the last step in Ci. C 中最后一步的索引。
b[i]
Index of the buffering step in Ci. C 语言中缓冲步骤的索引。
λi
Time taken by Ri for unloading/loading a wafer. R 卸载/加载一个晶圆所需的时间。
μi
Time taken by Ri for moving from one PM to another. R 从一个 PM 移动到另一个 PM 所花费的时间。
ρi
Time taken by Ri’s rotation. R 旋转所需的时间。
αij
The time of processing a wafer at PMi, j. 处理 PM i, j 晶圆的时间。
θi, j
Cycle time of PMi, j. PM i, j 的周期时间。
δi, j
The permissive longest time for a wafer to stay at PMi, j after its processing. 晶圆在加工后允许停留在 PM i, j 位置的最长时间。
ξi, j
The time needed for completing a wafer at PMi, j. 完成 PM i, j 晶圆所需的时间。
Πi, jL
The lower bound of θi, j. θ i, j 的下限。
Πi, jU
The upper bound of θi, j. θ i, j 的上限。
Θi
The cycle time of Ci. C 的周期时间。
Θ
The cycle time of a K-cluster tool. K-集群工具的循环时间。
ψi
Robot Ri’s cycle time. 机器人 R 的循环时间。
II
Table II 表二Decision Variables and Their Associated Variables 决策变量及其相关变量
Symbol 符号
Meaning 意义
ωi, j
Ri’s waiting time before unloading a wafer from PMi, j. R 在从 PM i, j 卸载晶圆前的等待时间。
ωi, jS
Ri’s waiting time before loading a wafer into PMi, j. R 在将晶圆装入 PM i, j. 之前的等待时间
τi, j
Wafer sojourn time at PMi, j. 晶圆在 PM i, j. 处的停留时间
ri, j
The post-processing time of a wafer at PMi, j. 0 号位 PM 的晶圆后处理时间。
B Temporal Properties of Individual Tools B 个体工具的时间特性
By a swap strategy, robot Ri executes the following sequence of operations in C 通过交换策略,机器人 R 在 C 中执行以下操作序列i
⟨Moving to PMi, 0 (it takes μi time units; hereafter, only the amount of time is presented) → waiting there for ωi, 0 time units → unloading a wafer from PMi, 0 (λi) → rotating (ρi) → waiting there for ωi, 0S time units → loading a wafer gripped by the other blade into PMi, 0 (λi) → ··· → moving to PMi, b[i] (μi) → waiting there for ωi, b[i] time units → unloading a wafer from PMi, b[i] (λi) → rotating (ρi) → waiting there for ωi, b[i]S time units → loading a wafer gripped by the other blade into PMi, b[i] (λi) → ··· → moving to PMi, n[i] (μi) → waiting there for ωi, n[i] time units → unloading the finished wafer from PMi, n[i] (λi) → rotating (ρi) → waiting there for ωi, n[i]S time units → loading a wafer gripped by the other blade into PMi, n[i] (λi) → moving to PMi, 0 (μi) again⟩. ⟨ 移动到 PM i, 0 (耗时μ时间单位;此后,仅呈现时间量)→ 在那里等待ω i, 0 时间单位 → 从 PM i, 0 卸载晶圆(λ)→ 旋转(ρ)→ 在那里等待ω i, 0S 时间单位 → 将另一刀片夹持的晶圆装入 PM i, 0 (λ)→ ··· → 移动到 PM i, b[i] (μ)→ 在那里等待ω i, b[i] 时间单位 → 从 PM i, b[i] 卸载晶圆(λ)→ 旋转(ρ)→ 在那里等待ω i, b[i]S 时间单位 → 将另一刀片夹持的晶圆装入 PM i, b[i] (λ)→ ··· → 移动到 PM i, n[i] (μ)→ 在那里等待ω i, n[i] 时间单位 → 从 PM i, n[i] 卸载成品晶圆(λ)→ 旋转(ρ)→ 在那里等待ω i, n[i]S 时间单位 → 将另一刀片夹持的晶圆装入 PM i, n[i] (λ)→ 再次移动到 PM i, 0 (μ) ⟩ 。
Hence, robot Ri’s (2 ≤ i ≤ K) cycle time is 因此,机器人 R 的(2 ≤ ≤ K)周期时间为
where ψi, 1 = (n[i] + 1)(2λi + μi + ρi), i ∈ N+K\{1}. 其中 ψ i, 1 = (n[] + 1)(2λ + μ + ρ), ∈ N+K \{1}。
Since LLs in C1 have no capacity limit, robot R1 can directly load/unload wafers with the same blade. Hence, robot R1’s cycle time is 由于 C 1 中的 LLs 没有容量限制,机器人 R 1 可以直接使用同一刀片装载/卸载晶圆。因此,机器人 R 1 的循环时间
Therefore, by (1) and (2), a robot’s cycle time consists of its task time and waiting time. The former is a constant that is equal to ψi, 1, while the latter is ψi, 2 =∑n[i]j=0ωi,j+∑n[i]j=0ωi,jS. 因此,根据(1)和(2),机器人的周期时间由其任务时间和等待时间组成。前者是一个常数,等于ψ i, 1 ,而后者为ψ i, 2 = ∑n[i]j=0ωi,j+∑n[i]j=0ωi,jS 。
The key to scheduling a multi-cluster tool is to coordinate the operations of the multiple robots. To do so, we need to analyze its temporal properties. The time is taken to complete a wafer at PSi, j, i ∈ N+K, as follows: 调度多集群工具的关键在于协调多个机器人的操作。为此,我们需要分析其时间特性。完成一张晶圆在 PS i, j , ∈ N+K 所需的时间如下:
ξi,j=αi,j+2λi+ρi+ωi,jS,j∈N+n[i]
and 和
ξi,0=2λi+ρi+ωi,0S.
In (3) and (4), ωi, jS is a decision variable, while λi, ρi, and αi, j are given parameters. When ωi, jS is zero, we get the shortest time for completing a wafer at PMi, j, i.e., the lower bound Πi, jL, i ∈ N+K, as 在(3)和(4)中,ω i, jS 是一个决策变量,而 λ、ρ 和 α i, j 是给定的参数。当 ω i, jS 为零时,我们得到在 PM i, j 完成一片晶圆的最短时间,即下界 Π i, jL ,∈ N+K ,为
Πi,jL=αi,j+2λi+ρi,j∈N+n[i]
and 和
Πi,0L=2λi+ρi.
After a wafer is processed at PMi, j, it cannot stay at PMi, j for more than δi, j≥ 0 time units. Thus, the upper bound of Πi, j is 在晶圆于 PM i, j 加工后,它不能在 PM i, j 停留超过δ i, j ≥ 0 个时间单位。因此,Π i, j 的上限为
Πi,jU=αi,j+δi,j+2λi+ρi,j∈Nn[i].
The time between loading a wafer into PMi, j and unloading it from there is called wafer sojourn time, which is denoted by τi, j. Obviously, αi, j+δi, j≥ τi, j≥ αi, j should be met, which means that a wafer staying at a PM subject to such a constraint leads to a feasible schedule. The cycle time at PSi, j is 将晶圆装入 PM i, j 到从那里卸载的时间间隔称为晶圆停留时间,记作τ i, j 。显然,应满足α i, j + δ i, j ≥ τ i, j ≥ α i, j ,这意味着晶圆在受此约束的 PM 中停留会导致一个可行的调度。PS i, j 的周期时间为
θi,j=τi,j+2λi+ρi+ωi,jS,j∈N+n[i].
Although BMs and LLs perform no functional processing, i.e., αi, 0 = 0, a wafer may stay at BMs or LLs for τi, 0 time units. We get that the cycle time at PSi, 0 is 尽管批量模块和装载锁不执行任何功能性处理,即α i, 0 = 0,但晶圆可能在批量模块或装载锁中停留τ i, 0 时间单位。由此得出,在工艺步骤 i, 0 处的循环时间为
θi,0=τi,0+2λi+ρi+ωi,0S.
τi, j can be calculated as follows: τ i, j 可以按如下方式计算:
τi,j=ψi−(2λi+ρi+ωi,jS),j∈Nn[i].
The above equation shows that the wafer residency time depends on robot waiting time ωi, jS when ψi is given. 上述方程表明,晶圆驻留时间取决于给定ψ时的机器人等待时间ω i, jS 。
Let Πi = max{Πi, 0L, Πi, 1L,…, Πi, n[i]L, ψi, 1} and Θi denote the cycle time of Ci. Then, if Πi ≠ ψi, 1, Ci is process-bound. To get a cyclic schedule, Ci should be scheduled to satisfy 设 Π = max{Π i, 0L , Π i, 1L ,…, Π i, n[i]L , ψ i, 1 },Θ 表示 C 的周期时间。那么,如果 Π ≠ ψ i, 1 ,C 是过程受限的。为了获得一个循环调度,C 应被调度以满足
Θi=ψi=θi,j=ξi,j,j∈Nn[i]∖{0,b[i]}.
Equations (8) and (9) show that ωi, jS is a decision variable for cycle time θi, j at PSi, j with j∈Nn[i]. Notice that (1), (2) and (8) contain decision variables ωi, jS. Thus, (11) can be made to be satisfied by adjusting Ri’s waiting time ωi, jS. Suppose that Θ is the given cycle time for a K-cluster tool and let Θi = ψi = θi, j = Θ. After ωi, jS is determined to meet (8) and (9), the robot’s remaining idle time (ψi, 2 − ∑n[i]j=0ωi,jS) can be assigned to ωi, j’s. 式(8)和(9)表明,ω i, jS 是 PS i, j 上周期时间θ i, j 的决策变量,其中 ∈Nn[i] 。注意到(1)、(2)和(8)包含决策变量ω i, jS 。因此,通过调整 R 的等待时间ω i, jS ,可以使(11)得到满足。假设Θ是给定的 K-集群工具的周期时间,并设Θ = ψ = θ i, j = Θ。在确定ω i, jS 以满足(8)和(9)后,机器人剩余的空闲时间(ψ i, 2 − ∑n[i]j=0ωi,jS )可以分配给ω i, j 。
Let ri, j denote the wafer post-processing time at PMi, j, which is the time between the time when its processing ends and the time when Ri starts to unload the wafer. Thus, the post-processing time at PMi, j, i ∈ N+K, is 设 r i, j 表示在 PM i, j 处的晶圆后处理时间,即其加工结束与 R 开始卸载晶圆之间的时间。因此,PM i, j 处的后处理时间,∈ N+K ,为
ri,j=τi,j−αi,j,j∈Nn[i]∖{0,b[i]}.
If the robot waiting time ωi, jS is properly set, (11) can be satisfied. It implies that the cycle time of each cluster tool, each robot, and each PM is equal so that a multi-cluster tool can yield one wafer within a cycle. Given cycle time Θi = θi, j = Θ with i∈N+K and j∈Nn[i], by (8) and (9), if ωi, jS (i∈N+K) increases, then wafer sojourn time τi, j decreases, and by (12), ri, j decreases as well. In the view of tool Ci, minimizing the total post-processing time ∑j∈N+n[i]∖{b[i]}ri,j is conducive to producing high-quality circuit chips on wafers. 若机器人等待时间ω i, jS 设置得当,则(11)式可满足。这意味着每个集群工具、每台机器人及每个 PM 的周期时间相等,从而使得多集群工具能在一个周期内产出一片晶圆。给定周期时间Θ = θ i, j = Θ ∈N+K 及 ∈Nn[i] ,根据(8)和(9)式,若ω i, jS ( ∈N+K )增加,则晶圆停留时间τ i, j 减少,且由(12)式可知,r i, j 亦随之减少。从工具 C 的角度看,最小化总后处理时间 ∑j∈N+n[i]∖{b[i]}ri,j 有助于在晶圆上制造出高质量的电路芯片。
C Problem Definition C 问题定义
The objective of this work is to regulate wafer post-processing time such that high-quality circuits can be ensured on a wafer. Therefore, this work aims to accomplish the following missions. 本工作的目标是调控晶圆后处理时间,以确保晶圆上能制造出高质量的电路。因此,本工作旨在完成以下任务。
1) Minimize the cycle time of a dual-arm K-cluster tool. 1) 最小化双臂 K 簇工具的循环时间。
2) Minimize ∑j∈N+n[i]∖{b[i]}ri,j for Ci, i∈N+K and shorten the difference in post-processing time among PSi, j, j∈Nn[i]\{0, b[i]}. 2) 最小化 ∑j∈N+n[i]∖{b[i]}ri,j 对于 C, ∈N+K ,并缩短 PS i, j , ∈ N n[i] \{0, b[]} 之间的后处理时间差异。
3) Shorten the difference in post-processing time between adjacent cluster tools. 3) 缩短相邻簇工具间后处理时间的差异。
III Scheduling Algorithms
III 调度算法
A Coordination of Multiple Robots 多机器人协同
The minimal cycle time of a process-bound dual-arm cluster tool Ci can be calculated as Πi = max{Πi, 0L, Πi, 1L, …, Πi, n[i]L}, i∈N+K. When a K-cluster tool runs, multiple robots can be coordinated such that the cycle time of Ri is the same as Ci, i.e., ψi = Πi. 过程约束型双臂集群工具 C 的最小循环时间可计算为Π = max{Π i, 0L , Π i, 1L , …, Π i, n[i]L }, ∈N+K 。当 K 集群工具运行时,多个机器人可协调工作,使得 R 的循环时间与 C 相同,即ψ = Π。
Let Π = max {Π1, Π2, …, ΠK}. As aforementioned, Θ is the cycle time of a K-cluster tool. Assume that Cg (2 ≤ g ≤ K–1) has the heaviest workload among the K individual tools. Thus, we have Π = Πg, and the bottleneck of a K-cluster tool is Cg. For a process-dominant K-cluster tool, to obtain a one-wafer cyclic schedule, we must have 设 Π = max {Π 1 , Π 2 , …, Π K }。如前所述,Θ 是 K-集群工具的周期时间。假设 C g (2 ≤ g ≤ K–1) 在 K 个独立工具中具有最重的工作负荷。因此,我们有 Π = Π g ,且 K-集群工具的瓶颈为 C g 。对于过程主导的 K-集群工具,为了获得单片循环调度,我们必须满足
Θ1=Θ2=⋯=ΘK=Θ.
This means that each cluster tool should be scheduled with the same cycle time. The cycle time must satisfy Θ ≥ Π = Πg. Under this premise, it can guarantee to apply a swap strategy to each Ci, i ∈ N+K. 这意味着每个簇工具应按相同的周期时间进行调度。周期时间必须满足 Θ ≥ Π = Π g 。在此前提下,可以保证对每个 C, ∈ N+K 应用交换策略。
Given the cycle time, the wafer processing time and the robot activity time are deterministic, the post-processing time and robot waiting time are variables, and interact with each other. Therefore, it is necessary to ensure that the robot waiting time is coordinated so that an individual tool can be scheduled at the same pace without conflict over its buffering module, and the difference in post-processing time among different steps can be regulated as small as possible. Note that a BM does not participate in the processing of wafers. Thus, BMs have no wafer residency time constraints. 鉴于循环时间、晶圆加工时间和机器人活动时间是确定的,而后处理时间和机器人等待时间是变量,并相互影响。因此,有必要确保机器人等待时间协调一致,使得单个工具能够在其缓冲模块上无冲突地按相同节奏调度,并且不同步骤之间的后处理时间差异尽可能小。需要注意的是,缓冲模块(BM)不参与晶圆的处理,因此 BM 没有晶圆停留时间的约束。
Algorithm 1 Determine the Robot Waiting Time for a K-Cluster Tool 算法 1 确定 K 簇工具的机器人等待时间
Input: λi, μi, αi, j, δi, j, ρ 输入:λ, μ, α i, j , δ i, j , ρi
Output: Θ, ωi, jS, ωi,j 输出: Θ, ω i, jS , ω i,j
1: Calculate ψi, 1, ψi, 2, Πi, jL, Πi, jU,, by (1), (2) and (5)–(7), respectively. 计算 ψ i, 1 , ψ i, 2 , Π i, jL , Π i, jU, ,分别通过公式 (1), (2) 和 (5)–(7)。
2: Πi ← max{Πi, 0L, Πi, 1L, …, Πi, n[i]L}for i∈N+K. 2: Π ← max{Π i, 0L , Π i, 1L , …, Π i, n[i]L }对于 ∈N+K 。
3: Θ ← max {Π1, Π2, …, ΠK}
4: Fori =1 to Kdo 4: 对于 i = 1 到 K 执行
5:Ifψi, 1 ≤ Θ and Θ ≤ Πi, jU, j ∈ N+n[i]\{b[i]} Then 5:若ψ i, 1 ≤ Θ且Θ ≤ Π i, jU ,则∈ N+n[i] \{b[]}
6: Call Algorithm 2 //*Case 2 6: 调用算法 2 //*情况 2
7: Else if Πi, jL ≤ ψi1 ≤ Πi, jU, j ∈ N+n[i]\{b[i]} 7: 否则如果 Π i, jL ≤ ψ i1 ≤ Π i, jU , ∈ N+n[i] \{b[]}
Then //*Case 1 那么 //*情况 1
8: ωi, jS ←0, ωi, j ←0, for j ∈ Nn[i] 8: ω i, jS ←0, ω i, j ←0, 对于 ∈ Nn[i]
9: Elseif∩j∈N+n[i]∖{b[i]} [Πi, jL, Πi, jU] = ∅Then 9: 否则如果 ∩j∈N+n[i]∖{b[i]} [Π i, jL , Π i, jU ] = ∅ 那么
10: Call Algorithm 3 //*Case 3 10: 调用算法 3 //*情况 3
11: Else 11: 其他
12: Return //*Unschedulable 12: 返回 //*不可调度
13: Endif 13: 结束条件
14: Endif 14: 结束判断
15: EndIf 15: 结束判断
16: Ifi ≠ K and τi, b[i] < 2λi+1 + ρi+1, Then 16: 若 ≠ K 且 τ i, b[i] < 2λ i+1 + ρ i+1 ,则
17: Return //*Unschedulable 17: 返回 //*不可调度
18: End if 18: 结束如果
19: EndFor 19: 结束循环
20: End 20: 结束
Algorithm 2 Set Ri’s Waiting Time for Case 2 算法 2 设置 R 的等待时间,情况 2
It follows from [24] that if Θ ≥ Π is the cycle time of a process-dominant K-cluster tool with wafer residency time constraints, a one-wafer periodic schedule exists if and only if, for any pair of Ci and Ci+1, i ∈ N+K−1, ωi, jS’s and ω(i+1), fS’s are set such that the following conditions are satisfied: 由[24]可得,若Θ ≥ Π为具有晶圆驻留时间约束的过程主导型 K-簇工具的周期时间,当且仅当对于任意一对 C 和 C i+1 ,∈ N+K−1 ,ω i, jS 和ω (i+1), fS 被设定以满足以下条件时,存在一种单晶圆周期调度:
θi,j=θ(i+1),f=Θ,j∈Nn[i]andf∈Nn[i+1]
τi,j∈[αi,j,αi,j+δi,j],i∈N+Kandj∈N+n[i]∖{b[i]}
τi,b[i]≥2λi+1+ρi+1+ω(i+1),0S
and 和
τ(i+1),0≥2λi+ρi+ωi,b[i]S.
B Algorithms B 算法
By (10), (12) and (15)−(17), setting appropriate ωi, jS’s can render conditions (15)−(17) satisfied and further shorten wafer post-processing time. If ωi, jS’s are determined, a one-wafer cyclic schedule is found. Therefore, we propose Algorithms 1−3 to calculate ωi, jS’s to obtain a schedule, where the cardinality of set V is denoted by |V|. We propose Algorithm 1 to handle three different workload cases for each cluster tool. Algorithm 1 determines the condition to be satisfied by a K-cluster tool. Section IV details the calculation process for Algorithm 1. 通过(10)、(12)及(15)−(17),设定适当的ω i, jS 可以满足条件(15)−(17),并进一步缩短晶圆后处理时间。若ω i, jS 确定,则可找到一个单晶圆循环调度。因此,我们提出算法 1−3 来计算ω i, jS 以获得调度,其中集合 V 的基数记为|V|。我们提出算法 1 来处理每种集群工具的三种不同工作负载情况。算法 1 确定了一个 K 集群工具需满足的条件。第四节详细阐述了算法 1 的计算过程。
Case1: Πi, jL ≤ ψi, 1 ≤ Πi, jU, i ∈ N+K, indicates that robot Ri is always busy and tool Ci is transport-bound. Therefore, the robot waiting time is zero as shown in Line 8 of Algorithm 1. 案例 1:Π i, jL ≤ ψ i, 1 ≤ Π i, jU , ∈ N+K , 表明机器人 R 始终处于忙碌状态,而工具 C 则受限于运输。因此,如算法 1 第 8 行所示,机器人等待时间为零。
Case 2:ψi, 1 ≤ Θ and Θ ≤ Πi, jU, i ∈ N+K, means that the workloads of all processing steps in Ci are relatively balanced and tool Ci is process-bound. 案例 2:ψ i, 1 ≤ Θ 且 Θ ≤ Π i, jU ,∈ N+K ,意味着 C 中所有处理步骤的工作负载相对均衡,且工具 C 受限于加工过程。
The following results are given to show the optimality of the schedule obtained by Algorithm 2. 以下结果用于展示算法 2 所获得调度的最优性。
Theorem 1: Given Θ = Πg as the cycle time for a dual-arm cluster tool, if and only if ψi, 1 ≤ Θ and Θ ≤ Πi, jU, i ∈ N+K, are satisfied, Algorithm 2 finds a schedule that achieves the lower bound of its cycle time and minimizes the total post-processing time. 定理 1:给定Θ = Π g 为双臂集群工具的周期时间,当且仅当 ψ i, 1 ≤ Θ 且 Θ ≤ Π i, jU ,∈ N+K 条件满足时,算法 2 能找到一种调度方案,实现其周期时间下限并最小化总后处理时间。
Proof: Let Θ = Πg be the cycle time of a K-cluster tool. We examine whether a feasible schedule with cycle time Θ can be found and whether the post-processing time is minimal. 证明:设Θ = Π g 为 K 簇工具的循环时间。我们考察是否能找到具有循环时间Θ的可行调度,并验证后处理时间是否最小。
By Lines 1 and 2, we have ε = ∑j∈V(Θ – (αi, j + 2λi + ρi)). If ψi, 2≥ ε, we set ωi, jS = Θ – (αi, j + 2λi + ρi), j ∈ V. Then, we have τi, j = Θ – (2λi+ρi + ωi, jS), j ∈ V. The post-processing time at step j in Ci is ri, j = τi, j – αi, j = 0 < δi, j, j ∈ V. Thus, ri, j is minimized, and the wafer residency time constraints are satisfied. If ψi, 2 < ε, we have h = ψi, 2–ε. By Line 11, Δ = h/|V|. Lines 13 and 14 show that if Δ ≤ Θ – (αi, j + 2λi + ρi) holds, Step j is put into set A, otherwise, Step j is put into set B. 根据第 1 和第 2 行,我们有ε = ∑j∈V( Θ – (α i, j + 2λ + ρ))。若 ψ i, 2 ≥ ε,则设 ω i, jS = Θ – (α i, j + 2λ + ρ),∈ V。于是,τ i, j = Θ – (2λ+ρ + ω i, jS ),∈ V。步骤 C 中的后处理时间为 r i, j = τ i, j – α i, j = 0 < δ i, j ,∈ V。因此,r i, j 被最小化,且晶圆停留时间约束得以满足。若 ψ i, 2 < ε,则有 h = ψ i, 2 –ε。根据第 11 行,Δ = h/|V|。第 13 和 14 行表明,若 Δ ≤ Θ – (α i, j + 2λ + ρ) 成立,则将步骤放入集合 A,否则,将步骤放入集合 B。
If B ≠ ∅, ri, j = Θ – (αi, j + 2λi + ρi) and ωi, jS = 0 for j ∈ B, Lines 18−22 deal with this situation. We have ri, j = Θ – (αi, j + 2λi + ρi) ≥ Πi, jL – (αi, j + 2λi + ρi) = 0 and ri, j = Θ – (αi, j + 2λi + ρi) ≤ Πi, jU – (αi, j + 2λi + ρi) = δi, j. Then, h = h – ri, j. Because of Δ = h/|V| and Δ > Θ – (αi, j + 2λi + ρi), we have h = Δ|V| > ∑j∈B(Θ – (αi, j + 2λi + ρi)). Therefore, h > 0 always holds. By Line 22, V = V\B. 若 B ≠ ∅ ,则对 ∈ B 有 r i, j = Θ – (α i, j + 2λ + ρ) 且 ω i, jS = 0,第 18−22 行处理此情形。我们有 r i, j = Θ – (α i, j + 2λ + ρ) ≥ Π i, jL – (α i, j + 2λ + ρ) = 0 及 r i, j = Θ – (α i, j + 2λ + ρ) ≤ Π i, jU – (α i, j + 2λ + ρ) = δ i, j 。于是,h = h – r i, j 。由于 Δ = h/|V| 且 Δ > Θ – (α i, j + 2λ + ρ),故 h = Δ|V| > ∑j∈B( Θ – (α i, j + 2λ + ρ))。因此,h > 0 恒成立。根据第 22 行,V = V\B。
If B = ∅, ri, j = Δ and ωi, jS = Θ – (αi, j + 2λi +ρi) – ri, j for j ∈ A, Lines 24−28 deal with this situation. We have ri, j = Δ = h/|V| ≤ Θ – (αi, j + 2λi + ρi) ≤ Πi, jU – (αi, j +2λi + ρi) = δi, j and ri, j > 0 because of ψi, 2 < ε. Since ∑j∈Vωi,jS = ∑j∈V(Θ – (αi, j + 2λi + ρi)) –∑j∈Vri,j = ψi, 2, we ensure that the value of ψi, 2 has been assigned to ωi, jS’s (j ∈ V), i.e.,∑j∈Vωi,jS is maximized and ∑j∈Vri,j is minimized.■ 若 B = ∅ ,r i, j = Δ 且 ω i, jS = Θ – (α i, j + 2λ + ρ) – r i, j 对于 ∈ A,第 24−28 行处理此情况。我们有 r i, j = Δ = h/|V| ≤ Θ – (α i, j + 2λ + ρ) ≤ Π i, jU – (α i, j + 2λ + ρ) = δ i, j 且 r i, j > 0 因 ψ i, 2 < ε。由于 ∑j∈Vωi,jS = ∑j∈V( Θ – (α i, j + 2λ + ρ)) – ∑j∈Vri,j = ψ i, 2 ,我们确保 ψ i, 2 的值已赋给 ω i, jS 的 ( ∈ V),即 ∑j∈Vωi,jS 最大化且 ∑j∈Vri,j 最小化。■
Algorithm 2 deals with the processing steps in V = {j | j ≠ 0 and j ≠ b[i],j ∈ Nn[i]}. In the case of ε≥ ψi, 2, we have that, for any step j ∈ V, the available idle time for robot Ri’s waiting is enough so that the post-processing time is zero and it is unnecessary to handle this situation. In the case of ψi, 2 < ε, it is easy to show that, for step j ∈ V, Ri’s available idle time for waiting is not enough so that the post-processing time should be evenly distributed. Then, Algorithm 2 solves the above two cases. Lines 1−8 handle the case of ε≥ ψi, 2. Lines 10−33 deal with the case of ε < ψi, 2 to adjust the post-processing time evenly. In addition, Lines 4 and 9 can ensure the most effective distribution of waiting time and minimize the total post-processing time. 算法 2 处理了在 V = { | ≠ 0 且 ≠ b[] ∈ N n[i] }中的处理步骤。在ε≥ ψ i, 2 的情况下,对于任何步骤 ∈ V,机器人 R 的可用等待空闲时间足够,使得后处理时间为零,因此无需处理此情况。在ψ i, 2 < ε的情况下,容易证明,对于步骤 ∈ V,R 的可用等待空闲时间不足,因此后处理时间应均匀分布。随后,算法 2 解决了上述两种情况。第 1−8 行处理ε≥ ψ i, 2 的情况。第 10−33 行处理ε < ψ i, 2 的情况,以均匀调整后处理时间。此外,第 4 行和第 9 行确保了等待时间的最佳分配并最小化了总后处理时间。
Algorithm 3 Set Ri’s Waiting Time for Case 3 算法 3 设置 R 的等待时间(情况 3)
In Algorithm 2, all the statements make calculations based on closed-form expressions. The number of iterations in the For-loop of Lines 5−7 is no more than n[i]. The number of iterations in the For-loop of Lines 10−30 is no more than (n[i])2. It is obvious that the computational complexity of Algorithm 2 is polynomial. 在算法 2 中,所有语句均基于封闭形式的表达式进行计算。第 5 至 7 行的 For 循环迭代次数不超过 n[]。第 10 至 30 行的 For 循环迭代次数不超过(n[]) 2 。显然,算法 2 的计算复杂度为多项式。
Case 3:∩j∈N+n[i]∖{b[i]}[Πi, jL, Πi, jU] = ∅, i ∈ N+K, means that the workloads of the processing steps are unbalanced. In this case, Algorithm 3 is proposed to find a feasible schedule so that each processing step can achieve the cycle time of a K-cluster tool. 案例 3: ∩j∈N+n[i]∖{b[i]} [Π i, jL , Π i, jU ] = ∅ , ∈ N+K , 意味着处理步骤的工作负荷不平衡。在这种情况下,提出算法 3 以找到一个可行调度,使得每个处理步骤都能达到 K 集群工具的周期时间。
Theorem 2: If ∩j∈N+n[i]∖{b[i]}[Πi, jL, Πi, jU] = ∅ holds with i ∈ N+K, Algorithm 3 can determine whether a feasible schedule exists. If so, Algorithm 3 finds a schedule that minimizes the total post-processing time. 定理 2:若 ∩j∈N+n[i]∖{b[i]} [Π i, jL , Π i, jU ] = ∅ 在∈ N+K 条件下成立,算法 3 可判定是否存在可行调度。若存在,算法 3 将找到使总后处理时间最小化的调度方案。
Proof: By Lines 1 and 2, we have E = {j| Πi, jU <Θ, j ≠ 0, j ≠ b[i], j ∈ Nn[i]}, F = Nn[i]\E∪{0, b[i]}, and V = E∪F. For j ∈ E, we set ωi, jS = Θ – (αi, j + δi, j + 2λi + ρi). Hence, we have τi, j = Θ – (2λi + ρi + ωi, jS) = αi, j + δi, j. Then, by Line 5, if ∑j∈Eωi,jS ≤ ψi, 2, all steps in E can satisfy the wafer residency time constraints. If ∑j∈Eωi,jS > ψi, 2, ∃i ∈ E such that ωi, jS < Θ – (αi, j + δi, j + 2λi + ρi) holds, which leads to τi, j > αi, j + δi, j. Therefore, tool Ci is not schedulable, which is given by Line 6 in Algorithm 3. 证明:根据第 1 和第 2 行,我们有 E = {| Π i, jU <Θ, ≠ 0, ≠ b[], ∈ N n[i] },F = N n[i] \E∪{0, b[]},以及 V = E∪F。对于∈ E,我们设定ω i, jS = Θ – (α i, j + δ i, j + 2λ + ρ)。因此,我们有τ i, j = Θ – (2λ + ρ + ω i, jS ) = α i, j + δ i, j 。接着,根据第 5 行,如果 ∑j∈Eωi,jS ≤ ψ i, 2 ,E 中的所有步骤都能满足晶圆驻留时间约束。如果 ∑j∈Eωi,jS > ψ i, 2 ,则存在∈ E 使得ω i, jS < Θ – (α i, j + δ i, j + 2λ + ρ)成立,这将导致τ i, j > α i, j + δ i, j 。因此,工具 C 不可调度,这在算法 3 的第 6 行中给出。
By Lines 8 and 9, we have ε = ψi, 2 – ∑j∈Eωi,jS and η = ∑j∈F(Θ – (αi, j + 2λi + ρi)) + ∑j∈Eδi,j. 通过第 8 和第 9 行,我们有 ε = ψ i, 2 – ∑j∈Eωi,jS 以及 η = ∑j∈F( Θ – (α i, j + 2λ + ρ)) + ∑j∈Eδi,j 。
If ε≥ η, then Lines 10−14 present that ωi, jS = Θ – (αi, j + 2λi + ρi), j ∈ V. We have τi, j = Θ – (2λi + ρi + ωi, jS) = αi, j, j ∈ V. The post-processing time at PMi, j is ri, j = τi, j – αi, j = 0 < δi, j, j ∈ V. Thus, ri, j is minimized, and the wafer residency time constraints are satisfied. 若ε≥η,则第 10 至 14 行表明ω i, jS = Θ – (α i, j + 2λ + ρ),∈ V。我们有τ i, j = Θ – (2λ + ρ + ω i, jS ) = α i, j ,∈ V。PM i, j 的后处理时间为 r i, j = τ i, j – α i, j = 0 < δ i, j ,∈ V。因此,r i, j 被最小化,且晶圆停留时间约束得以满足。
If ε < η, we have h = ε – η. By Line 18, Δ = h/|V|. Lines 19−22 show that for j ∈ V, if Δ ≤ Θ – (αi, j + 2λi + ρi + ωi, jS) holds, Step j is put into set A, otherwise, it is put into set B. Lines 24−29 set the post-processing time and robot waiting time at steps in B. 若ε < η,则有 h = ε – η。根据第 18 行,Δ = h/|V|。第 19−22 行表明,对于∈ V,若Δ ≤ Θ – (α i, j + 2λ + ρ + ω i, jS )成立,则将 Step 放入集合 A,否则将其放入集合 B。第 24−29 行设定 B 中步骤的后处理时间和机器人等待时间。
If B ≠ ∅, ri, j = Θ – (αi, j + 2λi + ρi+ ωi, jS) and ωi, jS = 0 for j ∈ B. We have ri, j = Θ – (αi, j + 2λi + ρi + ωi, jS) ≥ Πi, jL – (αi, j + 2λi + ρi+ ωi, jS) = 0 and ri, j = Θ – (αi, j + 2λi + ρi+ ωi, jS) ≤ Πi, jU – (αi, j +2λi +ρi + ωi, jS) = δi, j. Then, h = h– ri, j. Because of Δ = h/|V| and Δ> Θ – (αi, j + 2λi + ρi + ωi, jS), h = Δ|V| > ∑j∈B( Θ – (αi, j + 2λi+ρi + ωi, jS)) holds. Therefore, h > 0 always holds. By Line 29, V = V \ B. 若 B ≠ ∅ ,则 r i, j = Θ – (α i, j + 2λ + ρ + ω i, jS ) 且 ω i, jS = 0 对 ∈ B 成立。我们有 r i, j = Θ – (α i, j + 2λ + ρ + ω i, jS ) ≥ Π i, jL – (α i, j + 2λ + ρ + ω i, jS ) = 0 及 r i, j = Θ – (α i, j + 2λ + ρ + ω i, jS ) ≤ Π i, jU – (α i, j + 2λ + ρ + ω i, jS ) = δ i, j 。于是,h = h – r i, j 。由于 Δ = h/|V| 且 Δ > Θ – (α i, j + 2λ + ρ + ω i, jS ),故 h = Δ|V| > ∑j∈B( Θ – (α i, j + 2λ + ρ + ω i, jS )) 成立。因此,h > 0 恒成立。根据第 29 行,V = V \ B。
If B = ∅, Lines 31−35 set robot waiting time and post-processing time at steps in A. We have ri, j = Δ and ωi, jS = Θ – (αi, j + 2λi + ρi) – ri, j for j ∈ A. Then, ri, j = Δ = h/|V| ≤ Θ – (αi, j + 2λi + ρi + ωi, jS) ≤ Πi, jU – (αi, j + 2λi + ρi+ωi, jS) = δi, j and ri, j > 0 because of ψi, 2 < ε. Since ∑j∈Vωi,jS = ∑j∈V(Θ– (αi, j + 2λi + ρi)) –∑j∈Vri,j = ψi, 2, we have that the value of ψi, 2 has been assigned to ωi, jS’s (j ∈ V), i.e., ∑j∈Vωi,jS is maximized and ∑j∈Vri,j is minimized.■ 若 B = ∅ ,第 31-35 行设定机器人 A 中各步骤的等待时间和后处理时间。我们有 r i, j = Δ 且 ω i, jS = Θ – (α i, j + 2λ + ρ) – r i, j 对于 ∈ A。接着,r i, j = Δ = h/|V| ≤ Θ – (α i, j + 2λ + ρ + ω i, jS ) ≤ Π i, jU – (α i, j + 2λ + ρ + ω i, jS ) = δ i, j 且 r i, j > 0 因 ψ i, 2 < ε。由于 ∑j∈Vωi,jS = ∑j∈V( Θ – (α i, j + 2λ + ρ)) – ∑j∈Vri,j = ψ i, 2 ,我们得出 ψ i, 2 的值已赋给 ω i, jS 的 ( ∈ V),即 ∑j∈Vωi,jS 最大化且 ∑j∈Vri,j 最小化。■
Algorithm 3 deals with the situation ∩j∈N+n[i]∖{b[i]}[Πi, jL, Πi, jU] = ∅, i ∈ N+K, which implies that some steps have a heavier workload than other steps. Given the cycle time of Θ, the robot waiting time is pre-allocated in E and F. Then, check whether a cluster tool is schedulable or not in Line 5. After that, according to the workloads of a robot and processing steps, Lines 10–40 can assign post-processing time evenly which is also minimized. Notice that Condition ∩j∈N+n[i]∖{b[i]}[Πi, jL, Πi, jU] = ∅ for Algorithm 3 indicates that the workloads of the processing steps are significantly unbalanced. That is to say, the processing steps in E are much faster than others and a feasible schedule can be obtained only by carefully setting the robot waiting time at different steps. 算法 3 处理了以下情况: ∩j∈N+n[i]∖{b[i]} [Π i, jL , Π i, jU ] = ∅ , ∈ N+K ,这意味着某些步骤的工作负载比其他步骤更重。在给定周期时间Θ的情况下,机器人的等待时间在 E 和 F 中预先分配。然后,在第 5 行检查集群工具是否可调度。之后,根据机器人和工作步骤的工作负载,第 10-40 行可以均匀且最小化地分配后处理时间。注意,算法 3 的条件 ∩j∈N+n[i]∖{b[i]} [Π i, jL , Π i, jU ] = ∅ 表明处理步骤的工作负载显著不平衡。也就是说,E 中的处理步骤比其他步骤快得多,只有通过仔细设置不同步骤的机器人等待时间才能获得可行的调度。
In Algorithm 3, all the statements make the calculations based on closed-form expressions. The number of iterations in the For-loop of Lines 3 and 4 is no more than n[i]. The number of iterations in the For-loop of Lines 10−30 is no more than (n[i])2. It is obvious that the computational complexity of Algorithm 3 is polynomial. 在算法 3 中,所有语句均基于封闭形式的表达式进行计算。第 3 行和第 4 行的 For 循环迭代次数不超过 n[]。第 10 至 30 行的 For 循环迭代次数不超过(n[]) 2 。显然,算法 3 的计算复杂度是多项式的。
C Post-Processing Time of Two Adjacent Cluster Tools C 相邻簇工具的后处理时间
To keep a high quality of circuit chips on wafers, in real-world production, it is not recommended that the sum of post-processing time ∑j∈N+n[i]∖{b[i]}ri,j in some cluster tools is longer than that in others and in particular, between two adjacent tools, the difference in ∑j∈N+n[i]∖{b[i]}ri,j for them is too large. Consequently, it is necessary to adjust ∑j∈N+n[i]∖{b[i]}ri,j for two adjacent cluster tools. 为保持晶圆上电路芯片的高质量,在实际生产中,不建议某些簇工具的后处理时间总和 ∑j∈N+n[i]∖{b[i]}ri,j 超过其他工具,尤其在相邻两工具间,其 ∑j∈N+n[i]∖{b[i]}ri,j 差异过大。因此,有必要调整相邻两簇工具的 ∑j∈N+n[i]∖{b[i]}ri,j 。
By Algorithms 1−3, ∑j∈N+n[i]∖{b[i]}ri,j for each tool Ci is minimized. Therefore, ∑j∈N+n[i]∖{b[i]}ri,j cannot be reduced anymore. However, we can appropriately increase the sum of post-processing time of a cluster tool to reduce the difference between ∑j∈N+n[i]∖{b[i]}ri,j and ∑j∈N+n[i+1]∖{b[i+1]}ri+1,j, i ∈ N+K−1. 通过算法 1−3,每个工具 C 的 ∑j∈N+n[i]∖{b[i]}ri,j 被最小化。因此, ∑j∈N+n[i]∖{b[i]}ri,j 无法进一步减少。然而,我们可以适当增加簇工具的后处理时间总和,以缩小 ∑j∈N+n[i]∖{b[i]}ri,j 与 ∑j∈N+n[i+1]∖{b[i+1]}ri+1,j 之间的差异,其中∈ N+K−1 。
Let Zi = ∑j∈N+n[i]∖{b[i]}ri,j –∑j∈N+n[i+1]∖{b[i+1]}ri+1,j, i ∈ N+K−1, denote the difference in total post-processing time between two adjacent cluster tools. Table III determines the cluster tools whose ∑j∈N+n[i]∖{b[i]}ri,j, i ∈ N+K, should be increased. 设 Z = ∑j∈N+n[i]∖{b[i]}ri,j – ∑j∈N+n[i+1]∖{b[i+1]}ri+1,j ,∈ N+K−1 ,表示相邻两台簇工具之间总后处理时间的差异。表 III 确定了应增加其 ∑j∈N+n[i]∖{b[i]}ri,j ,∈ N+K 的簇工具。
III
Table III 表三Conditions for Adjusting Post-Processing Time in a Tool 调整工具后处理时间的条件
Reducing the robot waiting time for an individual tool at some processing steps leads to an increase in its robot waiting time at LLs and BMs. As a result, its post-processing time is also increased. During such an adjustment for robot waiting time, (15)−(17) should be satisfied. It is known that Algorithms 2 and 3 determine the post-processing time ri, j, which should now be adjusted. After ri, j is adjusted, its new value is denoted by r′i, j. Let υi = ∑j∈N+n[i]∖{b[i]}r′i,j – ∑j∈N+n[i]∖{b[i]}ri,j be an increment in post-processing time. Let υi ∈ [0, γi], i ∈ N+K, where γi is the upper bound of υi. To find each minimum υi, i ∈ N+K, a linear programming model is given as follows. 在某些加工步骤中减少机器人对单个工具的等待时间,会导致其在 LLs 和 BMs 处的机器人等待时间增加,从而也延长了后续处理时间。在进行此类机器人等待时间调整时,需满足(15)−(17)条件。已知算法 2 和算法 3 决定了后续处理时间 r i, j ,现需对其进行调整。调整后的 r i, j 新值记为 r′ i, j 。设υ = ∑j∈N+n[i]∖{b[i]}r′i,j – ∑j∈N+n[i]∖{b[i]}ri,j 为后续处理时间的增量,且υ ∈ [0, γ],其中γ为υ的上限。为求得每个最小υ,建立如下线性规划模型。
The above LPM can get the maximum γi. In LPM, (18) indicates that there should be enough robot idle time at the processing steps to be moved to be a part of ri, j. Inequalities in (18) make sure that a part of robot idle time can be moved from ωi, jS’s (j ∈Nn[i]\{0, b[i]}) to ωi, j’s (j ∈ {0, b[i]}). 上述 LPM 可获得最大γ。在 LPM 中,(18)表明在处理步骤中应有足够的机器人空闲时间,以便移动成为 r i, j 的一部分。(18)中的不等式确保了机器人空闲时间的一部分可以从ω i, jS (∈N n[i] \{0, b[]})移动到ω i, j (∈{0, b[]})。
Inequalities (19)−(21) indicate that the increased post-processing time should satisfy (16) and (17). By (17), we have τ(i+1), 0≥ 2λi + ρi + ωi, b[i]S. While adjusting the waiting time of R1, we need to make (17) hold, leading to that τ2,0≥ (2λ1 + ρ1 + ω1, b[1]S) holds. Note that λ1 and ρ1 are constant, and τ2,0 is unchanged when a schedule is given by Algorithm 1. Let χ denote the increment in ω1, b[1]S. Then, we have τ2,0≥ (2λ1 + ρ1 + ω1, b[1]S + χ). Thus, τ2,0 − (2λ1 + ρ1+ω1, b[1]S) ≥ χ = γ1. Similarly, we can get (21) for CK. 不等式(19)−(21)表明,增加的后处理时间应满足(16)和(17)。根据(17),我们有τ (i+1), 0 ≥ 2λ + ρ + ω i, b[i]S 。在调整 R 1 的等待时间时,需确保(17)成立,从而得出τ 2,0 ≥ (2λ 1 + ρ 1 + ω 1, b[1]S )。注意,λ 1 和ρ 1 是常数,且当调度由算法 1 给出时,τ 2,0 保持不变。设χ表示ω 1, b[1]S 的增量。于是,我们有τ 2,0 ≥ (2λ 1 + ρ 1 + ω 1, b[1]S + χ)。因此,τ 2,0 − (2λ 1 + ρ 1 + ω 1, b[1]S ) ≥ χ = γ 1 。类似地,我们可以得到 C K 的(21)。
While adjusting the waiting time of Ri, 2 ≤ i ≤ K – 1, we should make (16) and (17) hold for the adjacent cluster tools. Thus, τ(i – 1), b[i]≥ (2λi + ρi + ωi, 0S) and τ(i + 1), 0≥ (2λi + ρi + ωi, b[i]S) hold. λi and ρi are constants, and τ(i–1), b[i] and τ(i+1), 0 are unchanged when a schedule is given by Algorithm 1. Let χ1 and χ2 denote the increments in ωi, 0S and ωi, b[i]S, respectively. Then, we have τ(i – 1), b[i]≥ (2λi + ρi + ωi, 0S+χ1) and τ(i+1), 0≥ (2λi + ρi + ωi, b[i]S + χ2). Thus, (τ(i – 1), b[i] – (2λi + ρi + ωi, 0S)) + (τ(i + 1), 0 – (2λi + ρi + ωi, b[i]S)) ≥ χ1 + χ2 = γi. 在调整 R 的等待时间时,2 ≤ ≤ K – 1,我们应确保相邻簇工具满足(16)和(17)式。因此,τ (i – 1), b[i] ≥ (2λ + ρ + ω i, 0S ) 和 τ (i + 1), 0 ≥ (2λ + ρ + ω i, b[i]S ) 成立。λ 和 ρ 为常数,且当算法 1 给定调度时,τ (i–1), b[i] 和 τ (i+1), 0 保持不变。令 χ 1 和 χ 2 分别表示 ω i, 0S 和 ω i, b[i]S 的增量。于是,我们有 τ (i – 1), b[i] ≥ (2λ + ρ + ω i, 0S + χ 1 ) 和 τ (i+1), 0 ≥ (2λ + ρ + ω i, b[i]S + χ 2 )。因此,(τ (i – 1), b[i] – (2λ + ρ + ω i, 0S )) + (τ (i + 1), 0 – (2λ + ρ + ω i, b[i]S )) ≥ χ 1 + χ 2 = γ。
Inequalities (22)−(25) mean that the increased post-processing time cannot exceed the difference between the adjacent cluster tools. Obviously, the increased post-processing time should satisfy (26) and an efficient adjustment on post-processing time ranges from 0 to γi. After γi is determined by LPM, the increment in post-processing time υi ∈ [0, γi] can be given according to a real-world production scenario. 不等式(22)−(25)意味着增加的后处理时间不能超过相邻簇工具之间的差异。显然,增加的后处理时间应满足(26),且高效调整的后处理时间范围在 0 到γ之间。在 LPM 确定γ后,根据实际生产场景,后处理时间的增量υ ∈ [0, γ]即可给出。
Algorithm 4. Adjusting Post-Processing Time for C 算法 4. 调整 C 的后处理时间i
Input: υ 输入:υi
Output: ωi, j, ωi, jS, ri, j 输出: ω i, j , ω i, jS , r i, j
1: V← Nn[i] \ {0, b[i]}, M← ∅
2: Forj ∈Vdo 2: 对于 ∈V 执行
3: If Πi, jU < Θ ThenM←M∪{j} 3: 若 Π i, jU < Θ 则 M←M ∪ {}
4: EndIf 4: 结束如果
5: EndFor 5: 结束循环
6: ωi, j←ωi, j +υi /|V| for j ∈V 6: ω i, j ←ω i, j +υ /|V| 对于 ∈V
7: WhileV ≠ ∅Then 7: 当 V ≠ ∅ 时
8: Δ←υi /|V|, A← ∅, B← ∅
9: Forj ∈ Vdo 9: 对于 ∈ V 执行
10: Ifj ∈ MThen 10: 如果 ∈ M 那么
11: If Δ ≤ Πi, jU – Πi, jL – ri, jthenA←A∪{j} 11: 若 Δ ≤ Π i, jU – Π i, jL – r i, j ,则 A ← A ∪ {}
12: ElseB ←B∪{j}
13: EndIf 13: 结束判断
14: Else 14: 其他
15: If Δ ≤ ωi, jSthenA←A∪{j} 15: 若 Δ ≤ ω i, jS ,则 A←A ∪ {}
Table III determines a set of tools, denoted by C_A in which post-processing time should be adjusted. LPM gives the adjusted value υi for the post-processing time in Ci ∈ C_A. Then, Algorithm 4 calculates the post-processing time adjustment for Ci ∈ C_A. 表 III 确定了一组工具,记为 C_A,其中后处理时间应进行调整。LPM 给出了 C ∈ C_A 中后处理时间的调整值υ。然后,算法 4 计算 C ∈ C_A 的后处理时间调整。
Theorem 3: For ∀υi ∈ [0, γi], Algorithm 4 can find an efficient schedule, which balances the post-processing time between a pair of adjacent cluster tools. 定理 3:对于∀υ ∈ [0, γ],算法 4 能够找到一个有效的调度方案,该方案能平衡一对相邻簇工具之间的后处理时间。
Proof: By Table III, we determine the robots’ waiting time that should be adjusted. By LPM, we find the maximum value γi that is set for a certain cluster tool. υi ranges from 0 to γi, and obviously a schedule can still be obtained. Then, when we balance the post-processing time of adjacent tools, we ensure that the difference in post-processing time at each processing step in the cluster tool remains unchanged. 证明:根据表 III,我们确定了需要调整的机器人等待时间。通过 LPM,我们找到了为某个簇工具设定的最大值γ。υ的范围从 0 到γ,显然仍可获得一个调度。然后,在平衡相邻工具的后处理时间时,我们确保簇工具中每个加工步骤的后处理时间差保持不变。
By Lines 1 and 3 of Algorithm 4, we have V = {j | j ≠ 0 and j ≠ b[i], j ∈ Nn[i]} and M = {j | Πi, jU <Θ, j ∈ V}. For j ∈ V, we set ωi, j = ωi, j + υi/|V| in Line 6. Then, Lines 7−35 present the specific adjustment operations for each processing module. By Lines 8, 23 and 31, Δ = υi/|V| means that the post-processing time at a processing step is increased. 根据算法 4 的第 1 行和第 3 行,我们有 V = { | ≠ 0 且≠ b[],∈ N n[i] } 和 M = { | Π i, jU <Θ,∈ V}。对于∈ V,我们在第 6 行设置 ω i, j = ω i, j + υ/|V|。接着,第 7−35 行展示了每个处理模块的具体调整操作。根据第 8、23 和 31 行,Δ = υ/|V| 意味着处理步骤的后处理时间增加。
For j ∈ V, when j ∈ M, if Step j satisfies Δ ≤ Πi, jU – Πi, jL – ri, j, it is put into set A, otherwise, it is put into set B. Lines 15 and 16 indicate that when j ∈ V \ M, if Step j satisfies Δ ≤ ωi, jS, it is put into set A, otherwise, it is put into set B. If B ≠ ∅, Lines 20−28 present the adjustment of post-processing time for step j ∈ B as follows: 对于∈ V,当∈ M 时,若步骤满足Δ ≤ Π i, jU – Π i, jL – r i, j ,则将其放入集合 A,否则放入集合 B。第 15 和 16 行表明,当∈ V \ M 时,若步骤满足Δ ≤ ω i, jS ,则将其放入集合 A,否则放入集合 B。若 B ≠ ∅ ,第 20−28 行给出了对步骤∈ B 的后处理时间调整如下:
1) If j ∈ M, we have υi = υi – (Πi, jU – Πi, jL – ri, j), ri, j = Πi, jU – Πi, jL, and ωi, jS = Θ – Πi, jU, and 1) 若 ∈ M,则有 υ = υ – (Π i, jU – Π i, jL – r i, j ),r i, j = Π i, jU – Π i, jL ,且 ω i, jS = Θ – Π i, jU ,
2) if j ∈ B \ M, we have υi = υi – ωi, jS, ri, j = Θ – Πi, jL, ωi, jS = 0. Lines 30−33 present the adjustment of post-processing time for step j ∈ A, i.e., when B = ∅, we have ri, j = Δ + ri, j, ωi, jS = Θ – (αi, j + 2λi + ρi) – ri, j. 2) 若 ∈ B \ M,则有 υ = υ – ω i, jS , r i, j = Θ – Π i, jL , ω i, jS = 0。第 30 至 33 行展示了针对步骤 ∈ A 的后处理时间的调整,即当 B = ∅ 时,有 r i, j = Δ + r i, j , ω i, jS = Θ – (α i, j + 2λ + ρ) – r i, j 。
So far, we have carried out the adjustment of post-processing time for tool Ci. The wafer post-processing time in Ci increases so that |Zi–1| and |Zi| become smaller. Zi = ∑j∈N+n[i]∖{b[i]}ri,j – ∑j∈N+n[i+1]∖{b[i+1]}ri+1,j, i ∈ N+K−1, means the difference in post-processing time between two adjacent cluster tools. The smaller the value of |Zi| is, the smaller the post-processing time difference between two adjacent cluster tools becomes. Thus, the wafer post-processing time in adjacent cluster tools is balanced as well as possible.■ 到目前为止,我们已经对工具 C 的后处理时间进行了调整。C 中的晶圆后处理时间增加,使得|Z i–1 |和|Z|变小。Z = ∑j∈N+n[i]∖{b[i]}ri,j – ∑j∈N+n[i+1]∖{b[i+1]}ri+1,j , ∈ N+K−1 , 表示两个相邻集群工具之间后处理时间的差异。|Z|的值越小,两个相邻集群工具之间的后处理时间差异就越小。因此,相邻集群工具中的晶圆后处理时间尽可能地得到了平衡。■
Algorithm 4 makes calculations based on closed-form expressions. The number of iterations in the For-loop of Lines 2−5 and Line 6 is no more than n[i]. The number of iterations in the For-loop of Lines 7−35 is no more than (n[i])2. Thus, the computational complexity of Algorithm 4 is polynomial. 算法 4 基于封闭形式的表达式进行计算。第 2−5 行和第 6 行的 For 循环的迭代次数不超过 n[]。第 7−35 行的 For 循环的迭代次数不超过(n[]) 2 。因此,算法 4 的计算复杂度是多项式的。
D Algorithm Analysis D 算法分析
Algorithm 1 decides whether a K-cluster tool is schedulable; if so, then Algorithm 1 checks the case that each tool belongs to, and calls Algorithms 2 or 3 to calculate the robot waiting time. By doing so, a schedule can be found to reach the optimal cycle time of a K-cluster tool and minimize the total post-processing time. Upon such an initial schedule solution, Table III determines the robot waiting time to be adjusted for cluster tools. LPM, Table III, and Algorithm 4 can well balance the post-processing time difference between adjacent cluster tools. 算法 1 用于判定一个 K 集群工具是否可调度;若可调度,则算法 1 进一步判断各工具所属情况,并调用算法 2 或算法 3 计算机器人等待时间。通过此过程,可找到实现 K 集群工具最佳周期时间并最小化总后处理时间的调度方案。基于此初始调度方案,表 III 确定了需调整的集群工具机器人等待时间。LPM、表 III 及算法 4 能有效平衡相邻集群工具间的后处理时间差异。
As aforementioned, the computational complexity of Algorithms 2–4 is O((n[i])2). Let e = maxi∈N+Kn[i]. Then, by the “For loop” in Lines 4–19 of Algorithm 1, the number of calculations for ωi, jS and ωi, j depends on the total number of processing modules in a K-cluster tool, which is no more than ∑Ki=1e2 = e2 × K. Notice that e is a small constant and is no more than six. Overall, the computational complexity of Algorithms 1−4 is polynomial. 如前所述,算法 2 至 4 的计算复杂度为 O((n[]) 2 )。设 e = maxi∈N+Kn[i] 。然后,根据算法 1 中第 4 至 19 行的“For 循环”,ω i, jS 和 ω i, j 的计算次数取决于 K 簇工具中处理模块的总数,该总数不超过 ∑Ki=1e2 = e 2 × K。注意,e 是一个小常数,且不超过六。总体而言,算法 1 至 4 的计算复杂度是多项式的。
By (4), (10) and (12), the cycle time of this four-cluster tool is Θ = 63. By Algorithm 1, we have 根据(4)、(10)和(12),该四簇工具的循环时间为Θ = 63。通过算法 1,我们得到
1) For C1, ψ1,1 ≤ Θ and Θ ≤ Π1, jU, j ∈ N+n[1]\{b[1]}, are satisfied and Algorithm 2 is applied; 1) 对于 C 1 ,满足 ψ 1,1 ≤ Θ 且 Θ ≤ Π 1, jU ,∈ N+n[1] \{b[1]},并应用算法 2;
2) For C2, ψ2,1 ≤ Θ and Θ ≤ Π2, jU, j ∈N+n[2]\{b[2]}, are satisfied and Algorithm 2 is also applied; 2) 对于 C 2 ,满足 ψ 2,1 ≤ Θ 且 Θ ≤ Π 2, jU ,∈ N+n[2] \{b[2]},并且也应用了算法 2;
3) For C3, [Π3,1L, Π3,1U] ∩ [Π3,3L, Π3,3U] ∩ [Π3,4L, Π3,4U] = ∅ is satisfied and Algorithm 3 is applied; and 3) 对于 C 3 ,满足 [Π 3,1L , Π 3,1U ] ∩ [Π 3,3L , Π 3,3U ] ∩ [Π 3,4L , Π 3,4U ] = ∅ ,并应用算法 3;且
For C2, by Algorithm 2, ε = 43 satisfies ψi, 2 = 23 < ε. Obviously, by Δ and Θ – (α2, j +2λ2 + 3ρ2) for j ∈ {1, 3, 4} we have A = {1, 3} and B = {4}. Let r2,4 = Θ – (α2,4 +3λ2 + ρ2). Then, V = V\B, we have (ω2,0S, ω2,1S, ω2,2S, ω2,3S, ω2,4S) = (0, 11, 0, 12, 0), (ω2,0, ω2,1, ω2,2, ω2,3, ω2,4) = (0, 0, 0, 0, 0), and (r2,1, r2,3, r2,4) = (8, 8, 4). 对于 C 2 ,根据算法 2,ε = 43 满足 ψ i, 2 = 23 < ε。显然,通过 Δ 和 Θ – (α 2, j +2λ 2 + 3ρ 2 ) 对于 ∈ {1, 3, 4},我们有 A = {1, 3} 和 B = {4}。设 r 2,4 = Θ – (α 2,4 +3λ 2 + ρ 2 )。然后,V = V\B,我们有 (ω 2,0S , ω 2,1S , ω 2,2S , ω 2,3S , ω 2,4S ) = (0, 11, 0, 12, 0), (ω 2,0 , ω 2,1 , ω 2,2 , ω 2,3 , ω 2,4 ) = (0, 0, 0, 0, 0),以及 (r 2,1 , r 2,3 , r 2,4 ) = (8, 8, 4)。
For C3, by Algorithm 3, E = {4} and F = {1, 3}, and V = {1, 3, 4}. By Lines 3 and 4, the waiting time can be set as (ω3,1S, ω3,3S, ω3,4S) = (0, 0, 3). Then, we have ε = 20 > η = 17. Thus, we have (ω3,0S, ω3,1S, ω3,2S, ω3,3S, ω3,4S) = (0, 0, 0, 1, 19), (ω3,0, ω3,1, ω3,2, ω3,3, ω3,4) = (0, 1, 0, 1, 1), and (r3,1, r3,3, r3,4) = (0, 0, 0). 对于 C 3 ,根据算法 3,E = {4} 且 F = {1, 3},V = {1, 3, 4}。根据第 3 和第 4 行,等待时间可设为 (ω 3,1S , ω 3,3S , ω 3,4S ) = (0, 0, 3)。于是,我们有 ε = 20 > η = 17。因此,得到 (ω 3,0S , ω 3,1S , ω 3,2S , ω 3,3S , ω 3,4S ) = (0, 0, 0, 1, 19),(ω 3,0 , ω 3,1 , ω 3,2 , ω 3,3 , ω 3,4 ) = (0, 1, 0, 1, 1),以及 (r 3,1 , r 3,3 , r 3,4 ) = (0, 0, 0)。
For C4, by Algorithm 3, E = {3, 4} and F = {1, 2}, and V = {1, 2, 3, 4}. By Lines 3 and 4, the waiting time can be set as (ω4,1S, ω4,2S, ω4,3S, ω4,4S) = (0, 0, 3, 10). Then, we have ε = 10 < η = 34. Obviously, by Δ and Θ – (α4, j + 2λ4 + ρ4) for j ∈ {1, 2, 3, 4}, we have A = {2, 3, 4} and B = {1}. Let r4, j = Θ – (α4, j +4λ4 + ρ4) for j ∈ B. Then, V = V\B, we have (ω4,0S, ω4,1S, ω4,2S, ω4,3S, ω4,4S) = (0, 0, 1, 6, 16), (ω4,0, ω4,1, ω4,2, ω4,3, ω4,4) = (0, 0, 0, 0, 0), and (r4,1, r4,2, r4,3, r4,4) = (3, 7, 7, 7). 对于 C 4 ,通过算法 3,E = {3, 4} 且 F = {1, 2},V = {1, 2, 3, 4}。根据第 3 和第 4 行,等待时间可设为 (ω 4,1S , ω 4,2S , ω 4,3S , ω 4,4S ) = (0, 0, 3, 10)。于是,我们有 ε = 10 < η = 34。显然,通过 Δ 和 Θ – (α 4, j + 2λ 4 + ρ 4 ) 对于 ∈ {1, 2, 3, 4},我们得到 A = {2, 3, 4} 和 B = {1}。令 r 4, j = Θ – (α 4, j + 4λ 4 + ρ 4 ) 对于 ∈ B。然后,V = V\B,我们得到 (ω 4,0S , ω 4,1S , ω 4,2S , ω 4,3S , ω 4,4S ) = (0, 0, 1, 6, 16),(ω 4,0 , ω 4,1 , ω 4,2 , ω 4,3 , ω 4,4 ) = (0, 0, 0, 0, 0),以及 (r 4,1 , r 4,2 , r 4,3 , r 4,4 ) = (3, 7, 7, 7)。
By Table II, we know that the post-processing time should be adjusted for C1 and C3. By LPM, we have γ1 = 20 and γ3 = 20. Then, we have υ1 ∈ [0, 20] and υ3 ∈ [0, 20]. Assume that the post-processing time difference between adjacent tools of this multi-cluster tool cannot exceed 16. Then, we let υ1 = 6 and υ3 = 6. By Algorithm 4, (ω1, 0S, ω1, 1S, ω1, 2S, ω1, 3S, ω1, 4S) = (0, 8, 0, 5, 3), (ω1,0, ω2,1, ω2,2, ω2,3, ω2,4) = (0, 3,0, 3, 3), (r1,1, r1,3, r1,4) = (2, 2, 2), (ω3,0S, ω3,1S, ω3,2S, ω3,3S, ω3,4S) = (0, 0, 0, 0, 14), (ω3,0, ω3,1, ω3,2, ω3,3, ω3,4) = (0, 3,0, 3, 3), and (r3,1, r3,3, r3,4) = (2, 2, 2). It can be found that τi, j ∈ [αi, j, αi, j + δi, j], i ∈ N+K holds. 根据表 II,我们知道需要调整 C 1 和 C 3 的后处理时间。通过 LPM,我们得到γ 1 = 20 和γ 3 = 20。于是,我们有υ 1 ∈ [0, 20]和υ 3 ∈ [0, 20]。假设此多集群工具相邻工具之间的后处理时间差不能超过 16。然后,我们设υ 1 = 6 和υ 3 = 6。根据算法 4,(ω 1, 0S , ω 1, 1S , ω 1, 2S , ω 1, 3S , ω 1, 4S ) = (0, 8, 0, 5, 3), (ω 1,0 , ω 2,1 , ω 2,2 , ω 2,3 , ω 2,4 ) = (0, 3, 0, 3, 3), (r 1,1 , r 1,3 , r 1,4 ) = (2, 2, 2), (ω 3,0S , ω 3,1S , ω 3,2S , ω 3,3S , ω 3,4S ) = (0, 0, 0, 0, 14), (ω 3,0 , ω 3,1 , ω 3,2 , ω 3,3 , ω 3,4 ) = (0, 3, 0, 3, 3), 以及 (r 3,1 , r 3,3 , r 3,4 ) = (2, 2, 2)。可以发现,τ i, j ∈ [α i, j , α i, j + δ i, j ], ∈ N+K 成立。
After the post-processing time is adjusted, the Gantt chart for this schedule is shown in Fig. 2. The horizontal axis represents time and each horizontal lane marks the activities performed at a PM, which is drawn in different colors. Vertical axis represents different PMs. In each horizontal lane of a PM, let yellow stand for a wafer being processed, blue for a robot’s moving, red for a wafer that is waiting to be unloaded after its processing, green for a robot’s unloading a processed wafer, brown for a robot’s rotation, a white bar for a PM being idle, and dark blue for a robot’s loading a wafer. 调整后处理时间后,该计划的甘特图如图 2 所示。横轴表示时间,每个水平轨道标记在PM执行的活动,以不同颜色绘制。纵轴代表不同的 PMs。在每个PM的水平轨道中,黄色表示晶圆正在处理,蓝色表示机器人移动,红色表示处理后等待卸载的晶圆,绿色表示机器人卸载已处理晶圆,棕色表示机器人旋转,白色条表示PM空闲,深蓝色表示机器人加载晶圆。
View
Download
查看下载
Figure 2 图 2
Gantt chart for the schedule in Example 1 (a four-cluster tool) 示例 1 中进度计划的甘特图(四簇工具)
Fig. 2 shows that the post-processing time marked with red is short and the differences among the post-processing time marked by red bars are small. In Fig. 2, we use arrows to illustrate the operation routes of robots. 图 2 显示,红色标记的后处理时间较短,且红色条形标记的后处理时间差异较小。在图 2 中,我们使用箭头来说明机器人的操作路径。
The algorithms in [24] give a schedule by setting the following robot waiting time: [24]中的算法通过设定以下机器人等待时间来给出调度方案:
Let ri, jmax and ri, jmin denote the maximum ri, j and minimum ri, j in Ci, respectively. Obviously, we can get 设 r i, jmax 和 r i, jmin 分别表示 C 中的最大值 r i, j 和最小值 r i, j 。显然,我们可以得到
∑j∈N+n[i]∖{b[i]}ri,j < ∑j∈N+n[i]∖{b[i]}r′i,j, i ∈ N+4, and ∑4i=1∑j∈N+n[i]∖{b[i]}ri,j = 56, ∑4i=1∑j∈N+n[i]∖{b[i]}r′i,j = 116. Thus, the total post-processing time of this four-cluster tool is decreased by 51.7%. Furthermore, we have the following results. ∑j∈N+n[i]∖{b[i]}ri,j < ∑j∈N+n[i]∖{b[i]}r′i,j ,∈ N+4 ,且 ∑4i=1∑j∈N+n[i]∖{b[i]}ri,j = 56, ∑4i=1∑j∈N+n[i]∖{b[i]}r′i,j = 116。因此,该四集群工具的后处理时间减少了 51.7%。此外,我们得到以下结果。
1) |ri, jmax − ri, fmin| < |r′i, jmax− r′i, fmin|, i ∈ N+4, j ≠ f, {j,f}∈N+n[i]∖{b[i]}; and 1) |r i, jmax − r i, fmin | < |r′ i, jmax − r′ i, fmin |, ∈ N+4 , ≠ f, {j,f}∈N+n[i]∖{b[i]} ; 且
2) |Zi| < |Z′i|, i ∈ N+4.
Example 2: In a two-cluster tool, PM1,0 is LLs. PM2,0, and PM1,2 are BMs. The time unit is second and omitted hereafter. For C1, we have (α1,0, α1,1, α1,2, α1,3, α1,4; λ1, μ1, ρ1) = (0, 22, 0, 25, 27; 1, 1, 1); for C2, we have (α2,0, α2,1, α2,2, α2,3, α2,4; λ2, μ2, ρ2) = (0, 32, 27, 23, 25; 1, 1, 1). The wafer processing route is LLs→ PM1,0 → PM1,1 → PM1,2 (PM2,0) → PM2,1 → PM2,2 → PM2,3 → PM2,4 → PM2,0 (PM1,2) → PM1,3 → PM1,4 → LLs. After being processed, a wafer can stay at PMi, j for no more than δ1,1 = δ1,3 =δ1,4 = δ2,1 = δ2,2 = δ2,3 = δ2,4 = 10, respectively. There are no wafer residency time constraints at LLs and BMs. 示例 2:在双簇工具中,PM 1,0 是 LLs,PM 2,0 和 PM 1,2 是 BMs。时间单位为秒,后续省略。对于 C 1 ,我们有 (α 1,0 , α 1,1 , α 1,2 , α 1,3 , α 1,4 ; λ 1 , μ 1 , ρ 1 ) = (0, 22, 0, 25, 27; 1, 1, 1);对于 C 2 ,我们有 (α 2,0 , α 2,1 , α 2,2 , α 2,3 , α 2,4 ; λ 2 , μ 2 , ρ 2 ) = (0, 32, 27, 23, 25; 1, 1, 1)。晶圆加工路线为 LLs→ PM 1,0 → PM 1,1 → PM 1,2 (PM 2,0 ) → PM 2,1 → PM 2,2 → PM 2,3 → PM 2,4 → PM 2,0 (PM 1,2 ) → PM 1,3 → PM 1,4 → LLs。加工后,晶圆在 PM i, j 停留时间分别不超过 δ 1,1 = δ 1,3 =δ 1,4 = δ 2,1 = δ 2,2 = δ 2,3 = δ 2,4 = 10。LLs 和 BMs 处无晶圆停留时间限制。
By (4), (10) and (12), the cycle time of this two-cluster tool is Θ = 35. By Algorithm 1, we have 根据(4)、(10)和(12),该双簇工具的周期时间为Θ = 35。通过算法 1,我们有
1) For C1, ψ1,1 ≤ Θ and Θ ≤ Π1, jU, j ∈ N+n[1]\{b[1]}, are satisfied and Algorithm 2 is applied; 1) 对于 C 1 ,满足 ψ 1,1 ≤ Θ 且 Θ ≤ Π 1, jU ,∈ N+n[1] \{b[1]},并应用算法 2;
2) For C2, ψ2,1 ≤ Θ and Θ ≤ Π2, jU, j ∈ N+n[2], are satisfied and Algorithm 2 is also applied. 2) 对于 C 2 ,满足 ψ 2,1 ≤ Θ 且 Θ ≤ Π 2, jU ,∈ N+n[2] ,并且也应用了算法 2。
Fig. 3 shows that the post-processing time marked with red is short and the post-processing time difference between the adjacent tools marked by red bars is small. In Fig. 3, we use arrows to illustrate the operation routes of robots. 图 3 显示,红色标记的后处理时间较短,且红色柱状图表示的相邻工具间的后处理时间差异较小。在图 3 中,我们使用箭头来描绘机器人的操作路径。
View
Download
查看下载
Figure 3 图 3
Gantt chart for the schedule in Example 2 (a two-cluster tool) 示例 2 中时间表的甘特图(双簇工具)
The algorithms in [24] give a schedule by setting the following robot waiting time: [24]中的算法通过设定以下机器人等待时间来给出调度方案:
∑j∈N+n[i]∖{b[i]}ri,j < ∑j∈N+n[i]∖{b[i]}r′i,j, i ∈ N+2
∑2i=1∑j∈N+n[i]∖{b[i]}ri,j = 12, ∑2i=1∑j∈N+n[i]∖{b[i]}r′i,j = 43. Thus, the total post-processing time of this four-cluster tool is decreased by 72.0%. Furthermore, we have the following results. ∑2i=1∑j∈N+n[i]∖{b[i]}ri,j = 12, ∑2i=1∑j∈N+n[i]∖{b[i]}r′i,j = 43。因此,该四集群工具的后处理时间减少了 72.0%。此外,我们得到以下结果。
1) |ri, jmax − ri, fmin| < |r′i, jmax − r′i, fmin|, i ∈ N+2, j ≠ f, {j,f}∈N+n[i]∖{b[i]}; and 1) |r i, jmax − r i, fmin | < |r′ i, jmax − r′ i, fmin |, ∈ N+2 , ≠ f, {j,f}∈N+n[i]∖{b[i]} ; 且
2) |Zi| < |Z′i|, i ∈ N+2.
The results of the above examples have been shown as bar graphs in Figs. 4 and 5. It is obvious that the total post-processing time and the post-processing time difference between different steps are significantly less for Ci than that for Ci′. Compared with the schedule obtained by [24], the obtained schedule by the proposed method achieves the following goals. 上述示例的结果已以柱状图形式展示在图 4 和图 5 中。显而易见,C 的总后处理时间以及不同步骤间的后处理时间差异均显著小于 C′。相较于[24]所获得的调度方案,本文提出的方法所获调度方案实现了以下目标。
View
Download
查看下载
Figure 4 图 4
Comparison for Example 1. 示例 1 的比较。
View
Download
查看下载
Figure 5 图 5
Comparison for Example 2. 示例 2 的比较。
1) Minimize ∑j∈N+n[i]∖{b[i]}ri,j for Ci, i ∈ N+K; 1) 最小化 ∑j∈N+n[i]∖{b[i]}ri,j 对于 C, ∈ N+K ;
2) Balance the difference in post-processing time among PSi, j, j ∈ Nn[i]\ {0, b[i]}; and 2) 平衡 PS i, j , ∈ N n[i] \ {0, b[]}之间的后处理时间差异;
3) Balance the post-processing time difference between adjacent cluster tools. 3) 平衡相邻簇工具之间的后处理时间差异。
V Conclusion
五 结论
Multi-cluster tools are widely used in wafer manufacturing in the semiconductor manufacturing industry due to their high efficiency. In order to load/unload wafers according to the wafer route, proper cooperation between the robots of each cluster tool is demanded. Furthermore, after a wafer is processed in a processing module, the robot is scheduled to unload it timely because the decreasing narrow circuit width demands limit the post-processing time. This study finds an optimal schedule for a multi-cluster tool to minimize the wafer post-processing time. Besides, we make efforts to avoid uneven post-processing time among the processing steps. The proposed method can handle the case where the difference in post-processing time between two adjacent cluster tools is large. The method can greatly lead to high-yield and high-quality integrated-circuit chips on a wafer. 多集群工具因高效性在半导体制造行业的晶圆生产中得到广泛应用。为了按照晶圆路径进行装载/卸载操作,各集群工具的机器人之间需进行恰当协作。此外,晶圆在处理模块中加工后,机器人需及时调度以卸载晶圆,因为日益缩小的电路宽度对后处理时间提出了严格限制。本研究旨在为多集群工具找到一种最优调度方案,以最小化晶圆后处理时间。同时,我们努力避免各处理步骤间后处理时间的不均衡。所提出的方法能够应对相邻两集群工具间后处理时间差异较大的情况。该方法有望大幅提升晶圆上集成电路芯片的产量与质量。
In future work, we will investigate how to regulate the wafer post-processing time for a multi-cluster tool when its processing time is disturbed. 在未来的工作中,我们将研究如何在多集群工具的加工时间受到干扰时,调整晶圆的后处理时间。
A four-cluster tool. LLs are viewed as PM1,0; PMi,0 with i > 1 denotes a buffering module.
View
Download
Figure 2
Gantt chart for the schedule in Example 1 (a four-cluster tool)
View
Download
Figure 3
Gantt chart for the schedule in Example 2 (a two-cluster tool)
View
Download
Figure 4
Comparison for Example 1.
View
Download
Figure 5
Comparison for Example 2.
Table I Symbols for Timeliness Analysis
Symbol
Meaning
Nq
= {0, 1, 2, 3, …, q}, where q is a positive integer.
N+q
= {1, 2, 3, …, q}.
Ci
The ith cluster tool.
Ri
The robot in Ci.
PMi, j
The jth process module in Ci.
n[i]
The index of the last step in Ci.
b[i]
Index of the buffering step in Ci.
λi
Time taken by Ri for unloading/loading a wafer.
μi
Time taken by Ri for moving from one PM to another.
ρi
Time taken by Ri’s rotation.
αij
The time of processing a wafer at PMi, j.
θi, j
Cycle time of PMi, j.
δi, j
The permissive longest time for a wafer to stay at PMi, j after its processing.
ξi, j
The time needed for completing a wafer at PMi, j.
Πi, jL
The lower bound of θi, j.
Πi, jU
The upper bound of θi, j.
Θi
The cycle time of Ci.
Θ
The cycle time of a K-cluster tool.
ψi
Robot Ri’s cycle time.
Table II Decision Variables and Their Associated Variables
Symbol
Meaning
ωi, j
Ri’s waiting time before unloading a wafer from PMi, j.
ωi, jS
Ri’s waiting time before loading a wafer into PMi, j.
τi, j
Wafer sojourn time at PMi, j.
ri, j
The post-processing time of a wafer at PMi, j.
Table III Conditions for Adjusting Post-Processing Time in a Tool
Zi–1 > 0
Zi > 0
Zi+1 > 0
Operation
False
False
False
Increase ∑j∈N+n[i]∖{b[i]}ri,j
False
False
True
Increase ∑j∈N+n[i]∖{b[i]}ri,j
False
True
False
Unchanged
False
True
True
Unchanged
True
False
False
Increase ∑j∈N+n[i]∖{b[i]}ri,j
True
False
True
Increase ∑j∈N+n[i]∖{b[i]}ri,j
True
True
False
Increase ∑j∈N+n[i]∖{b[i]}ri,j
True
True
True
Increase ∑j∈N+n[i]∖{b[i]}ri,j
×
True
True
Unchanged
×
True
False
Unchanged
×
False
True
Increase ∑j∈N+n[i]∖{b[i]}ri,j
×
False
False
Increase ∑j∈N+n[i]∖{b[i]}ri,j
False
False
×
Increase ∑j∈N+n[i]∖{b[i]}ri,j
False
True
×
Unchanged
True
False
×
Increase ∑j∈N+n[i]∖{b[i]}ri,j
True
True
×
Increase ∑j∈N+n[i]∖{b[i]}ri,j
False
×
×
Unchanged
True
×
×
Increase ∑j∈N+n[i]∖{b[i]}ri,j
Figure 4
View
Download
Figure 4
Comparison for Example 1.
References
Funding 资金
This work was supported in part by the National Natural Science Foundation of China (61673123), the Natural Science Foundation of Guangdong Province, China (2020A151501482), the Science and Technology development fund (FDCT), Macau SAR (0083/2021/A2, 0015/2020/AMJ), and Research Fund of Guangdong-Hong Kong-Macao Joint Laboratory for Intelligent Micro-Nano Optoelectronic Technology (2020B1212030010) 本研究部分得到国家自然科学基金(61673123)、广东省自然科学基金(2020A151501482)、澳门特别行政区科学技术发展基金(FDCT)(0083/2021/A2, 0015/2020/AMJ)以及粤港澳智能微纳光电技术联合实验室研究基金(2020B1212030010)的支持
Cover Image
Figures 图表
View
Download
Figure 1
A four-cluster tool. LLs are viewed as PM1,0; PMi,0 with i > 1 denotes a buffering module.
View
Download
Figure 2
Gantt chart for the schedule in Example 1 (a four-cluster tool)
View
Download
查看下载
Figure 3 图 3
Gantt chart for the schedule in Example 2 (a two-cluster tool)
View
Download
查看下载
Figure 4 图 4
Comparison for Example 1.
View
Download
查看下载
Figure 5 图 5
Comparison for Example 2.
Table I 表 ISymbols for Timeliness Analysis 时效性分析符号
Symbol 符号
Meaning 意义
Nq
= {0, 1, 2, 3, …, q}, where q is a positive integer. = {0, 1, 2, 3, …, q},其中 q 为正整数。
N+q
= {1, 2, 3, …, q}. = {1, 2, 3, …, q}。
Ci
The ith cluster tool.
Ri
The robot in Ci.
PMi, j
The jth process module in Ci.
n[i]
The index of the last step in Ci.
b[i]
Index of the buffering step in Ci.
λi
Time taken by Ri for unloading/loading a wafer.
μi
Time taken by Ri for moving from one PM to another.
ρi
Time taken by Ri’s rotation.
αij
The time of processing a wafer at PMi, j.
θi, j
Cycle time of PMi, j.
δi, j
The permissive longest time for a wafer to stay at PMi, j after its processing.
ξi, j
The time needed for completing a wafer at PMi, j.
Πi, jL
The lower bound of θi, j.
Πi, jU
The upper bound of θi, j.
Θi
The cycle time of Ci.
Θ
The cycle time of a K-cluster tool.
ψi
Robot Ri’s cycle time.
Table II Decision Variables and Their Associated Variables
Symbol
Meaning
ωi, j
Ri’s waiting time before unloading a wafer from PMi, j.
ωi, jS
Ri’s waiting time before loading a wafer into PMi, j.
τi, j
Wafer sojourn time at PMi, j.
ri, j
The post-processing time of a wafer at PMi, j.
Table III Conditions for Adjusting Post-Processing Time in a Tool