4. DataItem 概念:在设备模型中的角色与 SECS 变量关系

DataItem(数据项)是半导体设备建模中的核心抽象单元,它代表设备内部一个可观测、可控制或可配置的最小数据粒度。在 SECS/GEM 协议体系中,DataItem 是连接物理设备状态与上层自动化系统的桥梁。

4.1 DataItem 在设备模型中的角色

在设备模型中,DataItem 扮演以下三个关键角色:

  • 状态观测器:实时反映设备内部传感器读数、工艺参数、报警状态等动态数据。
  • 控制接口:允许上位系统通过写入 DataItem 来改变设备行为(如设定温度、启动流程)。
  • 配置存储:保存设备标识、版本号、工艺配方等静态或半静态信息。
核心原则:一个 DataItem 对应设备模型中的一个唯一语义的数据点,不重复、不交叉。
DataItem 在设备模型中的三层角色 设备物理层(传感器、执行器、控制器) 原始信号 · 寄存器 · 硬件状态 DataItem 抽象层 状态观测 · 控制接口 · 配置存储 SECS/GEM 通信层(变量映射与消息传输) SVID · ECID · VID · 报告 · 跟踪 DataItem 是中间抽象层

4.2 DataItem 与 SECS 变量的关系

SECS/GEM 协议定义了多种变量类型,用于在主机(Host)和设备(Equipment)之间交换数据。DataItem 与这些变量之间存在一对一或多对一的映射关系。

SECS 变量类型 缩写 与 DataItem 的关系 典型用途
状态变量 SV 一个 DataItem 映射为一个 SV 温度、压力、速度等连续监测值
设备常量 EC 一个 DataItem 映射为一个 EC 设备序列号、最大晶圆尺寸、版本号
数据变量 DV 一个 DataItem 映射为一个 DV 工艺步骤中的临时计算结果
集合事件 CE 多个 DataItem 组合为一个 CE 报告 工艺完成时上报一组相关数据
跟踪数据 Trace 多个 DataItem 按周期采样上报 温度曲线、压力趋势记录
映射原则:每个 DataItem 在设备模型中只定义一次,但可以被多个 SECS 变量引用。例如,一个“腔室温度”DataItem 可以同时作为 SV(实时查询)和 Trace 数据(周期记录)的源。
DataItem 到 SECS 变量的映射关系 DataItem 池 DI_Temp_Chamber1 DI_Pressure_Chamber1 DI_FlowRate_MFC1 DI_RecipeID_Current ... 更多 DataItem SECS 变量空间 SV_Temp (SVID=101) SV_Pressure (SVID=102) EC_SerialNo (ECID=1) DV_CalcResult (DVID=5) ... 更多变量 映射关系由设备模型定义 一个 DataItem 可映射到多个 SECS 变量

4.3 DataItem 的典型属性结构

一个完整的 DataItem 定义通常包含以下属性,这些属性决定了它如何与 SECS 变量交互:

属性 说明 示例值 与 SECS 映射的关系
ID 全局唯一标识符 DI_Temp_Chamber1 用于在映射表中引用
数据类型 数据格式(I2, F8, A40 等) F8(双精度浮点) 决定 SECS 消息中的编码格式
访问权限 读/写/只读 只读 对应 SECS 的 S2F17/S2F18 访问控制
单位 物理单位 °C 用于 SECS 变量描述
取值范围 最小/最大值 0.0 ~ 500.0 用于 SECS 变量校验
更新频率 数据刷新周期 100 ms 影响 Trace 采样周期设置
常见错误:在设备模型中直接使用 SECS 变量 ID(如 SVID=101)作为 DataItem 的唯一标识,而不是使用语义化的名称。这会导致模型难以维护,当 SECS 变量 ID 重新分配时,整个映射关系需要重做。

4.4 DataItem 与 SECS 变量的映射生命周期

从设备模型设计到实际运行,DataItem 与 SECS 变量的映射经历以下阶段:

  1. 模型定义阶段:在设备模型中声明所有 DataItem,定义其属性。
  2. 映射设计阶段:为每个需要暴露给主机的 DataItem 分配对应的 SECS 变量(SV/EC/DV)。
  3. 实现阶段:在设备软件中编写代码,将 DataItem 的读写操作绑定到 SECS 消息处理函数。
  4. 验证阶段:通过 SECS 模拟器或主机系统,验证每个 DataItem 的值是否正确映射到对应的 SECS 变量。
  5. 运行阶段:设备正常生产,DataItem 持续更新,SECS 变量实时反映设备状态。
DataItem ↔ SECS 变量映射生命周期 模型定义 声明 DataItem 映射设计 分配 SECS 变量 实现编码 绑定读写函数 验证测试 模拟器校验 运行维护 持续更新 每个阶段都需要更新映射文档,保持模型与实现一致 映射表是设备模型与 SECS 通信之间的“契约”

4.5 映射设计的最佳实践

关键原则:DataItem 是设备模型的“数据本体”,SECS 变量是“通信视图”。两者之间的映射应当清晰、可追溯、可维护。
  • 语义优先:DataItem 命名使用业务语义(如 Chamber1_Temperature),而非 SECS 变量 ID。
  • 映射表独立:将映射关系维护在独立的配置文件或数据库中,便于修改和版本管理。
  • 类型一致:DataItem 的数据类型必须与 SECS 变量的 SECS-II 数据类型兼容(如 F8 ↔ I8/F8)。
  • 访问控制对齐:DataItem 的读写权限必须与 SECS 变量的访问控制一致,避免主机写入只读 DataItem。
  • 文档化:每个映射关系都应有明确的文档记录,包括映射理由、单位、取值范围和更新频率。
// 映射表示例(JSON 格式)
{
  "mappings": [
    {
      "dataItemId": "DI_Temp_Chamber1",
      "secsVariableType": "SV",
      "secsVariableId": 101,
      "accessType": "readOnly",
      "dataType": "F8",
      "unit": "°C",
      "description": "腔室1当前温度"
    },
    {
      "dataItemId": "DI_Pressure_Chamber1",
      "secsVariableType": "SV",
      "secsVariableId": 102,
      "accessType": "readOnly",
      "dataType": "F8",
      "unit": "Torr",
      "description": "腔室1当前压力"
    }
  ]
}
实践建议:在设备软件开发初期,先完成 DataItem 的完整定义,再进行 SECS 变量映射设计。这可以避免后期因数据点遗漏而导致的通信接口返工。