欢迎光临
我们一直在努力

SEMI E87 Slot Map 校验原理剖析及常见实现误区

在做 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)。

Slot 编号123…25
状态 有 无 有 … 无

为什么Host必须拿到准确的Slot Map?

  • 防止混片:确保A批次的晶圆不会被当成B批次加工。
  • 工艺追溯:每一片晶圆的加工历史必须与Slot位置绑定。
  • 自动化调度:AMHS(自动物料搬运系统)需要知道FOUP里有多少片晶圆可以加工。

如果Slot Map错了,后果往往是整批晶圆报废,代价极高。


二、E87标准对Slot Map的强制要求

SEMI E87-0309标准中,关于Slot Map有几个硬性规定,缺一不可:

  • Slot Map必须由设备读取并校验,不能仅仅依赖上游系统(如MES)下发的数据。
  • Slot Map校验必须在‘Carrier ID Verified’之后、‘Accessing’(开盖取片)之前完成。
  • 如果 Slot Map 校验失败,设备必须阻止Access动作,并上报特定的Alarm或CEID。
  • 校验逻辑必须包含:
    • 存在性校验(Slot 里到底有没有晶圆)
    • ID 一致性校验(Slot 里的 Wafer ID 是否与Host下发的清单一致)

  • 三、90%设备商的“错误实现”长什么样?

    ❌ 错误 1:只读了 ID,没读 Slot Map

    很多设备的实现逻辑是:

  • FOUP放上Load Port
  • 读取Carrier ID(RFID/条码)
  • Host下发该Carrier的Wafer List
  • 直接开盖取片
  • 问题在哪? 设备根本不知道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 校验上遇到了奇怪的问题,欢迎在评论区交流。

    赞(0)
    未经允许不得转载:171主机测评 » SEMI E87 Slot Map 校验原理剖析及常见实现误区
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址