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、良率分析、追溯查询与报表。
四层之间不是简单的串联,而是“控制流向下、数据流向上、语义在中间层补齐”的双向关系。下面这张图给出各层之间的主要数据流与接口关系。
接口关系与数据流的关键点
从图中可以看到,数据流整体向上,控制流整体向下,而语义补齐发生在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、原始文件路径和采集时间;若断链,则说明原始层保留策略或关联键设计有问题。
理解这四层架构与接口关系后,后续的EAP配置、数据质量规则、SPC取数逻辑才有稳定的落点。实际项目中,层次划分可以因厂而异,但“设备原始数据—控制层标准化—MES/EAP语义化—数据平台服务化”这条主线是共通的。