白雪婷,潘春榮
(江西理工大學 機電工程學院,贛州 341000)
在半導體制造業(yè)中,組合設(shè)備通常由多個加工模塊(process module,PM)、校準模塊(aligner,AL)、機械手(robot,R)、冷卻模塊(cooler,CL)和真空鎖(loadlock,LL)組成。機械手有單臂、雙臂兩種。多組合設(shè)備有加工緊湊、方便切換等優(yōu)點[1]。多組合設(shè)備由多個單組合設(shè)備通過緩沖模塊(buffer module,BM)互連組成,BM可以有一個或兩個。以組合設(shè)備為節(jié)點,系統(tǒng)拓撲結(jié)構(gòu)分為線型和樹型[2~4,9~12],圖1為線型單臂K-組合設(shè)備。
圖1 多組合設(shè)備
對于單組合設(shè)備,文獻[5~8]做了很多工作??紤]逗留時間約束,文獻[5~6]分別針對單臂和雙臂設(shè)備提出了可調(diào)度的條件,并給出了方法幫助得到最優(yōu)調(diào)度。文獻[7]分析了雙臂組合設(shè)備晶圓逗留時間的延遲,提出了實時控制策略。對于多組合設(shè)備,結(jié)構(gòu)更加復雜,研究報道較少[2~3,9~11]。針對單臂多組合設(shè)備,文獻[2,3]求得了線型單臂多組合設(shè)備的最優(yōu)生產(chǎn)周期。文獻[10]通過最優(yōu)BM的配置空間,獲得了線型單臂多組合設(shè)備的最優(yōu)1-晶圓周期調(diào)度;在文獻[11]中,通過建立Petri網(wǎng)模型,應(yīng)用機械手暫留方法得到了系統(tǒng)的最優(yōu)1-晶圓周期調(diào)度。文獻[2~3,9~11]未考慮逗留時間約束,文獻[12]獲得了線型單臂多組合設(shè)備的最優(yōu)1-晶圓周期調(diào)度。
組合設(shè)備還有可能發(fā)生故障[13,16~20]。如果組合設(shè)備并行模塊中的一個模塊發(fā)生故障,仍可能繼續(xù)運行[14,15]。如果可運行,文獻[16]針對單臂組合設(shè)備提出了故障響應(yīng)策略,使晶圓不違反逗留時間約束繼續(xù)完成加工。文獻[18~20]考慮逗留時間約束,提出了組合設(shè)備故障后的響應(yīng)策略。然而當并行模塊中的一個PM發(fā)生故障后,組合設(shè)備會出現(xiàn)不能運行的情況。多組合設(shè)備出現(xiàn)故障會導致晶圓加工受到影響,為了解決這個問題,本文對線型單臂多組合設(shè)備故障問題,考慮晶圓逗留時間約束,建立了具有并行模塊的多組合設(shè)備Petri網(wǎng),提出了線型單臂多組合設(shè)備的系統(tǒng)運行中并行模塊故障響應(yīng)策略,通過虛擬晶圓,實現(xiàn)了故障前后的平穩(wěn)過渡。
令Nn={1,2,…,n}和Ωn={0}∪Nn。如圖1所示,C1表示帶有兩個真空鎖的設(shè)備,稱為頭設(shè)備,第i臺設(shè)備稱為Ci,i∈NK,CK表示尾設(shè)備。設(shè)備之間的緩沖區(qū)BM用PMi(b[i])表示,加工時間為零,在Ci中被視為加工過程的第b[i]步,在Ci+1中被視為第0步。用PSij表示Ci中的第j步,假設(shè)Ci中最后一步是n[i],PSi0和PSi(b[i])分別表示輸入和輸出模塊。每一步的并行PM數(shù)量用mij表示,不失一般性,令mi1=2,i∈NK;mij=1,i∈NK,j∈Nn[i]{1,b[i]},僅研究線型單臂多組合設(shè)備中每臺組合設(shè)備并行模塊均出現(xiàn)一個模塊故障后的問題。
Petri網(wǎng)(Petri net,PN)被廣泛應(yīng)用于制造設(shè)備的建模與分析,利用了面向資源的PN的方式來建立模型。由于篇幅有限,在此不做相關(guān)介紹。如圖2為pi1出現(xiàn)故障模塊后Ci,2≤i≤K-1的ROPN模型,機械手用ri表示,pij,j∈Ωn[i],表示晶圓的加工;qij表示卸載晶圓前ri的等待;變遷tij和uij分別表示裝載和卸載一枚晶圓。yij表示機械手從第j+2步,j∈Ωn[i]-2,空載移到第j步。xij表示機械手的移動。
圖2 pi1出現(xiàn)故障模塊后Ci,2≤i≤K-1的ROPN模型
根據(jù)參考文獻[12],設(shè)置初始標識M0如下:1)M0(p10)=n,M0(p1(b[1]))=0,M0(p1j)=1,其中j?{0,b[i]};2)當2≤i≤K時,M0(pij)=1,其中j?{0,b[i]};M0(pij)=0,其中j∈{0,b[i]};3)M0(pK0)=0,M0(pKj)=1,其中j?0;4)對?i∈Nk和所有j,M0(zij)=M0(dij)=M0(qij)=0,M0(ri)=1。由ROPN模型和變遷觸發(fā)規(guī)則,所有變遷均是可觸發(fā)的。在初始標識M0,觸發(fā)變遷序列<y10→u10→x10>,一個晶圓進入庫所z11,t11是進程使能,但M0(p11)=K(p11)=1不是資源使能的,從而死鎖發(fā)生。為了解決這個問題,定義控制策略如下:
定義1.1:在標識M,只有M(pi(j+1))=mi(j+1)-1,j∈Ωn[i]-1,變遷yij可觸發(fā);只有M(pij)=mij,j∈Nn[i],變遷yi(n[i])可觸發(fā)。
根據(jù)定義1.1,系統(tǒng)的ROPN模型是無沖突的,且能描述初始暫態(tài)和終止暫態(tài)過程。
當多組合設(shè)備中每臺組合設(shè)備并行模塊均出現(xiàn)一個模塊故障后,為避免變遷xi1和xi(b[i])不可控而出現(xiàn)系統(tǒng)死鎖的情況,同時為了保證通過一個暫態(tài)過程實現(xiàn)故障前后的兩個不同過程過渡,將針對工序pij,i∈NK,j=1并行模塊同時出現(xiàn)一個模塊故障后,進行有效的防死鎖說明。根據(jù)圖2,用f來表示ci1,ci2,ci3和ci4的控制函數(shù),分別為:
根據(jù)參考文獻[12],可得到以下時間特性。
基于ROPN,pij,j∈Nn[i],中的晶圓加工周期為:
晶圓加工完成以后,可能逗留時間為τij,τij≥αij,有:
在一個周期內(nèi),機械手的活動周期ψi為:
晶圓在庫所pij,i∈Nk,j∈Nn[i]{b[i]}中的逗留時間為:
由多組合設(shè)備Petri網(wǎng)有活性,當在任意標識M,有τij∈[αij,αij+δij],i∈NK,j∈Nn[i]{b[i]}。
在式(5)中,移除機械手等待時間,可獲得晶圓加工時間的下界:
在逗留時間約束,τij∈[αij,αij+δij],晶圓加工時間的上界為:
系統(tǒng)的生產(chǎn)節(jié)拍為Θ=maxΠijL,i∈Nk,j∈Ωn[i]。
根據(jù)圖2中Petri網(wǎng)的特點以及式(5)~式(10),可得出線型多組合設(shè)備在pij中,i∈NK,j=1,出現(xiàn)一個故障模塊前后的調(diào)度均遵循算法2.1,并可得到系統(tǒng)穩(wěn)態(tài)調(diào)度狀態(tài)下的機械手等待時間,如表1所示。
表1 算法2.1
根據(jù)以上算法,須先通過式(9)~式(10)求出晶圓在各個工序的允許逗留時間窗[ΠijL,ΠijU]。如果?j∈Nn[i]{b[i]},?Πh≤Θ≤ΠijU,則系統(tǒng)按照算法2.1中語句2)~8)調(diào)度。如果?j∈Nn[i]{b[i]}有ΠijU<Θ,則系統(tǒng)按照算法2.1中語句10)~22)調(diào)度。如果故障后仍可調(diào)度,它的穩(wěn)態(tài)調(diào)度將不同于故障前,而這兩個不同的穩(wěn)態(tài)轉(zhuǎn)換就很有意義。
情形3.1用pi1g表示工序pi1第g個并行模塊。假設(shè)故障前系統(tǒng)中,?j∈Nn[i]{b[i]}有Θ≤ΠijU,則調(diào)度算法2.1滿足條件。基于假設(shè),當G(ui1)>g時,?j∈Nn[i]{b[i]}有ΠijU<Θ,并求得:?i≥0,說明故障后仍可調(diào)度。當系統(tǒng)出現(xiàn)故障,穩(wěn)態(tài)調(diào)度不同于故障前。保證約束條件,控制策略將使pi1中未加工完成的晶圓取出。
G(ui1)表示故障出現(xiàn)后觸發(fā)ui1的次數(shù),故障響應(yīng)策略4.1如下:
1)在G(ui1)=g時,令f(ci1)=0,f(ci2)=1觸發(fā)xi1i0,同時將一個虛擬晶圓放入pi2。G(ui1)>g時,令f(ci1)=1,f(ci2)=0觸發(fā)xi1。若G(ui1)>g,機械手將從pi0取出一片真實晶圓。
2)若故障晶圓在庫所pi(b[i]),當G(ui1)=g+h時,i=NK-(h+1),h∈Nn,令f(ci3)=0,f(ci4)=1觸發(fā)xi(b[i])i0,同時在pi(b[i]+1)中放置一枚虛擬晶圓。在G(ui1)=g+h時,i=NK-NK-(h+1),h∈Nn,則令f(ci3)=1,f(ci4)=0觸發(fā)xi(b[i])。
3)若G(ui1)=g,當M(pi2)=0時,系統(tǒng)遵循故障后調(diào)度算法。
故障前系統(tǒng)中?j∈Nn[i]{b[i]},有Θ≤ΠijU,系統(tǒng)按照算法2.1中語句2)~8)調(diào)度。故障后系統(tǒng)中?j∈Nn[i]{b[i]},有ΠijU<Θ,系統(tǒng)按照算法2.1中語句10)~22)調(diào)度,故障前后系統(tǒng)的兩個穩(wěn)態(tài)調(diào)度均可行。故障后,τij=Θ-(4λi+3μi)-ωi(j-1)。1)當Πi(j-1)U<Θ時,ωi(j-1)=Θ-(αij+δij+4λi+3μi),τij=Θ-(4λi+3μi)-ωi(j-1)=Θ-(4λi+3μi)-(Θ-(αij+δij+4λi+3μi))=αij+δij;2)當Πi(j-1)U>Θ時,ωi(j-1)=0,τij=Θ-(4λi+3μi)-ωi(j-1)<(αij+δij+4λi+3μi)-(4λi+3μi)-0=αij+δij。因此,τij≤αij+δij,滿足晶圓逗留時間約束。
根據(jù)響應(yīng)策略3.1,圖3為情形3.1的實例響應(yīng)策略執(zhí)行圖,并為其他故障情形提供參考。
圖3 實例響應(yīng)策略變化圖
情形3.2假設(shè)故障前系統(tǒng)中,?j∈Nn[i]{b[i]}有ΠijU<Θ,則根據(jù)算法2.1調(diào)度。基于假設(shè),故障后,當G(ui1)>g時,?j∈Nn[i]{b[i]}有ΠijU<Θ,并求得:1)ωi(j-1)=mi(j-1)×Θ-(αij+δij+4λi+3μi),j∈Ei,ωi(j-1)=0,j∈Fi;2)ωi(n[i])=min{mi(n[i])×Θ-(4λi-1+3μi-1+ω(i-1)(b[i-1]-1)) -(4λi+3μi),?i},i≠1;ωi(n[i])=?i,i=1;ωi(b[i]-1)=?i,i≠K,?i<0構(gòu)成故障后系統(tǒng)不可調(diào)度條件。故障后,按照故障前機械手等待時間調(diào)度。故障響應(yīng)策略3.2將使pi1g中問題晶圓取出至真空鎖,同時使得故障后晶圓損失最小。
1)故障后在G(ui1)=g時,令f(ci1)=0,f(ci2)=1觸發(fā)xi1i0,同時將一個虛擬晶圓放入pi2。在G(ui1)>g時,則令f(ci1)=1,f(ci2)=0觸發(fā)xi1。若G(ui1)>g,機械手將從pi0取出一片虛擬晶圓。
2)當故障晶圓在pi(b[i])時,在G(ui1)=g+h時,i=NK-(h+1),h為正整數(shù),令f(ci3)=0,f(ci4)=1觸發(fā)xi(b[i])i0,同時在pi(b[i]+1)中放置一枚虛擬晶圓。在G(ui1)=g+h時,i=NK-NK-(h+1),h為正整數(shù),則令f(ci3)=1,f(ci4)=0觸發(fā)xi(b[i])。
3)當把系統(tǒng)中的所有真實晶圓取出載入真空鎖后,停機處理。
故障前系統(tǒng)滿足工作負載不平衡狀態(tài)下調(diào)度算法,故障后也滿足工作負載不平衡狀態(tài)下的條件。故障前設(shè)備中存在真實晶圓,這些晶圓在故障后不違反駐留時間約束。
例1 在一個2-組合設(shè)備中,PS10是真空鎖,PS20是輸入緩沖區(qū),PS12是輸出緩存區(qū)。設(shè)備加工參數(shù)分別為:C1,(α10,α11,α12,α13;λ1,μ1)=(0,85,0,31;2,1);C2,(α20,α21,α22,α23;λ2,μ2)=(0,75,36,30;3,1)。晶圓加工路徑為:LL→PS11→PS12(PS20)→PS21→PS22→PS23→PS20(PS12)→PS13→LL。在完成必要的加工后,晶圓可以在PS11,PS13,PS21,PS22,PS23內(nèi)能夠停留的時間分別為40,28,26,20,16,即δ11=40,δ13=28,δ21=26,δ32=20,δ23=16。
根據(jù)式(7)~式(9),對于C1,有Π10L=11,Π11L=48,Π11U=68,Π12L=11,Π13L=42,Π13U=70,ψ11=24。因此,Π1=48。對于C2,Π20L=15,Π21L=45,Π21U=58,Π22L=51,Π22U=71,Π23L=45,Π23U=61,ψ21=32。因此,Π2=51。從而,Θ=max{48,51}=51。得出∩j∈Nn[i]{b[i]}[ΠijL,ΠijU]≠?,根據(jù)算法2.1,設(shè)置機械手等待時間如下:ω10=0,ω11=0,ω12=0,ω13=27;ω20=0,ω21=0,ω22=0,ω23=19。因此,故障前遵循調(diào)度算法。故障后Γ11L=96,Γ11U=136,Π21L=90,Π21U=116,穩(wěn)態(tài)生產(chǎn)節(jié)拍為96。此時根據(jù)算2.1,這種情形仍可調(diào)度。
根據(jù)響應(yīng)策略3.1,故障后,觸發(fā)ui1之前若G(xi1)≤1,每觸發(fā)xi1i0一次,ri從pi0取出一枚虛擬晶圓,同時在pi2中放入一枚虛擬晶圓,系統(tǒng)仍按故障前調(diào)度算法進行;若G(xi1)>1,機械手將從pi0取出一片真實晶圓,系統(tǒng)按照故障后調(diào)度算法進行,機械手等待時間設(shè)定如下:ω10=0不變,ω11=0不變,ω12=0不變,ω13=27→46;ω20=0不變,ω21=0→25,ω22=0→35,ω23=19→4。在q11中的晶圓逗留時間τ11=91→85∈[85,125],τ13=40→59∈[31,59],τ21=8 7 →8 1 ∈[7 5,1 0 1],τ22=3 6 →5 6 ∈[3 6,5 6],τ23=36→46∈[30,46]。因此各工序的晶圓嚴格遵循逗留時間約束。圖4為響應(yīng)策略調(diào)度甘特圖。
圖4 實例1調(diào)度情形甘特圖
例2 在一個2-組合設(shè)備中,PS10是真空鎖,PS20是輸入緩沖區(qū),PS12是輸出緩存區(qū)。設(shè)備加工參數(shù)分別為:C1,(α10,α11,α12,α13;λ1,μ1)=(0s,181s,0,31;2,1);C2,(α20,α21,α22,α23;λ2,μ2)=(0s,165s,36,30;3,1)。晶圓加工路徑為:LL→PS11→PS12(PS20)→PS21→PS22→PS23→PS20(PS12)→PS13→ LL。在完成必要的加工后,晶圓可以在PS11,PS13,PS21,PS22,PS23內(nèi)能夠停留的時間分別為80,28,52,20,16,即δ11=80,δ13=28,δ21=52,δ32=20,δ23=16。
根據(jù)式(7)~式(9),對于C1,有Π10L=11,Π11L=96,Π11U=136,Π12L=11,Π13L=42,Π13U=70,ψ11=24。因此,Π1=96。對于C2,Π20L=15,Π21L=90,Π21U=116,Π22L=51,Π22U=71,Π23L=45,Π23U=61,ψ21=32。因此,Π2=90。從而,Θ=max{96,90}=96。得出?j∈Nn[i]{b[i]}有ΠijU<Θ使得∩j∈Nn[i]{b[i]}[ΠijL,ΠijU]=?,根據(jù)算法2.1,設(shè)置機械手等待時間如下:ω10=0,ω11=0,ω12=26,ω13=46;ω20=0,ω21=25,ω22=35,ω23=4。因此,故障前遵循調(diào)度算法。故障后Γ11L=192,Γ11U=272,Π21L=180,Π21U=232,穩(wěn)態(tài)生產(chǎn)節(jié)拍為192。此時根據(jù)算法2.1,這種情形不可調(diào)度。
根據(jù)響應(yīng)策略3.2,故障后,觸發(fā)ui1之前若G(xi1)≤1,每觸發(fā)xi1i0一次,ri將從pi0取出一枚虛擬晶圓,同時在工序pi2中放入一枚虛擬晶圓,系統(tǒng)仍按故障前調(diào)度算法進行;若G(xi1)>1,機械手將從pi0取出一片虛擬晶圓,系統(tǒng)按照故障前調(diào)度算法進行,直至系統(tǒng)將所有的真實晶圓卸載出來,然后停機處理。圖5為實例2故障響應(yīng)策略甘特圖。
圖5 實例2調(diào)度情形甘特圖
在半導體晶圓制造業(yè),線型單臂多組合設(shè)備可能出現(xiàn)故障導致不能及時運行。研究具有并行模塊的多組合設(shè)備出現(xiàn)故障后的運行控制策略有重要意義。由于有逗留時間約束的多組合設(shè)備模塊故障響應(yīng)問題更為復雜,本文發(fā)現(xiàn)了有晶圓逗留時間約束條件下,多組合設(shè)備中每臺組合設(shè)備并行模塊均出現(xiàn)一個模塊故障后的有效調(diào)度問題。針對多組合設(shè)備故障后調(diào)度的可行與不可行調(diào)度,提出了相應(yīng)的暫態(tài)過渡的運行控制方法,以實現(xiàn)故障后系統(tǒng)穩(wěn)態(tài)調(diào)度。但本文僅研究了線型單臂多組合設(shè)備中每臺組合設(shè)備并行模塊均出現(xiàn)一個模塊故障后的調(diào)度問題,而樹型單臂多組合設(shè)備出現(xiàn)并行模塊故障問題還有待進一步研究。