Carrier State Model (SEMI E87)¶
1. Overview¶
The Carrier State Model defines the lifecycle of a carrier (FOUP) within the equipment, from arrival to departure, as specified in SEMI E87 (Carrier Management System - CMS).
2. Carrier State Diagram¶
stateDiagram-v2
[*] --> NOT_INSTANTIATED
NOT_INSTANTIATED --> ID_NOT_READ: Carrier arrives at LP
ID_NOT_READ --> ID_VERIFICATION_OK: ID read success
ID_NOT_READ --> ID_VERIFICATION_FAILED: ID read failed
ID_VERIFICATION_FAILED --> ID_NOT_READ: Retry read
ID_VERIFICATION_FAILED --> NOT_INSTANTIATED: Carrier removed
state IN_ACCESS_STATES {
ID_VERIFICATION_OK --> NOT_ACCESSED: Waiting for access
NOT_ACCESSED --> IN_ACCESS: Access granted
IN_ACCESS --> CARRIER_COMPLETE: Processing done
CARRIER_COMPLETE --> NOT_ACCESSED: Ready for unload
}
IN_ACCESS --> NOT_ACCESSED: Access cancelled
NOT_ACCESSED --> ID_VERIFICATION_OK: Re-verify required
CARRIER_COMPLETE --> NOT_INSTANTIATED: Carrier removed
NOT_ACCESSED --> NOT_INSTANTIATED: Carrier removed
3. State Definitions¶
| State | Description |
|---|---|
| NOT_INSTANTIATED | No carrier present at load port |
| ID_NOT_READ | Carrier present, ID not yet read |
| ID_VERIFICATION_OK | Carrier ID successfully read and verified |
| ID_VERIFICATION_FAILED | Carrier ID read failed or verification error |
| NOT_ACCESSED | Carrier verified, not currently being accessed |
| IN_ACCESS | Carrier door open, substrates accessible |
| CARRIER_COMPLETE | All processing complete, ready for unload |
4. Transition Table¶
| # | From State | Trigger | To State | Action |
|---|---|---|---|---|
| 1 | NOT_INSTANTIATED | Carrier placed on LP | ID_NOT_READ | Initiate ID read |
| 2 | ID_NOT_READ | ID read success | ID_VERIFICATION_OK | Store carrier info |
| 3 | ID_NOT_READ | ID read failed | ID_VERIFICATION_FAILED | Report error |
| 4 | ID_VERIFICATION_FAILED | Retry ID read | ID_NOT_READ | Attempt read again |
| 5 | ID_VERIFICATION_FAILED | Carrier removed | NOT_INSTANTIATED | Clear carrier data |
| 6 | ID_VERIFICATION_OK | Wait for access | NOT_ACCESSED | Carrier ready |
| 7 | NOT_ACCESSED | Access command | IN_ACCESS | Open door, clamp |
| 8 | IN_ACCESS | Processing complete | CARRIER_COMPLETE | Set complete flag |
| 9 | IN_ACCESS | Cancel access | NOT_ACCESSED | Close door |
| 10 | CARRIER_COMPLETE | Unload command | NOT_ACCESSED | Prepare for removal |
| 11 | NOT_ACCESSED | Carrier removed | NOT_INSTANTIATED | Clear carrier data |
| 12 | CARRIER_COMPLETE | Carrier removed | NOT_INSTANTIATED | Clear carrier data |
5. Carrier Attributes¶
| Attribute | Type | Description |
|---|---|---|
| CarrierID | A | Unique carrier identifier (from RFID/barcode) |
| CarrierType | A | Type of carrier (FOUP, FOSB, etc.) |
| LocationID | A | Current load port ID |
| ContentMap | L | Substrate presence map |
| SlotCount | U1 | Number of slots in carrier |
| CarrierState | U1 | Current state value |
| AccessMode | U1 | Current access mode |
5.1 Carrier State Values¶
| Value | State |
|---|---|
| 0 | NOT_INSTANTIATED |
| 1 | ID_NOT_READ |
| 2 | ID_VERIFICATION_OK |
| 3 | ID_VERIFICATION_FAILED |
| 4 | NOT_ACCESSED |
| 5 | IN_ACCESS |
| 6 | CARRIER_COMPLETE |
6. Related Messages¶
| Message | Direction | Description |
|---|---|---|
| S3F17 | H→E | Carrier Action Request (Bind/Cancel Bind/Proc Cancel) |
| S3F18 | E→H | Carrier Action Acknowledge |
| S3F25 | H→E | Carrier ID Read/Verify |
| S3F26 | E→H | Carrier ID Read/Verify Acknowledge |
| S3F27 | E→H | Carrier ID Read Report |
| S3F28 | H→E | Carrier ID Read Report Acknowledge |
6.1 S3F17 - Carrier Action Request¶
Structure:
S3F17 W
<L[5]
<DATAID>
<CARRIERACTION> // 1=Bind, 2=CancelBind, 3=ProceedWithCarrier, 4=CancelCarrier
<CARRIERID>
<PORTID> // PTN (port number)
<L[n] // Additional attributes
<L[2]
<ATTRID>
<ATTRDATA>
>
...
>
>
CARRIERACTION Values:
| Value | Action | Description |
|---|---|---|
| 1 | BIND | Associate carrier ID with location |
| 2 | CANCEL_BIND | Remove carrier association |
| 3 | PROCEED_WITH_CARRIER | Allow processing to continue |
| 4 | CANCEL_CARRIER_AT_PORT | Cancel carrier operations |
| 5 | CANCEL_CARRIER_NOTIFICATION | Cancel carrier notification |
6.2 S3F18 - Carrier Action Acknowledge¶
Structure:
S3F18
<L[2]
<CAESSION> // Carrier action result
<L[n] // Per-attribute status
<L[2]
<ATTRID>
<ATTRDATA>
>
...
>
>
7. Carrier ID Verification¶
7.1 ID Read Sequence¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: Carrier placed on LP
Equipment->>Host: S3F27 (Carrier ID Read Report)
Note right of Equipment: CarrierID="FOUP001"<br/>Status=Success
Host-->>Equipment: S3F28 (Acknowledge)
Note over Equipment: State: ID_VERIFICATION_OK
Equipment->>Host: S6F11 (CarrierStateChange)
Host-->>Equipment: S6F12
7.2 ID Verification Failed¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: ID read failed
Equipment->>Host: S3F27 (Carrier ID Read Report)
Note right of Equipment: Status=Failed
Host-->>Equipment: S3F28
Note over Equipment: State: ID_VERIFICATION_FAILED
opt Host provides ID
Host->>Equipment: S3F17 (BIND, CarrierID)
Equipment-->>Host: S3F18 (Success)
Note over Equipment: State: ID_VERIFICATION_OK
end
8. Content Map (Slot Map)¶
The carrier content map indicates substrate presence in each slot.
8.1 Slot Map Values¶
| Value | Description |
|---|---|
| 0 | Empty slot |
| 1 | Substrate present |
| 2 | Double slotted |
| 3 | Cross slotted |
| 4 | Unknown |
8.2 Slot Map Read (S12F9/F10)¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S12F9 W (Request slot map)
Equipment-->>Host: S12F10 (Slot map data)
Note left of Equipment: SlotMap=[1,1,1,0,0,1,0,...]
9. Related Collection Events¶
| CEID | Name | Description |
|---|---|---|
[8001] |
CarrierArrived | Carrier placed on load port |
[8002] |
CarrierRemoved | Carrier removed from load port |
[8003] |
CarrierIDRead | Carrier ID successfully read |
[8004] |
CarrierIDReadFailed | Carrier ID read failed |
[8005] |
CarrierStateChange | Carrier state transition |
[8006] |
CarrierAccessing | Carrier entering IN_ACCESS |
[8007] |
CarrierComplete | All substrates processed |
10. Related Alarms¶
| ALID | ALTX | Category | Description |
|---|---|---|---|
[8001] |
Carrier ID Read Error | Warning | Unable to read carrier ID |
[8002] |
Carrier Verify Error | Warning | Carrier ID mismatch |
[8003] |
Carrier Map Error | Warning | Slot map read error |
11. Complete Carrier Lifecycle¶
sequenceDiagram
participant Host
participant Equipment
participant AMHS
AMHS->>Equipment: Deliver FOUP to LP1
Note over Equipment: State: ID_NOT_READ
Equipment->>Host: S3F27 (CarrierID="FOUP001")
Host-->>Equipment: S3F28
Note over Equipment: State: ID_VERIFICATION_OK
Equipment->>Host: S6F11 (CarrierIDRead)
Host-->>Equipment: S6F12
Note over Equipment: State: NOT_ACCESSED
Host->>Equipment: S3F17 (PROCEED_WITH_CARRIER)
Equipment-->>Host: S3F18
Note over Equipment: State: IN_ACCESS
Note over Equipment: Process substrates...
Note over Equipment: State: CARRIER_COMPLETE
Equipment->>Host: S6F11 (CarrierComplete)
Host-->>Equipment: S6F12
Host->>Equipment: S3F17 (Carrier Action - unload)
Equipment-->>Host: S3F18
Equipment->>AMHS: Request pickup
AMHS->>Equipment: Remove FOUP
Note over Equipment: State: NOT_INSTANTIATED