2. GEM标准核心概念:设备状态模型、事件通知、变量采集、报警管理、远程命令
GEM(Generic Equipment Model)标准定义了半导体设备与工厂主机(Host)之间通信的通用行为模型。要快速定位通信故障,必须深入理解GEM的五大核心概念:设备状态模型、事件通知、变量采集、报警管理和远程命令。这些概念构成了设备行为建模的基石,也是日志分析中高频出现的排查对象。
2.1 设备状态模型(Equipment State Model)
设备状态模型是GEM的核心骨架,定义了设备从初始化到运行、再到停止的完整生命周期。主机通过监控状态变迁来感知设备当前是否可用。标准模型包含以下关键状态:
| 状态名称 | 状态码(典型值) | 含义 | 常见故障场景 |
|---|---|---|---|
| INIT | 1 | 设备上电或复位,正在初始化 | 初始化超时,主机收不到INIT_COMPLETE |
| IDLE | 2 | 设备空闲,等待加工指令 | 主机下发指令后设备无响应,状态卡在IDLE |
| SETUP | 3 | 设备正在执行配方切换或参数设置 | SETUP过程中发生参数校验失败,状态回退 |
| PROCESSING | 4 | 设备正在加工晶圆 | 加工中途异常中断,状态未正确迁移到IDLE |
| PAUSED | 5 | 设备暂停,等待人工干预 | 暂停后无法恢复,主机与设备状态不同步 |
| ALARM | 6 | 设备处于报警状态,需清除报警才能恢复 | 报警清除后状态未自动迁移,导致死锁 |
状态迁移由设备内部逻辑驱动,并通过事件通知上报给主机。日志分析中,若发现主机记录的设备状态与设备实际状态不符,应优先检查状态变迁事件是否被正确发送和接收。
S6F11(事件报告发送)消息,查看其中携带的 CEID(收集事件ID)是否包含状态变迁事件(如 StateChangeEvent)。若缺失,说明设备端状态机未触发上报。
2.2 事件通知(Event Notification)
事件通知是设备主动向主机报告状态变化、加工完成、报警发生等信息的机制。GEM使用收集事件(Collection Event, CEID)来标识不同的事件类型。主机通过订阅(Enable/Disable Collection Event)来控制接收哪些事件。
事件通知的通信流程如下:
- 主机订阅: 主机发送
S2F37(Enable/Disable Collection Event)消息,指定要启用的CEID列表。 - 设备确认: 设备回复
S2F38,返回操作结果(0=成功,非0=失败)。 - 事件触发: 设备内部条件满足时,自动发送
S6F11(Event Report Send)消息,携带CEID和对应的报告数据。 - 主机确认: 主机回复
S6F12,确认收到。
S6F11。排查方向:① 检查 S2F38 的返回码是否为0;② 检查设备端事件触发条件是否满足;③ 检查通信链路是否被防火墙或超时机制阻断。
典型的事件类型包括:
- 状态变迁事件: 设备状态从IDLE变为PROCESSING。
- 加工完成事件: 一批晶圆加工结束,上报加工结果。
- 报警事件: 设备检测到异常,触发报警。
- 操作员动作事件: 操作员在本地界面进行了操作。
2.3 变量采集(Variable Collection)
变量采集是GEM中获取设备实时数据的主要手段。变量分为三类:
| 变量类型 | ID前缀 | 说明 | 示例 |
|---|---|---|---|
| 状态变量(SV) | SV_ID | 反映设备当前状态,如温度、压力、速度 | SV_100 = 腔体温度 |
| 设备常量(EC) | EC_ID | 设备可配置的参数,如工艺时间、阈值 | EC_50 = 最大加工时间 |
| 数据变量(DV) | DV_ID | 与具体事件绑定的动态数据,如晶圆ID | DV_10 = 当前晶圆批次号 |
主机通过 S1F3(Request SV)或 S2F13(Request EC)来读取变量值。变量采集的故障通常表现为:
- 变量ID不存在: 主机请求的SV_ID在设备端未定义,设备回复
S1F4携带错误码。 - 变量值异常: 采集到的数值超出合理范围(如温度-999),可能是传感器故障或通信数据解析错误。
- 变量更新延迟: 设备内部变量已变化,但主机采集到的仍是旧值,通常与缓存或上报周期配置有关。
S1F3 请求,检查其 VID(变量ID列表)是否与设备规格书一致。若设备回复 S1F4 中 LIST 为空,说明请求的变量ID全部无效。
2.4 报警管理(Alarm Management)
报警管理用于处理设备异常状态。GEM定义了两种报警类型:
- 报警(Alarm): 需要操作员确认并清除的严重异常,如温度超限、门互锁触发。
- 警告(Warning): 不需要确认的轻微异常,如传感器漂移、维护提醒。
报警管理的核心消息流:
- 报警触发: 设备检测到异常,发送
S5F1(Alarm Report Send),携带报警ID(ALID)和报警文本。 - 主机确认: 主机回复
S5F2,确认收到报警。 - 报警清除: 操作员或主机发送
S5F3(Enable/Disable Alarm),清除指定报警。 - 清除确认: 设备回复
S5F4,确认报警已清除。
S5F3 是否成功发送;② 检查设备端报警清除条件是否满足(如硬件复位);③ 检查报警ID是否被主机正确识别。
报警ID通常由设备厂商定义,并在GEM配置文件中列出。日志分析中,若发现报警ID与设备规格书不符,应优先怀疑设备固件版本与配置文件不匹配。
2.5 远程命令(Remote Command)
远程命令允许主机向设备发送控制指令,如启动加工、停止、暂停、复位等。GEM使用 S2F41(Remote Command Send)消息来承载命令。每条命令由命令ID(CMD_ID)唯一标识。
远程命令的执行流程:
- 主机发送命令: 主机发送
S2F41,包含CMD_ID和可选参数。 - 设备立即回复: 设备回复
S2F42,返回命令接收状态(0=已接收,非0=拒绝)。 - 设备执行命令: 设备内部执行命令逻辑,完成后通过事件通知上报执行结果。
- 主机监控结果: 主机通过订阅的事件(如
CommandCompleteEvent)获取执行结果。
S2F42 的返回码:返回码非0表示设备拒绝执行,常见原因包括设备状态不允许、命令ID未定义、参数格式错误。
常见远程命令示例:
| 命令ID | 功能 | 允许的设备状态 | 典型返回码 |
|---|---|---|---|
| START | 开始加工 | IDLE, SETUP | 0=成功, 1=状态不允许 |
| STOP | 停止加工 | PROCESSING | 0=成功, 2=命令未定义 |
| PAUSE | 暂停加工 | PROCESSING | 0=成功, 3=参数错误 |
| RESUME | 恢复加工 | PAUSED | 0=成功, 4=执行超时 |
| RESET | 复位设备 | ALARM, PAUSED | 0=成功, 5=硬件故障 |
2.6 核心概念关联总结
五大核心概念并非孤立存在,而是相互关联、协同工作的。理解它们之间的关系,是进行故障根因分析的前提:
- 状态模型是基础,定义了设备的行为边界。
- 事件通知是桥梁,将状态变迁、报警、命令执行结果等信息实时传递给主机。
- 变量采集是手段,为主机提供设备内部数据的快照。
- 报警管理是异常处理机制,确保设备在异常时能够被正确管控。
- 远程命令是控制手段,主机通过命令驱动设备状态迁移。
在日志分析中,一个典型的故障链路可能是:主机发送远程命令(S2F41)→ 设备拒绝(S2F42返回非0)→ 主机查询设备状态(S1F3)→ 发现设备处于ALARM状态 → 主机触发报警清除(S5F3)→ 设备恢复IDLE → 主机重新发送命令成功。掌握这种关联分析能力,是成为GEM故障排查专家的关键。