在做 300mm Fab 设备进场(GEM300)集成时,我见过最多的验收驳回单,不是通信连不上,也不是状态机乱跳,而是这一条:
“Slot Map校验逻辑不符合SEMI E87标准,存在混片风险。” 很多设备商觉得E87就是“能夹紧、能读到ID、能上报状态”就行了,但实际上,E87最核心、也是最容易被轻视的部分,恰恰是Slot Map(槽位图)的校验机制。
今天结合我在多个Fab联调踩过的坑,把这件事彻底讲透。
一、Slot Map到底是什么?
在300mm晶圆厂中,FOUP(Front Opening Unified Pod)通常有25个Slot,每一个Slot理论上存放一片晶圆。
Slot Map就是一个描述“哪些Slot有晶圆,哪些没有”的数据结构。在SECS/GEM协议中,它通常以二进制串或数组形式上报给Host(MES/EAP)。
| 状态 | 有 | 无 | 有 | … | 无 |
为什么Host必须拿到准确的Slot Map?
- 防止混片:确保A批次的晶圆不会被当成B批次加工。
- 工艺追溯:每一片晶圆的加工历史必须与Slot位置绑定。
- 自动化调度:AMHS(自动物料搬运系统)需要知道FOUP里有多少片晶圆可以加工。
如果Slot Map错了,后果往往是整批晶圆报废,代价极高。
二、E87标准对Slot Map的强制要求
SEMI E87-0309标准中,关于Slot Map有几个硬性规定,缺一不可:
- 存在性校验(Slot 里到底有没有晶圆)
- ID 一致性校验(Slot 里的 Wafer ID 是否与Host下发的清单一致)
三、90%设备商的“错误实现”长什么样?
❌ 错误 1:只读了 ID,没读 Slot Map
很多设备的实现逻辑是:
问题在哪? 设备根本不知道Slot里的物理状态是否和Host下发的逻辑状态一致。如果操作员手动换过片,或者搬运过程中掉了片,设备完全不知情。
❌ 错误 2:Slot Map 只读一次,不校验
有些设备确实读了Slot Map,但只是在Carrier放置时读一次,然后就缓存起来。
- 如果 FOUP 在运输过程中震动导致Slot松动怎么办?
- 如果操作员在设备端手动开关过FOUP门怎么办?
标准要求是:在每次Access之前,都应该重新确认Slot Map的有效性。
❌ 错误 3:校验失败了,依然允许 Access
这是最致命的一种。设备检测到Slot Map不一致(比如Host 说Slot 1 有片,但设备读出来没有),却只是上报了一个Warning,依然允许机械手进去取片。
后果:
- 机械手可能去抓一个空的 Slot ,导致撞针;
- 或者抓错了片,导致混片。
四、正确的 Slot Map 校验流程(推荐使用)
结合 SEMI E87 标准和 Fab 验收经验,推荐按以下流程实现。

参考实现(C#风格)
public void OnCarrierReady(Carrier carrier)
{
//1.读取物理Slot Map(每次Access前必须重新读)
var physicalMap = LoadPort.ReadSlotMap();
//2.获取 Host 下发的逻辑 Slot Map
var logicalMap = Host.GetExpectedSlotMap(carrier.ID);
//3.校验
var result = VerifySlotMap(physicalMap,logicalMap);
if(!result.IsMatch)
{
//4.校验失败:禁止Access,上报Alarm
SetAccessMode(AccessMode.Blocked);
RaiseAlarm(ALID_SlotMapMismatch,result.Details);
UpdateCarrierState(CarrierState.WaitingForHost);
return;
}
//5. 校验成功:允许Access
UpdateCarrierState(CarrierState.ReadyToAccess);
}
五、XML配置中容易被忽略的点
如果你使用的是XML配置工具(如 GEM 模型建模器),配置 Slot Map 时要注意这三个参数:
1. SlotMap VID
必须定义一个 Status Variable(SVID)专门用于存储Slot Map 数据。
<Variable name="SlotMap" vid="10010" type="Binary" classification="Data" />
2. SlotMapVerificationFailed CEID
必须绑定一个 Collection Event,当校验失败时上报。
<Event name="SlotMapVerificationFailed" ceid="13012">
<Description>Slot map verification failed.Access blocked.</Description>
<Report vid="10010" />
</Event>
3.AccessMode 的联动
在Slot Map 校验失败期间,Load Port 的Access Mode 必须被强制限制。
<EibModel:E87LoadportSystem name="E87LoadportSystem"
clampControl="1"
carrierHoldControl="0"
accessMode="AUTO"
enable="true">
</EibModel:E87LoadportSystem>
六、Fab验收时的“夺命题”
在FAT/SAT时,Fab工程师通常会做以下破坏性测试。如果你的设备通过了,才算真正达标:
| 拔片测试 | Host说有25片,工程师偷偷拿走1片 | 设备Block,不允许Access | Critical |
| 换片测试 | 把Slot1的片换到Slot2 | 设备检测到位置变化并报警 | Major |
| 空跑测试 | FOUP里没片,Host下发有片的Map | 设备报错并阻止运行 | Critical |
| 重复Access | 同一片连续取放两次 | 第二次Slot Map重新校验通过 | Minor |
如果你的设备在这些测试下还能“正常跑”,恭喜你,验收肯定被驳回。
七、写在最后
E87 从来不是“能通信就行”。Slot Map 校验是 E87 的灵魂,它守护的是晶圆厂最底层的物料安全。
很多设备商为了赶进度,在 Slot Map 上偷工减料,结果在 Fab 验收时被打回,延期一个月,损失的钱远超开发成本。
如果你正在做 E87 开发,或者准备进场联调,不妨检查一下你们的 Slot Map 逻辑:
- 是不是每次 Access 前都重新读了?
- 失败了是不是真的 Block 了?
- Alarm 有没有上报?
- AccessMode 有没有联动锁定?
如果这四个问题有一个答不上来,那你的 E87 大概率还没做对。
相关阅读:
- E87 ClampControl 这个参数,90% 的设备商都没配对
- E40 ProcessJob 与 E94 ControlJob:别再搞混了
- 不用手写 XML:我用这款工具 1 小时配完 GEM 模型
觉得有用请点赞 + 收藏。如果你在 Slot Map 校验上遇到了奇怪的问题,欢迎在评论区交流。





