4. 生产数据集成的基本架构

在KLA检测量测自动化的语境下,生产数据集成并不是“把数据从设备拷出来”这么简单。它要解决的是:设备产生的检测/量测结果、配方与状态信号,如何经过控制层被规范化采集,再由EAP/MES赋予批次、片号、工序、站点等生产语义,最终汇入数据平台供SPC、良率分析、追溯与模型训练使用。理解这条链路的层次划分与接口关系,是后续做接口配置、故障排查和数据质量治理的基础。

四层架构的职责边界

典型的生产数据集成架构自下而上分为四层,每层承担不同的职责,也对应不同的接口协议与数据粒度。

  • 设备层(Equipment Layer):KLA量测/检测设备本体,包括光学量测机台、缺陷检测机台、Review SEM等。它输出的是原始结果文件(如KLARF、结果CSV、图像)、设备状态、报警、配方标识。对外接口通常是SECS/GEM、文件共享(SMB/NFS)、FTP/SFTP或厂商专用API。
  • 控制层(Control Layer):由设备控制软件、自动化控制程序、SECS/GEM驱动、文件监听服务组成。它负责把设备侧异构的原始数据“翻译”成统一事件,例如LotStart、WaferStart、MeasurementComplete、RecipeChanged,并做初步校验与缓存。
  • MES/EAP层:EAP(Equipment Automation Program)负责单机台作业调度与数据采集触发,MES负责工单、批次、工序、片号、站点等生产上下文。二者共同把“设备事件”绑定到“生产对象”,形成带语义的生产记录。
  • 数据平台层(Data Platform Layer):承担汇聚、清洗、建模、存储与服务。常见形态包括消息队列(Kafka)、时序库、关系库、数据湖与API服务,向上支撑SPC、FDC、良率分析、追溯查询与报表。

四层之间不是简单的串联,而是“控制流向下、数据流向上、语义在中间层补齐”的双向关系。下面这张图给出各层之间的主要数据流与接口关系。

数据平台层(Data Platform Layer) 消息队列 Kafka 采集事件 Topic 数据湖 / 时序库 原始+清洗结果 关系库 / 元数据 批次·片号·站点 API / 报表 / SPC 查询与分析服务 MES / EAP 层 EAP 设备自动化程序 作业触发·采集调度·事件上报 MES 制造执行系统 工单·批次·工序·片号绑定 语义映射与校验 Lot/Wafer/Step/Site 归一 控制层(Control Layer) SECS/GEM 驱动 事件·报警·状态 文件监听服务 KLARF/CSV 落地 数据缓存与校验 去重·补传·格式检查 日志 接口追踪 设备层(Equipment Layer) KLA 量测机台 膜厚/线宽/套刻 KLA 缺陷检测机台 缺陷图/Defect 表 Review SEM 复检分类结果 配方与状态 Recipe/Status/Alarm 原始结果 / 事件 / 状态(SECS·文件) 统一事件:MeasurementComplete / WaferStart 带生产语义的记录:Lot/Wafer/Step/Site + 结果 采集指令 / 配方下发 / 作业调度 远程命令 / 参数设置 分析结果回流

接口关系与数据流的关键点

从图中可以看到,数据流整体向上,控制流整体向下,而语义补齐发生在MES/EAP层。实际落地时,需要重点关注以下几个接口关系。

设备层到控制层:协议与文件双通道。KLA设备通常同时提供SECS/GEM事件通道和文件输出通道。SECS/GEM适合传递状态、报警、开始/结束事件,实时性好但字段有限;KLARF、结果CSV、缺陷图等大文件则通过共享目录或SFTP落地。控制层需要同时监听这两类通道,并用设备ID、时间戳、Recipe ID做关联。例如一台量测机台完成一片晶圆量测后,SECS/GEM先发出MeasurementComplete事件,随后KLARF文件写入指定目录,控制层必须把两者匹配成同一条采集记录。

控制层到MES/EAP:事件标准化。控制层不应把原始SECS报文直接抛给上层,而应转换为统一事件模型。一个可参考的事件字段结构如下:

{
  "event_id": "EVT-20240612-000871",
  "equipment_id": "KLA-MET-01",
  "event_type": "MeasurementComplete",
  "recipe_id": "RCP_CD_45nm",
  "lot_id": "LOT-A2306",
  "wafer_id": "W03",
  "step_id": "M1-CD",
  "site_count": 9,
  "result_file": "/data/klarF/KLA-MET-01_20240612_1032.klarf",
  "timestamp": "2024-06-12T10:32:18+08:00"
}

其中lot_id、wafer_id、step_id往往不是设备直接给出的,而是EAP根据MES工单和机台当前作业上下文补齐的。这一步是数据能否用于追溯和SPC的分水岭。

MES/EAP到数据平台:语义化记录入湖。补齐语义后,记录通过Kafka Topic或API写入数据平台。建议按“原始层—清洗层—服务层”分层存储:原始层保留设备原始文件和事件,清洗层做单位统一、异常值标记、片号对齐,服务层面向SPC、良率、追溯提供宽表或API。这样既保留可追溯性,又避免分析时反复解析原始文件。

一个可参考的接口配置示例

假设某Fab要接入一台KLA量测机台,接口配置可参考下表。表中参数为教学示例,实际值需按现场设备与MES约定调整。

接口环节 协议/方式 关键参数示例 数据内容
设备→控制层(事件) SECS/GEM 设备ID=KLA-MET-01,端口5000,CEID=1001 MeasurementComplete、Alarm、RecipeChanged
设备→控制层(文件) SMB共享目录 \\KLA-MET-01\results,轮询间隔5s KLARF、结果CSV、缺陷图
控制层→EAP 内部消息/API 事件Topic=eqp.event.raw,重试3次 标准化事件+文件路径
EAP→MES MES API 工单查询、批次绑定、片号校验 Lot/Wafer/Step/Site 语义
MES/EAP→数据平台 Kafka + API Topic=mes.measurement.clean,分区数6 语义化量测记录、状态记录

常见问题与判断依据

接口链路是否健康,可以从三个层面判断。第一,事件与文件是否配对:若控制层日志中MeasurementComplete事件存在但对应KLARF文件未入库,通常是文件监听路径、权限或轮询间隔问题。第二,语义字段是否完整:若数据平台中大量记录的lot_id或wafer_id为空,说明EAP与MES的上下文绑定失败,需要检查工单同步和机台作业状态。第三,数据是否可追溯:从数据平台任取一条量测记录,应能反查到设备ID、Recipe、原始文件路径和采集时间;若断链,则说明原始层保留策略或关联键设计有问题。

排查顺序建议自下而上:先确认设备侧事件与文件是否正常产生,再确认控制层是否完成配对与标准化,最后确认MES/EAP语义补齐和数据平台入库。这样能快速定位问题发生在哪一层,避免在数据平台侧反复重跑而忽略上游断点。

理解这四层架构与接口关系后,后续的EAP配置、数据质量规则、SPC取数逻辑才有稳定的落点。实际项目中,层次划分可以因厂而异,但“设备原始数据—控制层标准化—MES/EAP语义化—数据平台服务化”这条主线是共通的。