随着半导体制造进入450 mm晶圆时代,集束型设备群(multi-cluster tools,MCTs)被普遍使用.MCTs调度属于典型NP难问题,具有多晶圆流、驻留及缓冲区资源约束等特殊性,使得传统单集束型设备(single-cluster tool,SCT)调度方法[1, 2, 3, 4]无法满足MCTs调度要求,因此MCTs调度问题亟待解决.
MCTs调度研究尚处于初始阶段,目前大多数文献集中于单种晶圆稳态模式下的周期性调度研究.Yi等[5]将MCTs调度问题分解为多个SCT调度问题建模分析,并求解出单种晶圆无驻留调度条件下的基本周期下界,但其忽略机械手搬运时间.Chan等[6, 7]将机械手搬运时间假定为固定常数,对两种不同结构的MCTs进行研究,以最小循环周期为目标,提出了基于资源的分析建模方法.石萧铭等[8]考虑实际加工存在的驻留约束,构造了顺序搜索启发式算法,但其对象仅是双集束型设备.上述文献均未考虑实际调度中普遍存在的多晶圆流现象.
多晶圆流是指同一个晶圆加工批次中具有多条工艺路径.多晶圆流的研究对提高MCTs设备利用率和满足顾客产品多样化需求具有重大意义.
目前大多数学者对单晶圆MCTs调度进行了研究,对多晶圆流的多品种调度问题鲜有研究.仅Liu等[9]在单臂MCTs中同时考虑晶圆驻留约束和多晶圆流,提出了相应的算法.但其假设晶圆的加工序列确定,未对初始晶圆进入顺序进行考虑.本文在考虑多晶圆流、驻留约束及晶圆的加工序列不确定的基础上,进一步对初始晶圆进入MCTs顺序进行研究,提出了AS&TC(ant systems and time constraints)调度算法.
1 问题描述典型多晶圆流MCTs如图 1所示.晶圆按照其晶圆流从输入卡闸模块CMa进入系统,依次经过各加工模块,连接相邻集束型设备的缓冲模块,最终加工完成后存放在输出卡闸模块CMb,晶圆在不同模块间的转移通过搬运模块完成.图中2条折线分别代表 2条不同的晶圆流,可分别用晶圆依次经过加工模块的路径坐标集Xw来表示.
Ch表示MCTs中的第h个集束型设备;Rh表示Ch的搬运模块;PMhj表示第h个集束型设备中的第j个加工模块;BMhj表示连接Ch和Ch+1的缓冲模块;晶圆流路径坐标集Xw={x1,…,xi,…,xφ(w)},xi=(h,j)表示晶圆第i步经过的处理模块序号,φ(w)表示晶圆w总加工步骤数.
问题假定:1) 加工模块同时只能加工1片晶圆;2) 搬运模块采用单臂机械手,每次仅搬运 1片晶圆,且装卸时间相同;3) 晶圆在缓冲模块驻留时间无限;4) 晶圆加工完成后,在加工模块内有驻留时间上限,超过该上限,成为次品;5) 晶圆批具有多晶圆流,且晶圆加工序列不确定.
据假定1) 第w+1片晶圆进入PMhj的时间Shj(w+1)与第w片晶圆离开PMhj的时间Lhj(w)之差必定超过机械手搬运时间tM,即:
同理,对缓冲模块:
据假定2) 晶圆在任何一个加工模块的进入时间或离开时间的差值必定超过tM,即:
同理在任一缓冲模块中应满足:
假定4) 晶圆在PMhj中的实际停留时间应满足:
式中:Phj(w)表示晶圆的加工时间;Uhj(w)表示晶圆加工完成后允许的最大驻留时间.
由假定5) 知晶圆具有多种晶圆流模式,所以晶圆转移须满足:
批量为n的晶圆批,晶圆序号{J1,J2,…,Jn},进入CMa后,需按照顺序依次进入系统加工,即晶圆进入首个加工模块的时间需满足:
式中,qn为第n片进入系统的晶圆序号.
根据文献[10]对时间约束集的概念作如下定义:
TR,h(w)表示对晶圆w调度时,机械手Rh的可用时间区间集,包含φt(w,h)个区间,即: TR,h(w)={tR,h,1(w),tR,h,2(w),…,tR,h,φt(w,h)(w)};TPM,xi(w)表示PMxi可用的时间区间集,包含φ(w,xi)个时间区间,即:TPM,xi(w)={tPM,xi,1(w),tPM,xi,2(w),…,tPM,xi,φ(w,xi)(w)};TPB,hj(w)表示BMhj可用的时间区间集,包含φb(w,h,j)个区间,即:TPB,hj(w)={tPB,hj,1(w),tPB,hj,2(w),…,tPB,hj,φb(w,h,j)(w)}.
机械手搬运必须在某个可行时间区间完成,即:
其中:tR,h,q(w)表示TR,h(w)的第q个可行的时间区间;[Sxi(w)-tM,Sxi(w)]表示晶圆w从模块PMxi-1搬运到模块PMxi所占用机械手的时间区间.
加工模块须满足
其中:tPM,xi,k(w)表示TPM,xi(w)的第k个可行的时间区间;[Sxi(w),Lxi(w)]表示晶圆w实际占用模块PMxi的时间区间.
同理,对缓冲模块有
调度目标是使系统的Makespan最小,即:
本文调度问题是以式(17)为目标函数,式(1)~式(16)为约束条件的非线性规划问题.
2 算法构建为阐明本文的算法,现作如下定义.
定义1 晶圆流差异化因子DFP(difference of flow pattern),DFPij=φ(i)+φ(j)-2φs(i,j);φ(i),φ(j)为晶圆Ji和Jj各自的需要经过的加工模块数目,φs(i,j)表示晶圆Ji和Jj共享加工模块(即两条路径都需要经过的加工腔)的数目.
定理1 相邻晶圆DFP越大,晶圆加工对资源的冲突越小,调度可获得驻留时间越短.
证明 假设晶圆A\B\C三片晶圆,加工路径坐标集分别为xa,xb,xc,φ(b)=φ(c), DFPab≥DFPac.则DFPab=φ(a)+φ(b)-2φs(a,b),DFPac=φ(a)+φ(c)-2φs(a,c).
因为DFPab≥DFPac,则φs(a,b)<φs(a,c).又因A/B/C为相邻晶圆,共享设备越多,资源冲突越大,则在共享设备累积驻留时间越长,即
式中:PMabi为晶圆Ja与晶圆Jb第i个共享加工模块;Tdelay(PMabi)为晶圆Ja(晶圆Jb)由于等待晶圆Jb(晶圆Ja)在PMabi加工而发生的驻留时间.
定义2 蚁群期望启发因子ηij,表示路径(i,j)的能见度,反映晶圆Ji转移到晶圆Jj的启发程度,这个量在系统运行中不改变,为了尽量避免相邻晶圆流的冲突,根据定理1,令ηij/=DFPij.
定义3 蚁群信息启发因子τij(t),表示t时刻路径(i,j)上的信息素轨迹强度.
定义4 蚂蚁搜索得到的一条运动路径即为一个晶圆初始进入顺序方案,用禁忌表tabuk(s)记录,k为蚂蚁编号,s为晶圆加工序号.
本文AS&TC算法的核心思想包括两个阶段:外层晶圆顺序决策和内层机械手调度.
算法的具体步骤描述如下:
步骤1 产生初始晶圆进入顺序.
步骤1.1 将m只蚂蚁随机的置于n片晶圆节点上,赋值s=1,tabuk(s)=random(1,n),k=1,2,…,m,对n片晶圆进行编号,为J1,J2,…,Jn,作为蚂蚁路径搜索初始节点.
步骤1.2 按照蚁群算法状态转移概率式(18)和式(19)选取下一片晶圆j,并更新禁忌表.赋值s=s+1,产生随机数q=random(0,1),
q0为转移判定系数,q0~U(0,1),J由式(19)确定,当q > q0,则j由转移概率Pijk(t)确定.
步骤1.3 信息素局部更新.
其中:1-ρ为信息素挥发系数;τ0为信息素初始值.
步骤1.4 重复步骤1.2,1.3直至产生完整的晶圆进入顺序.
步骤2 正向查找可用时间区间.
步骤2.1 根据xi的位置类型,计算晶圆在相应加工模块可行开始区间.
1) 假设xi-1位于Ch-1(i>1)则使用式(21)计算tsxi,d(w):
式中:tsxi,d(w)是处理模块xi的第d个可行的开始时间区间;tPM,hj,d(w)是PMhj的第d个可行的时间区间;tLD,tUD分别为晶圆装载和卸载时间.
3) 假设xi-1位于Ch+1(i>1)则使用式(22)计算tsxi,d(w):
4) 其他情况,则转至步骤2.4.
步骤2.2 使用式(23)计算可行结束时间区间tlxi,d(w):
步骤2.3 若tsxi,d(w)=φ or tlxi,d(w)=φ,则令d=d+1,并返回步骤2.1;否则转到下一步.
步骤2.4 使用式(24)计算晶圆在相应加工模块可行开始时间约束集
步骤2.5 使用式(25)计算晶圆在相应加工模块可行结束时间约束集TLxi(w):
步骤2.6 若TSxi(w)=φ or TLxi(w)=φ,则令d=d+1,并返回步骤2.1;否则转到下一步.
步骤3 后向求解调度时间点.
步骤3.1 使用式(26)计算晶圆的最早的加工结束时间SCMb(w):
步骤3.2 使用式(27)计算Lxφ(w)(w):
步骤3.3 使用式(28)计算Sxφ(w)(w):
步骤3.4 使用式(29)计算LBhj(w):
步骤3.5 使用式(30)计算SBhj(w):
步骤3.6 使用式(31)计算Lxi(w):
步骤3.7 使用式(32)计算Sxi(w):
步骤3.8 令i=i-1;若i=0,后向搜索结束,否则转至步骤3.4.
步骤4 数据信息更新.
步骤4.1 更新搬运模块可用时间集数据:
步骤4.2 更新各加工模块的可用时间集数据:
步骤4.3 各缓冲模块可用时间集数据:
步骤5 令s=s+1;若s≤n,则返回步骤2,否则转至下一步.
步骤6 初始化集束型设备群,令k=k+1;若k≤m,则返回步骤2,否则转至下一步.
步骤7 信息素全局更新.
其中
式中:1-α1表示信息素全局挥发系数;Lmin=min{L1,L2,…,Lm},L1,L2,…,Lm表示蚂蚁1~m搜索到的晶圆序列调度得到的Makespan.
步骤8 令循环次数Nc=Nc+1;若Nc≤Nmax,则返回步骤1,否则算法结束.
3 仿真实验及分析现将实验相关的符号与变量定义如下.
R=(CASTC-CSPT*)/CSPT*×100%为制造期相对延时率,表示算法相对于CSPT*的延迟,该值越小,表明调度得到的制造期越接近CSPT*,即算法的性能越好.CASTC表示本文算法处理一批晶圆的Makespan.CSPT*表示文献[11]中提出的初始晶圆进入顺序按SPT(shortest processing time)排序的情况下处理一批晶圆的Makespan.df=k/n,为晶圆流批异化率,即批量为n的批中具有k种不同的晶圆种类的比例.实验用C++实现,仿真环境为主频2.13 GHz,内存8 GB的PC机.算法相关基本参数设定:m=25,α=2,β=5,α1=0.1,ρ=0.1,q0=0.9.
3.1 运算时间分析晶圆处理时间服从P~N(40,10),驻留约束时间服从U~N(20,5).集束型设备数目CT=3;每个集束型设备的加工模块数目MH=4;tM=4;df=0.6.仿真运行的结果如图 2所示.
图 2显示了算法的运行时间随着晶圆数目的增加大体上呈正相关,在晶圆数目较少时(小于10片)显然算法的运算时间是非常小的,当晶圆数目N=9时,运算时间仅为0.39 s.当晶圆数目增加到20片以上时,算法运算时间较长.
3.2 晶圆流对调度的影响分析令CT=3;MH=4;tM=4;df=0.4,0.6,0.8,1.处理时间服从P~N(40,10),U~N(20,5).仿真运行的结果如图 3所示.
图 3显示不同晶圆流批异化率情况下,随着加工晶圆数量增加,R值呈现先上升后逐渐趋于稳定.实际工程应用中,一般批量设置为25片左右,右半段(批量大于10)更具参考价值.
3.3 处理时间对调度的影响分析CT=3;MH=4;tM=4;df=0.6;处理时间分别服从P~N(20,10),P~N(40,10),P~N(60,10),U~N(30,5).结果见图 4.
图 4显示在处理时间波动的情况下R与晶圆数目的关系.由于处理时间与搬运时间差别较小,E(P)=20曲线波动较大,图 4中E(P)=40和E(P)=60的两条曲线的走向趋势基本一致的,说明算法对不同驻留约束时间的适应性.
3.4 驻留时间对调度的影响分析令CT=3;MH=4;tM=4;df=0.6;P~N(40,10).驻留约束时间分别服从U~N(10,5),U~N(20,5),U~N(30,5).结果见图 5.
图 5显示在驻留约束时间波动的情况下R与晶圆数目的关系.一般情况下,驻留约束时间越短,调度越严格,所需加工时间可能越长,图 5的结果与此相符.随着每批晶圆数目增大,R不断减小,说明该算法在批量较大时有较好的调度效果.
4 结论1) 本文算法可以有效地解决单臂MCTs调度中存在的多品种加工以及晶圆驻留问题,特别为客户需求多样化问题提供了良好的解决方案.
2) 批量较小(每批少于10片)得出算法仿真运行时间非常小,可有效地进行实时调度,即使批量较大也满足调度的要求,证明了算法的高效性.
3) 对于晶圆加工时间、驻留时间波动性和晶圆流模式的仿真证明算法对不同的晶圆加工数据具有非常好的适应性.
[1] | Venkatesh S, Davenport R, Foxhoven P, et al.A steady-state throughput analysis of cluster tools:dual-blade versus single-blade robots[J].IEEE Transactions on Semiconductor Manufacturing, 1997, 10(4):418-424.(1) |
[2] | Yoon H J, Lee D Y.On-line scheduling of integrated single wafer processing tools with temporal constraints[J]. IEEE Transactions on Semiconductor Manufacturing, 2005, 18(3):390-398.(1) |
[3] | Zhou B H, Li X.Try and error-based scheduling algorithm for cluster tools of wafer fabrications with residency time constraints[J].Journal of Central South University of Technology, 2012, 19(1):187-192.(1) |
[4] | Zhou B H, Gao Z S, Chen J.Scheduling algorithm for dual-arm cluster tools with residency and reentrant constraints[J].Journal of Central South University of Technology, 2014, 21(1):160-166.(1) |
[5] | Yi J, Ding S, Song D, et al.Steady-state throughput and scheduling analysis of multi-cluster tools:a decomposition approach[J].IEEE Transactions on Automation Science and Engineering, 2008, 5(2):321-336.(1) |
[6] | Chan W K, Yi J, Ding S.Optimal scheduling of multi-cluster tools with constant robot moving times, part I:two-cluster analysis[J].IEEE Transactions on Automation Science Engineering, 2011, 8(1):5-16.(1) |
[7] | Chan W K, Yi J, Ding S.Optimal scheduling of multicluster tools with constant robot moving times, part Ⅱ:tree-like topology configurations[J].IEEE Transactions on Automation Science Engineering, 2011, 8(1):17-28.(1) |
[8] | 石萧铭, 周炳海.带驻留约束及双臂机械手的集束型设备群调度算法[J].上海交通大学学报, 2013, 47(4):650-655. (Shi Xiao-ming, Zhou Bing-hai.Scheduling algorithm for dual-arm multi-cluster tools with residency constraints[J].Journal of Shanghai Jiaotong University, 2013, 47(4):650-655.)(1) |
[9] | Liu M X, Zhou B H.Modeling and scheduling analysis of multi-cluster tools with residency constraints based on time constraint sets[J].International Journal of Production Research, 2013, 51(16):4835-4852.(1) |
[10] | Dechter R, Meiri I, Pear J.Temporal constraint networks[J].Artificial Intelligence, 1991, 49(1/2/3):61-95.(1) |
[11] | Kim H J, Lee J H, Kim C H, et al.Scheduling in-line multiple cluster tools:a decomposition approach[C]//IEEE International Conference on Mechatronics and Automation.Chengdu, 2012:1544-1549.(1) |