1. KLA晶圆缺陷检测系统概览

在晶圆缺陷图谱与空间模式分析工程中,所有后续的聚类、分类、良率关联和根因定位,都建立在同一件事上:把机台采集到的原始信号,稳定地转换成带有坐标和属性的缺陷记录。KLA 的检测平台覆盖了从无图形裸晶圆到先进逻辑图形晶圆的完整谱系,不同平台的成像原理、输出格式和字段定义并不相同。理解这些差异,是避免"图谱看起来对、结论却错"的第一道关口。

三类主流平台的成像原理

Surfscan 系列面向无图形晶圆(裸片、外延片、衬底)的表面缺陷检测,核心是暗场激光散射。激光斜入射或正入射到晶圆表面,光滑表面几乎不产生散射光;当存在颗粒、划伤、凹坑或残留物时,散射光被多通道光电探测器收集。散射光的强度、角度分布和偏振响应,共同决定缺陷的尺寸估计与类型初判。Surfscan 的输出以"缺陷事件"为单位,每个事件带有极坐标或直角坐标、散射通道强度、估计尺寸(如等效聚苯乙烯球直径,PSL 等效)等字段。它的优势是灵敏度极高、吞吐量大,但无法给出缺陷的形貌图像,尺寸是间接推算值。

SP 系列(如 SP2、SP3、SP5、SP7)同样基于暗场散射,但增加了多入射角、多收集通道和更精细的偏振控制,能够在同一片晶圆上区分表面颗粒与亚表面缺陷、区分不同材质的散射体。SP 系列通常输出多个散射通道的强度组合,工程上常用通道比值来辅助分类。它的数据字段比 Surfscan 更丰富,坐标精度也更高,是裸晶圆缺陷谱分析的主力机型。

eDR 系列(电子束缺陷复查)则完全不同:它用扫描电子显微镜对已检测出的缺陷位置进行高分辨率成像复查。eDR 不负责全片扫描发现缺陷,而是接收上游检测机台给出的缺陷坐标列表,逐点移动到该位置拍摄 SEM 图像,输出的是缺陷的真实形貌图像、精确坐标修正值以及自动缺陷分类(ADC)结果。因此 eDR 的数据链路是"坐标输入—图像输出",与光学检测的"扫描输入—事件输出"方向相反。

KLA 检测平台成像原理与数据链路 Surfscan / SP 系列(暗场散射) 激光源 晶圆表面 颗粒/划伤/凹坑 散射光 多通道光电探测器 强度 / 角度 / 偏振响应 输出:缺陷事件 坐标 + 通道强度 + PSL 等效尺寸 eDR(电子束复查) 输入:上游缺陷坐标列表 (x, y, 尺寸, 通道信息) SEM 逐点移动成像 高分辨率形貌 + 坐标修正 输出:缺陷图像 + ADC 分类 真实形貌,非间接推算 机台 → 分析端数据链路 ① 机台采集:原始信号 / 事件 ② 格式转换:KLARF / 文本 / 数据库 ③ 分析端:坐标对齐 + 图谱生成 光学平台输出"事件",eDR 输出"图像";两者在分析端按坐标对齐后共同构成缺陷图谱

数据输出格式与关键字段

KLA 检测机台最通用的交换格式是 KLARF(KLA Results File)。它本质上是一个带节区(section)的文本文件,核心节区包括:FileVersion、LotInformation、WaferInformation、DieInformation、DefectList。DefectList 中每一行代表一个缺陷,字段以空格分隔,典型顺序为:缺陷编号、X 坐标、Y 坐标、缺陷尺寸、缺陷类别编号、通道信息等。不同机型、不同软件版本的字段数量和顺序可能不同,因此解析 KLARF 时不能硬编码列号,而应先读取 FileVersion 和列定义,再按名称映射。

除 KLARF 外,实际产线还会遇到:机台本地数据库导出、CSV/TSV 文本、以及部分平台支持的 XML 或二进制格式。无论哪种格式,分析端真正依赖的字段可以归纳为四类:

  • 坐标字段:X、Y,单位通常为微米或毫米,必须确认单位与坐标系原点定义。
  • 尺寸字段:缺陷等效尺寸,光学平台多为 PSL 等效值,eDR 为实测形貌尺寸。
  • 属性字段:通道强度、偏振响应、ADC 类别编号、复查标记等。
  • 上下文字段:晶圆 ID、批次号、Die 行列号、检测配方名称、检测时间。
坐标系约定必须在项目开始时统一并写入文档。常见约定是:晶圆中心为原点,X 向右为正,Y 向上为正,单位为毫米;但部分机台默认以晶圆缺口(notch)方向为 Y 轴负方向,或使用 Die 坐标系。若分析端与机台端约定不一致,图谱会出现整体旋转或镜像,且这种错误在单点检查时很难发现,只有生成全片图谱后才会暴露。

从机台到分析端的完整链路

一条可复现的数据链路通常包含五个环节。第一,机台按检测配方完成扫描,生成原始结果文件;第二,通过工厂自动化系统或手动方式把文件传输到分析服务器,此环节要保证文件完整性和版本一致;第三,解析 KLARF 并做字段规范化,把不同机型的字段映射到统一 schema;第四,坐标对齐与晶圆级拼接,把缺陷点映射到统一的晶圆坐标系,并关联 Die 行列信息;第五,生成缺陷图谱、空间模式特征和统计报表。

下面是一段解析 KLARF DefectList 的示例代码,用于说明字段读取与规范化过程。示例中的字段顺序和数值均为教学假设,实际使用时必须以文件头部的列定义为准。

# 示例:读取 KLARF DefectList 并规范化为统一 schema
# 假设列顺序为:DEFECT_ID X Y SIZE CLASS CHANNEL
# 单位:X/Y 为毫米,SIZE 为 PSL 等效微米

import csv

UNIFIED_FIELDS = ["defect_id", "x_mm", "y_mm", "size_um", "class_id", "channel"]

def parse_klarf_defectlist(path):
    records = []
    with open(path, "r", encoding="utf-8") as f:
        in_list = False
        for line in f:
            line = line.strip()
            if line.startswith("DefectList"):
                in_list = True
                continue
            if in_list and line and not line.startswith("EndOfFile"):
                parts = line.split()
                if len(parts) < 6:
                    continue
                rec = dict(zip(UNIFIED_FIELDS, parts[:6]))
                rec["x_mm"] = float(rec["x_mm"])
                rec["y_mm"] = float(rec["y_mm"])
                rec["size_um"] = float(rec["size_um"])
                records.append(rec)
    return records

# 教学示例输出(假设值):
# [{'defect_id': '1', 'x_mm': 12.340, 'y_mm': -5.670,
#   'size_um': 0.085, 'class_id': '3', 'channel': '2'}, ...]

解析完成后,建议立即做三项校验:缺陷总数是否与机台报表一致;坐标范围是否落在晶圆半径之内;尺寸分布是否出现异常截断(例如全部为 0 或全部相同)。这三项校验能在数据进入图谱分析之前拦截大部分格式与单位错误。

平台差异对分析的影响

Surfscan 与 SP 系列给出的是散射事件,尺寸是间接推算,因此同一缺陷在不同通道下的尺寸估计可能不同;eDR 给出的是真实形貌,但覆盖范围有限,通常只复查抽样缺陷。分析端在做空间模式识别时,必须清楚当前数据来自哪类平台:光学平台适合做全片密度分布、聚类和扫描方向条纹分析;eDR 数据适合做缺陷形貌确认和 ADC 类别校验。把两类数据混在同一张图谱里而不加标记,会导致模式判断失真。

工程实践建议:在统一 schema 中增加一个 source_platform 字段,取值如 surfscan、sp、edr。后续所有图谱和统计都按该字段分组或至少着色区分,这样在排查"为什么同一片晶圆两次分析结果不同"时,能第一时间排除平台混用问题。