2008年4月19日 星期六

MES Capability Management (一)

當我們建構好生產流程(Process Route)之後,MES 便可以依據此流程開始逐步生產(WIP tracking), 但如果該生產站點需要使用機台(Equipment)來做加工,那麼該如何決定應該使用哪一個機台呢?

最簡單的想法,就是在流程中的每一個站點(Step)直接定義要使用的機台,也就是直接將 Equipment ID 定義在站點中,當WIP tracking到某一個站點時,只要看到Equipment ID, 就知道該派往到哪一個機台去,這樣就解決了。

但是現行的 Equipment多具備多工的能力,一般都是由不同的程式或是參數來決定,我們可以將它定義成不同的Recipe ID, 假使有兩個站點使用同一個機台,但是設定不同,我們只要定義兩個不同的Recipe ID分別設定在這兩個站點中, 如此站點 A的 WIP 使用的是 Recipe a, 而在另一個站點 B的 WIP, 雖然也使用同一個機台,但用的卻是 Recipe b, 這樣即可解決機台多工的問題。

Step_A = (Equipment 1, Recipe_a);
Step_B = (Equipment 1, Recipe_b)

但事實上,工廠的機台不會只有一台,相同的機台也可能同時有很多台;當然我們可以將所有的 Equipment ID都定義在站點中,但這樣做,一方面可能要定義的Equipment ID很多;一方面彈性也不夠,例如,新購入一台機台,那我們就要掃過一遍所有可用此機台的站點,將此 Equipment ID加進去;但是,為避免不必要的誤動作,一般工廠對流程的修改是限制比較嚴格的,這樣的作法是比較不被接受的;所以我們採用的方式是將這些相同的機台給一個類別名稱(Equipment Type), 站點中只定義這個類別名稱以取代個別的 Equipment ID, 這樣,新購入的機台只要加入了這個類別,那麼所有使用該類別的站點就都可以使用這機台了,不必再去逐一修改。

Step_A : (Equipment Type 1);
Equipment Type 1 = { Equipment_A1, Equipment_B1, Equipment_C1, ...}

問題又出現了,這些機台可能是購入的時間不同,也可能是不同的機型或供應商,雖然做一樣的事,但是控制程式可能是不同的,也就是 Recipe ID不同,如何在選擇了不同的機台,還能使用到正確的 Recipe ID? 於是我們將這些在相同製程條件下的機台與它所用的Recipe組合起來成為一個虛擬的 Recipe, 或是稱作 Logical Recipe, 例如:

Logical Recipe A ={(Recipe_a1 | Equipment_A1), (Recipe a2 | Equipment_B1), (... | ...)},

一般實做都是一個mapping table, 當決定了 Equipment ID, 再用 Logical Recipe 去對應真正的 Recipe ID, 是站點中的設定就變成這樣子了:

Step_A = (Equipment Type 1, Logical Recipe A)
Step_B = (Equipment Type 1, Logical Recipe B)

早期在IC Fab, LCD廠所使用的 MES, 很多都是這樣設計的。

但是影響機台製程能力的可能不單單是 Recipe 而已,可能還要考慮所使用的一些工具、配備或是原物料等,以IC 廠為例,Stepper或是 Scanner 機台要再考慮 Reticle 的問題,LCD CF廠的Coater 機台,可能要考慮光阻液 (PR, Photo Resistant)的問題,這些條件慢慢的加到了 Step上 process specification 的定義中,這些後來加上的東西由於是各自獨立設定的,彼此間並未整合,設定上也越來越困難,於是一種新的方式慢慢的出現了。

Capability 的想法,印想中是台積電最早提出來的,逐漸的被各廠採用,新一代的MES也朝向這樣子的設計。許多會影響 Capabilty 的東西被整合起來,我們稱之為 Capability Enabler, 所謂的 Enabler 表示它的狀態直接 enable or disable 機台的 Capability, 在這樣的設計下,Step上只要簡單的定義一個 Capability ID, 剩下的就是這個 Capability 的管控問題了。

沒有留言: