4. 数据处理层设计:数据清洗、数据归一化、异常值检测、数据存储策略

数据处理层是Fab良率监控系统的核心枢纽,负责将来自设备端(如SEM、缺陷扫描仪、量测机台)的原始数据转化为可用于分析、建模与报警的高质量时序信号。本章围绕数据清洗、归一化、异常值检测及存储策略四个关键环节展开设计。

4.1 数据清洗:去除噪声与填补缺失

Fab环境中数据缺失与噪声主要来源于:传感器瞬时掉线、通信超时、维护期间数据空洞、以及设备状态切换时的毛刺信号。清洗策略分为三个步骤:

  1. 缺失值处理:对于短时间缺失(< 5个采样点),采用线性插值;对于长时间缺失,标记为无效区间并跳过后续计算。
  2. 去重与对齐:同一Lot被多个设备重复上报时,按时间戳去重;不同设备数据按晶圆ID与时间窗口对齐。
  3. 噪声过滤:使用中值滤波或Hampel滤波器剔除单点脉冲噪声。
设计要点:清洗规则必须可配置,支持按设备类型、参数类型动态调整阈值,避免过度清洗导致有效信号丢失。
实践建议:在清洗阶段保留原始数据副本,便于事后审计与规则回滚。
数据清洗流程 原始数据 缺失插值 去重对齐 噪声滤波 输出:干净、对齐、连续的时序信号,供归一化与异常检测使用

4.2 数据归一化:消除量纲差异

不同传感器参数(如温度、压力、膜厚、缺陷密度)具有不同的量纲和数值范围。归一化使所有特征处于同一尺度,避免大数值参数主导模型训练或统计阈值计算。

归一化方法 公式 适用场景
Min-Max 归一化 (x - min) / (max - min) 参数范围已知且稳定,如温度 20~80°C
Z-Score 标准化 (x - μ) / σ 参数分布近似正态,如膜厚测量值
Robust 缩放 (x - median) / IQR 存在离群点,如缺陷计数
注意:归一化参数(min/max/μ/σ)必须在训练窗口内计算,并持久化存储;在线推理时使用相同的参数进行变换,避免数据漂移。
归一化前后对比(示意) 归一化前 温度: 20~80°C 压力: 0.1~10 Torr 缺陷: 0~5000 个 归一化后 温度: 0.0 ~ 1.0 压力: 0.0 ~ 1.0 缺陷: 0.0 ~ 1.0

4.3 异常值检测:识别工艺偏移与设备故障

异常值检测是良率监控的触发点。Fab中异常分为三类:单点离群、趋势偏移、模式异常。系统采用多级检测策略:

  • 统计阈值法:基于历史数据计算均值±kσ,适用于稳定参数。
  • 移动窗口法:滑动窗口内计算局部均值与标准差,适应工艺渐变。
  • 机器学习模型:Isolation Forest 或 Autoencoder,用于高维参数联合检测。
架构决策:异常检测结果需附带置信度与根因标签,便于下游报警系统分级处理。检测模型应支持在线更新,适应设备老化与工艺迁移。
异常检测策略分层 统计阈值法 移动窗口法 ML模型检测 第一层快速过滤明显离群点;第二层捕捉缓慢漂移; 第三层处理多参数联合异常,输出根因概率。

4.4 数据存储策略:时序数据库与关系数据库协同

Fab良率数据具有高写入吞吐、按时间范围查询、元数据关联等特点。单一数据库无法同时满足时序写入效率与复杂关联查询需求,因此采用混合存储架构:

存储类型 存储内容 典型技术 查询模式
时序数据库 (TSDB) 传感器原始数据、归一化后信号、异常检测结果 InfluxDB / TimescaleDB 按时间范围聚合、降采样、趋势分析
关系数据库 (RDBMS) 设备元数据、Lot信息、工艺配方、报警规则、用户配置 PostgreSQL / MySQL 按ID关联、事务更新、报表查询
存储优化:时序数据设置合理的保留策略(如原始数据保留30天,聚合数据保留1年),使用连续聚合视图降低查询延迟。
混合存储架构 数据采集层 时序数据库 (原始+归一化+异常) 关系数据库 (元数据+规则+Lot) 应用层通过统一数据服务接口同时查询TSDB与RDBMS, 实现时序趋势与元数据关联的无缝融合。

4.5 数据处理层接口设计示例

数据处理层对外暴露RESTful接口,供上层分析服务与可视化模块调用。核心接口包括:

// 数据清洗与归一化配置接口
POST /api/v1/processing/clean-config
{
  "device_id": "ETCH_01",
  "parameter": "chamber_pressure",
  "missing_strategy": "linear_interpolate",
  "noise_filter": "hampel",
  "normalization": "zscore",
  "window_size": 10
}

// 异常检测触发接口
POST /api/v1/processing/anomaly-detect
{
  "device_id": "ETCH_01",
  "parameters": ["chamber_pressure", "temperature", "rf_power"],
  "method": "isolation_forest",
  "contamination": 0.05
}

// 查询清洗后数据
GET /api/v1/processing/cleaned-data?device_id=ETCH_01&start=2025-03-01T00:00:00Z&end=2025-03-02T00:00:00Z
接口设计原则:所有数据处理接口均支持批量操作与异步回调,避免大数据量清洗阻塞前端;异常检测结果通过WebSocket实时推送至监控看板。