製程作業狀態模型(SEMI E40)
1. 概述
製程作業(PJ)狀態模型定義了製程作業的生命週期,依據 SEMI E40(製程作業管理)規範。製程作業代表使用特定配方處理特定基板的請求。
2. 製程作業狀態圖
stateDiagram-v2
[*] --> QUEUED: Create Job
QUEUED --> SETTING_UP: Start command
QUEUED --> [*]: Abort / Cancel
SETTING_UP --> WAITING_FOR_START: Setup complete
SETTING_UP --> PROCESSING: Auto-start
SETTING_UP --> ABORTING: Abort command
SETTING_UP --> QUEUED: Setup failed
WAITING_FOR_START --> PROCESSING: Start command
WAITING_FOR_START --> ABORTING: Abort command
PROCESSING --> PROCESS_COMPLETE: All substrates done
PROCESSING --> PAUSING: Pause command
PROCESSING --> ABORTING: Abort command
PROCESSING --> STOPPING: Stop command
PAUSING --> PAUSED: Pause complete
PAUSED --> PROCESSING: Resume command
PAUSED --> ABORTING: Abort command
STOPPING --> QUEUED: Stop complete
ABORTING --> QUEUED: Abort complete (partial)
ABORTING --> [*]: Abort complete (full)
PROCESS_COMPLETE --> [*]: Job removed
3. 狀態定義
| 狀態 |
說明 |
| QUEUED |
作業已建立,等待啟動 |
| SETTING_UP |
作業準備中(載入配方、保留資源) |
| WAITING_FOR_START |
設定完成,等待明確啟動 |
| PROCESSING |
作業正在處理基板 |
| PAUSING |
作業正在轉換至暫停狀態 |
| PAUSED |
作業已暫停,可恢復或中止 |
| PROCESS_COMPLETE |
所有基板處理完成 |
| STOPPING |
作業正在安全點停止 |
| ABORTING |
作業正在中止 |
4. 轉換表
| # |
原狀態 |
觸發條件 |
目標狀態 |
動作 |
| 1 |
- |
PRCreateJob |
QUEUED |
建立作業實例 |
| 2 |
QUEUED |
PRStart |
SETTING_UP |
開始設定 |
| 3 |
QUEUED |
PRAbort |
(已移除) |
刪除作業 |
| 4 |
SETTING_UP |
Setup done |
WAITING_FOR_START |
等待啟動 |
| 5 |
SETTING_UP |
Auto-start |
PROCESSING |
開始處理 |
| 6 |
SETTING_UP |
PRAbort |
ABORTING |
中止作業 |
| 7 |
SETTING_UP |
Fail |
QUEUED |
回報錯誤 |
| 8 |
WAITING_FOR_START |
PRStart |
PROCESSING |
開始處理 |
| 9 |
WAITING_FOR_START |
PRAbort |
ABORTING |
中止作業 |
| 10 |
PROCESSING |
Complete |
PROCESS_COMPLETE |
全部完成 |
| 11 |
PROCESSING |
PRPause |
PAUSING |
暫停處理 |
| 12 |
PROCESSING |
PRStop |
STOPPING |
在安全點停止 |
| 13 |
PROCESSING |
PRAbort |
ABORTING |
中止處理 |
| 14 |
PAUSING |
Paused |
PAUSED |
處理已暫停 |
| 15 |
PAUSED |
PRResume |
PROCESSING |
恢復處理 |
| 16 |
PAUSED |
PRAbort |
ABORTING |
中止作業 |
| 17 |
STOPPING |
Stopped |
QUEUED |
準備重新啟動 |
| 18 |
ABORTING |
Aborted |
QUEUED/removed |
處理中止 |
5. 製程作業屬性
| 屬性 |
類型 |
說明 |
| PRJobID |
A |
唯一製程作業識別碼 |
| PRState |
U1 |
目前狀態值 |
| PRMtlNameList |
L |
待處理基板 ID 清單 |
| RecID |
A |
配方識別碼 |
| PRMtlType |
U1 |
材料類型(載具/基板) |
| PRProcessStart |
Boolean |
設定後立即啟動 |
| PRPauseEvent |
L |
觸發暫停的事件 |
| CarrierInputSpec |
L |
輸入載具規格 |
| MtrlOutSpec |
L |
輸出規格 |
5.1 製程作業狀態值
| 值 |
狀態 |
| 1 |
QUEUED |
| 2 |
SETTING_UP |
| 3 |
WAITING_FOR_START |
| 4 |
PROCESSING |
| 5 |
PAUSING |
| 6 |
PAUSED |
| 7 |
PROCESS_COMPLETE |
| 8 |
STOPPING |
| 9 |
ABORTING |
6. 相關訊息
| 訊息 |
方向 |
說明 |
| S16F11 |
H→E |
PRCreateJob - 建立製程作業 |
| S16F12 |
E→H |
PRCreateJob 確認 |
| S16F15 |
H→E |
PRMultiCreate - 建立多個作業 |
| S16F16 |
E→H |
PRMultiCreate 確認 |
| S16F17 |
H→E |
PRJobStateChange - 作業命令 |
| S16F18 |
E→H |
PRJobStateChange 確認 |
| S16F19 |
H→E |
PRGetAllJobs - 取得作業清單 |
| S16F20 |
E→H |
PRGetAllJobs 資料 |
| S16F21 |
H→E |
PRGetJobInfo - 取得作業詳情 |
| S16F22 |
E→H |
PRGetJobInfo 資料 |
6.1 S16F11 - PRCreateJob
結構:
S16F11 W
<L[n]
<DATAID>
<PRJOBID>
<PRMTLTYPE> // 0=Carrier, 1=Substrate
<L[m] // 材料名稱清單
<CARRIERID> or <SUBSTRATEID>
...
>
<L[k] // 製程作業屬性
<L[2]
<ATTRID>
<ATTRDATA>
>
...
>
>
6.2 S16F12 - PRCreateJob 確認
結構:
S16F12
<L[2]
<PRJOBID>
<ACKA> // 0=成功, 1=失敗
>
6.3 S16F17 - PRJobStateChange
結構:
S16F17 W
<L[3]
<PRCMD> // 命令
<L[n] // 作業清單
<PRJOBID>
...
>
<L[m] // 命令參數
<L[2]
<CPNAME>
<CPVAL>
>
...
>
>
PRCMD 值:
| 值 |
命令 |
說明 |
| 1 |
START |
啟動作業 |
| 2 |
PAUSE |
暫停作業 |
| 3 |
RESUME |
恢復作業 |
| 4 |
CANCEL |
取消作業(從 QUEUED) |
| 5 |
DEQUEUE |
從佇列移除作業 |
| 6 |
ABORT |
中止作業 |
| 7 |
STOP |
在安全點停止作業 |
7. 製程作業建立序列
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S16F11 W (PRCreateJob)
Note right of Host: PRJobID="JOB001"<br/>RecID="RECIPE001"<br/>MtlList=[SubID1, SubID2]
Note over Equipment: 驗證作業參數
Note over Equipment: 建立作業實例
Equipment-->>Host: S16F12 (ACKA=0, Success)
Note over Equipment: 狀態:QUEUED
Equipment->>Host: S6F11 (ProcessJobCreated)
Host-->>Equipment: S6F12
8. 製程作業執行序列
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:QUEUED
Host->>Equipment: S16F17 W (PRCMD=START)
Equipment-->>Host: S16F18 (Success)
Note over Equipment: 狀態:SETTING_UP
Equipment->>Host: S6F11 (PRJobStateChange)
Host-->>Equipment: S6F12
Note over Equipment: 載入配方,準備資源
Note over Equipment: 狀態:PROCESSING
Equipment->>Host: S6F11 (PRJobStateChange)
Host-->>Equipment: S6F12
loop 每個基板
Note over Equipment: 處理基板
Equipment->>Host: S6F11 (SubstrateProcessed)
Host-->>Equipment: S6F12
end
Note over Equipment: 狀態:PROCESS_COMPLETE
Equipment->>Host: S6F11 (PRJobComplete)
Host-->>Equipment: S6F12
9. 材料輸出規格(MtrlOutSpec)
定義已處理基板的去向:
| 欄位 |
說明 |
| DestPort |
目的地裝載埠 |
| DestCarrier |
目的地載具 |
| DestSlot |
目的地槽位 |
10. 相關收集事件
| CEID |
名稱 |
說明 |
[7001] |
PRJobCreated |
製程作業已建立 |
[7002] |
PRJobStateChange |
製程作業狀態變更 |
[7003] |
PRJobComplete |
製程作業已完成 |
[7004] |
PRJobAborted |
製程作業已中止 |
[7005] |
PRJobPaused |
製程作業已暫停 |
[7006] |
PRJobResumed |
製程作業已恢復 |
11. 相關狀態變數
| SVID |
名稱 |
類型 |
說明 |
[7001] |
ActivePRJobCount |
U2 |
啟動中的製程作業數量 |
[7002] |
PRJobList |
L |
啟動中的作業 ID 清單 |
12. 錯誤處理
| 錯誤條件 |
回應 |
| 無效配方 |
S16F12 ACKA=1 |
| 無效基板 ID |
S16F12 ACKA=1 |
| 超過作業限制 |
S16F12 ACKA=1 |
| 命令狀態錯誤 |
S16F18 含錯誤 |