首页> 中国专利> 用于创建、定义和执行SPC规则决策树的算法和结构

用于创建、定义和执行SPC规则决策树的算法和结构

摘要

一种分析测试结果的方法。所述方法包括从多个储存的控制规则中选择选定的控制规则进行验证,访问选择的测试结果,对选择的测试结果进行选择的统计分析,以及执行多个选择的动作中的至少一个动作,其中所述多个选择的动作是通过选择的统计分析的结果进行选择的。所述多个选定的控制规则排列在决策树中。所述决策树包括用于验证所述选定的控制规则的时间表。所述测试结果的选择由所述多个选定的控制规则定义。统计分析的选择由所述多个选定的控制规则和所述决策树定义。至少一个动作是通过所述决策树选择的。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-22

    授权

    授权

  • 2015-05-13

    实质审查的生效 IPC(主分类):G01R31/28 申请日:20130411

    实质审查的生效

  • 2015-02-18

    公开

    公开

说明书

技术领域

本公开一般来说涉及自动测试设备领域,更具体地涉及自动测试设备 的统计过程控制领域。

背景技术

自动测试设备(ATE)可以是对器件、半导体晶片或裸片等进行测试的 任何测试组件。ATE组件可以用于执行自动测试,这些测试能快速执行测 量并生成随后可进行分析的结果。ATE组件可以是从耦接到仪表的计算机 系统到复杂自动测试组件的任何设备,它可以包括自定义专用计算机控制 系统以及许多不同的能够自动测试电子零件和/或进行半导体晶片测试(例 如片上系统(SOC)测试或集成电路测试)的测试仪器。

然后可以分析从ATE组件提供的测试结果,以对测试的电子部件进行 评估。这种测试结果评估可以作为统计过程控制方法的一部分。在一个示 例性实施例中,可以采用统计过程控制方法来监测并控制制造过程,以确 保该制造过程以希望的效率水平和希望的质量水平生产希望的产品。在一 个示例性实施例中,在完成规定的ATE测试运行之后,采用统计过程控制 方法来统计分析所编译的测试结果。也可以在后续生产运行中基于测试结 果的统计分析来实现生产过程和/或测试过程的变化。

发明内容

本发明的实施例提供了一种方案以应对自动测试中实施统计过程控制 方法时面临的挑战。具体而言,通过提供机会以在对不正确测试的晶片、 裸片和/或器件或存在内在问题的晶片、裸片和/或器件花费很多测试时间之 前就校正过程,本发明的实施例可以用于不考虑通过/失败结果而做出执行 决策。在本发明的一个示例性实施例中,公开了一种实时统计分析测试结 果的方法。在所述方法中,在已采集预定数量的所请求的测试结果后,可 以响应于任何所识别的测试错误或缺陷晶片执行选定动作,来执行已采集 测试结果的统计分析。如此处所述,评价过程和动作也可以应用于晶片分 类和最终测试统计以及晶片测试。

在根据本发明的一个示例性方法中,公开了一种分析和作用于测试结 果的方法。所述方法包括从多个储存的控制规则中选择选定的控制规则进 行验证,访问选择的测试结果,对选择的测试结果进行选择的统计分析, 以及执行多个选择的动作中的至少一个动作,其中所述多个选择的动作是 通过选择的统计分析的结果被选择的。所述多个选定的控制规则排列在决 策树中。所述决策树包括用于验证所述选定的控制规则的时间表。所述测 试结果的选择由所述多个选定的控制规则定义。统计分析的选择由所述多 个选定的控制规则和所述决策树定义。所述至少一个动作通过所述决策树 选择。

在一个示例性实施例中,公开了一种用于测试器件的装置。所述装置 包括具有图形用户界面和测试模块的计算机。所述图形用户界面可操作以 通过下述方式创建新的控制规则:定义测试结果请求,定义统计分析,定 义分析参数,定义至少一个要执行的控制规则验证,以及响应于所述至少 一个控制规则验证失败而定义要执行的动作。所述图形用户界面可操作以 使所述新控制规则存储在多个控制规则的数据库中。所述测试模块可操作 以验证所述多个控制规则中选定的控制规则,并响应于所述选定的控制规 则中的至少一个控制规则的验证失败而执行至少一个动作。

附图说明

结合附图,并阅读以下详细说明,将可以更好地理解本发明,在附图 中,相同的参考符号指代相同的元件,其中:

图1示出了一种实现统计过程控制的自动测试设备(ATE)的示例性简 化框图;

图2示出了一种用于选择、编辑并创建统计过程控制规则的示例性图 形用户界面;

图3示出了一种用于显示控制规则测试结果的示例性图形用户界面;

图4示出了根据本发明一个实施例的用于实时管理统计过程控制的统 计分析与控制装置的示例性框图;

图5示出了根据本发明一个实施例的统计分析与控制装置的示例性可 自定义状态机部件;

图6示出了根据本发明一个实施例的统计分析与控制装置的示例性批 次配方控制部件;

图7示出了根据本发明一个实施例的统计分析与控制装置的示例性统 计过程控制部件;

图8示出了根据本发明一个实施例的统计分析与控制装置的示例性箱 子控制部件;

图9示出了根据本发明一个实施例的统计分析与控制装置的示例性测 量值监测部件;

图10示出了根据本发明的一个实施例要加入到统计分析与控制装置中 的示例性自定义部件;

图11示出了根据本发明一个实施例的统计分析与控制装置的示例性过 程参数控制部件;

图12示出了示例性流程图,示出了根据本发明一个实施例的用于实时 过程控制分析和动作的方法的步骤;

图13示出了示例性流程图,示出了根据本发明一个实施例的用于在测 试休止时段期间创建并执行决策树的方法的步骤;

图14示出了示例性流程图,示出了根据本发明一个实施例的用于在测 试休止时段期间创建并执行决策树的方法的步骤;

图15示出了根据本发明一个实施例的与统计分析与控制构架连接的示 例性探测器/处理器管理器部件和代理探测器/处理器驱动器;

图16示出了示例性流程图,示出了根据本发明一个实施例的用于连续 自动测试期间的实时测试分析和动作执行的方法的步骤;并且

图17示出了示例性流程图,示出了用于插入对于在正在进行的测试上 运行的测试程序来说透明的探测器或处理器命令的方法的步骤。

具体实施方式

现在将详细参照本发明的优选实施例,其示例在附图中示出。虽然将 结合优选实施例说明本发明,但应理解的是,这些优选实施例不是为了使 本发明限于这些实施例。相反,本发明旨在涵盖所附权利要求限定的本发 明的精神和范围内可包含的替代、修改和等同方案。而且,在本发明实施 例的以下详细说明中,阐述了很多具体细节,以提供对本发明的透彻理解 。然而,本领域的普通技术人员应认识到,没有这些具体细节也可以实践 本发明。在其他情况下,没有详细说明公知的方法、程序、部件和电路, 从而不会不必要地使本发明实施例的各方面模糊不清。示出本发明实施例 的附图是半示意性的,并未按比例绘制,具体而言,有些维度是为了更清 晰地进行呈现,并在附图中被夸大示出。类似地,虽然为了便于描述,附 图中的各个视图大体上示出了相似取向,但附图中的描绘在多数情况下是 任意的。一般而言,本发明可以在任何取向上操作。

符号和命名:

然而,应该牢记,所有这些和类似术语均与适当物理量相关联,并且 只是应用于这些量的方便标签。除非特别说明,否则如根据以下讨论可明 显看出,应理解的是,在本发明中,使用诸如“处理”或“访问”或“执 行”或“存储”或“渲染”等术语的讨论是指计算机系统或类似电子计算 设备的动作和过程,所述计算机系统或类似电子计算设备对计算机系统的 寄存器和存储器以及其他计算机可读介质内以物理(电子)量表示的数据 进行操纵,并转换成计算机系统存储器或寄存器或其他此类信息存储、传 输或显示设备内的同样以物理量表示的其他数据。当一个部件出现在几个 实施例中时,使用相同的参考号意味着该部件是与最初实施例所示部件相 同的部件。

本发明的实施例提供了一种方案以应对自动测试中实施统计过程控制 方法时面临的挑战。具体而言,通过提供机会以在对不正确测试的器件(例 如半导体晶片、片上系统(SOC)或集成电路等)或存在内在问题的器件 花费很多测试时间之前就校正生产和/或测试过程,本发明的实施例可以用 于不考虑简单的通过/失败结果而做出过程决策。在本发明的一个示例性实 施例中,公开了一种实时统计分析测试结果的方法。已采集大量测试结果 之后,可对已采集的测试结果进行统计分析,并响应于任何所识别的测试 错误或缺陷器件、半导体晶片或裸片执行动作。具体而言,可以在减少的 测试活动时段期间,例如探测与处理设备的转位时间期间进行统计分析。 而且,可以将附加材料处理命令(例如针头清洗、z高度调整、停止等)透 明地注入测试程序与材料处理器之间。

统计过程控制分析:

如此处所述,可以在示例性测试单元控制器的短环路中执行统计过程 控制(SPC)规则。SPC规则通过各种测试数据参数,例如参数测试值、合 格率值和箱子结果的统计分析提供早期检测、通知和控制动作。SPC规则 可以与正常的测试单元控制器程序活动(例如处理和探测设备通信)同步 执行。在一个示例性实施例中,SPC规则可以用于检测批次测试过程结果 受控还是失控。例如,失控的高斯过程参数分布可能具有偏离期望值的平 均或标准偏差统计数值的特征。在另一个示例中,高于正常标准偏差的iddq 测量(iddq测试是用于测试集成电路制造缺陷的方法)可能表明由于内部 损坏将出现早期故障的裸片。导通/非导通测试会漏掉该情况,而统计过程 规则分析则可以识别该情况。这些统计值可以在批次测试过程中现场监测, 识别的SPC失败(例如违反控制规则)可以用于触发校正或抛弃动作。通 过检测SPC规则失败并中止进一步测试,可以避免不必要的测试时间,可 以校正识别的问题,并且可以提高合格率及其他评估度量。

如此处所述,采用SPC规则分析的示例性实施例可以提供历史结果检 测,例如已经历太多次失败的箱子,合格率比其他场地低的场地,以及偏 离其受控理想值的统计值结果。SPC还可以检测通过但不在预测过程极限 内的零件上的问题。例如,虽然零件可能在硬极限内通过,但是SPC规则 违反一旦被实时检测到,就可用来确定过程问题存在并且可以被解决。

如下文详述,在测试单元控制器上执行的示例性统计分析和处理过程 控制框架可以提供很多益处。例如,非侵入地捕获测量值和箱子计数来计 算统计结果。测试包执行可以被同步化,而无需使用输入库调用或探测器/ 处理器(PH)钩子函数的执行。在一个示例性实施例中,测试包可以是定 义一个或多个测试的测试流程的一部分。在一个示例性实施例中,测试单 元控制器可以执行包括一个或多个测试包的测试流程。

SPC规则、结果分析和报告可以进行集中管理。SPC规则还可以整合 在现有的测试程序内,而无需对应用模型做出任何改变。当现有驱动器具 有所需的控制能力时,无需自定义驱动器就可以通过SPC规则动作来控制 探测器和处理器设备。最后,可以针对特定测试环境和特定被测器件创建 自定义SPC规则。表1列出了几个示例性SPC规则。示例性SPC规则可以 被自定义设计以用于特定类型的待监测数据、规则本身的类型以及可以因 相关联的SPC规则违反的检测而实施的活动的类型。SPC规则数据类型、 监测类型和动作不限于所示项。示例性SPC规则还可以包括用于监测其他 类型的数据和使用附加类型的分析和动作的增强。

表1:示例规则类型、监测的数据和采取的动作

具有集成统计分析和过程控制的测试单元:

如图1所示,具有集成统计过程控制的示例性自动测试设备100实施 例包括:测试单元控制器102、测试装置104、材料处理设备106、数据库 服务器112和web服务器114(例如包含控制规则配方和报告)。自动测试 设备100可以提供测试结果的实时统计分析以及对于测试程序103透明的 探测器或处理器命令的插入。在一个示例性实施例中,材料处理设备106 可以包括探测器108和处理器110。在一个示例性实施例中,探测器108是 插座或探针卡,其包括接触被测器件(例如半导体晶片、裸片等)的多个 插脚或针。如图1所示,测试单元控制器102可以包括测试程序103。测试 程序103可以包括应用模型。web服务器114可以用于输入SPC规则,分 析结果并监测过程。web服务器114还可以包括用于创建和编辑SPC规则 的基于web的SPC编辑器。在示例性实施例中,web服务器114可以是具 有web浏览器的台式计算机。除了测试之外,测试装置104还可以捕获测 试结果值、箱子计数以及用于测试SPC规则的各种类型的合格率计数。在 一个示例性实施例中,多个测试装置104可由测试单元控制器102控制, 并且被评估以用于统计过程控制。

数据采集结果(原始的和统计的)和SPC规则执行结果可以存储在数 据库服务器112上。web服务器114可以访问这些存储的结果以及其他工具, 如下文详述的那样。数据库112中的数据可以在SPC规则评估期间被分析 。在一个示例性实施例中,如下文所详述的,测试控制器102进一步包括 统计分析与过程控制框架,该框架非侵入地捕获测试结果,并以最低开销 和小代码足迹测试SPC规则。

SPC规则基于web的编辑器。

在一个示例性实施例中,如以下详述要执行的SPC规则通过web接口 (例如web服务器114)被创建和编辑,并存储在关系数据库中。测试程序 信息可以被导入以支持规则编辑(例如特定参数值,如定义的间隔、阈值 和趋势可以被选择和定义)。该信息可由软件箱子信息、硬件箱子信息、多 个可用测试包以及多个可用测试组成。如图2所示,一旦已在示例性图形 用户界面中选择208被测器件202、测试程序204和级206,就可以在web 接口中选择、编辑和定义与该测试程序204和被测器件202有关的各种规 则。图形用户界面可以进一步包括用于选择SPC规则的选择面板。选择测 试程序之后,可以选择与所选择的测试程序相关的SPC规则列表,以通过 对所选择的测试程序生成的测试结果进行统计分析来验证相关联的过程控 制规则。

如图2所示,在一个示例性实施例中,显示了箱子计数规则选择面板 210和测试值规则选择面板212。如此处所述,除了箱子计数和测试值规则 之外,还有合格率、测试时间和恢复率规则的选择面板可用,选择面板类 似于图2所示的箱子计数规则和测试值规则的选择面板。根据规则类型, 箱子计数规则选择面板210可以包括多个不同的可选择部件。 Limit_Monitoring(极限监测):Consecutive(连续)箱子计数规则210a可 以包括以下可选择部件:bin_type(箱子类型)220、bin_num(箱子号) 222、连续数量224、每场地名称226、动作228以及规则删除选项230。 Limit_Monitoring(极限监测):Total Count(总数)箱子计数规则210b可 以包括以下可选择部件:bin_type(箱子类型)220、bin_num(箱子号)222 、total_count(总数)232、动作228以及规则删除选项230。如图2还示 出,箱子计数规则210还可以具有各种不同的部件/字段,并产生不同的规 则,如Limit_Monitoring(极限监测):Consecutive(连续)箱子计数规则 202a和Limit_Monitoring(极限监测):Total Count(总数)箱子计数规则 202b所示的。

根据规则类型,示例性测试值规则选择面板212还可以包括多个不同 的可选择部件。如图2所示,示例性Limit Monitoring(极限监测):Default  Test Value(默认测试值)规则212a可以包括以下可选择部件:Test_name(测 试名)240、统计242、间隔244、sample_size(样本量)246、low_limit(下 限)248、high_limit(上限)250、单位252、动作228以及规则删除选项 230。示例性Limit_Monitoring:Site-to-Site(极限监测场地间):Default Test  Value规则212b可以包括以下可选择部件:Test_name(测试名)240、统 计242、间隔244、sample_size(样本量)246、场地间差值百分比252、 动作228以及规则删除选项230。

如表2进一步所示,可以创建和/或编辑5个不同的合格率规则。如表 2所示,每个合格率规则可以与多个参数相关联。在一个示例性实施例中, Limit_Monitoring(极限监测):Accumulate(累积)规则在每次测试流程执 行之后验证总合格率(来自一个或多个场地)。在一个示例性实施例中, Limit_Monitoring(极限监测):Rolling(滚动)规则以规则所定义的间隔验 证合格率。在一个示例性实施例中,Limit_Monitoring_Site_to_Site(极限监 测场地间):Accumulate(累积)规则在每次测试流程执行之后验证场地之 间的合格率差。在一个示例性实施例中,Limit_Monitoring_Site_to_Site(极 限监测场地间):Rolling(滚动)规则以规则所定义的间隔验证合格率,合 格率验证基于场地间的差值百分比参数。最后,在一个示例性实施例中, Trend_Monitoring(趋势监测):Default(默认)规则可以连续多次验证合格 率上升还是下降。

表2:创建和定义合格率规则

还如表2所示,可以针对每个规则定义多个参数。最小样本量参数可 以定义在验证SPC规则之前待测器件的最小数量。下限参数可以定义下限 合格率值;上限参数可以定义上限合格率值。Per_site(每场地)参数在验 证每场地时可以被定义为“YES”,在所有场地相结合时可以被定义为“NO” 。Sim_Prod(模拟_生产)参数可以定义对生产数据还是模拟进行测试。动 作参数可以定义要实现哪个动作(例如电子邮件、停止、针头清洗等)。滚 动合格率间隔参数可以在验证SPC规则之前定义待测器件的数量。场地间 差值百分比参数可以定义任何场地之间的最大合格率差(例如,如果设为 10%,则若场地之间存在大于10%的合格率差,规则就会失败)。样本量参 数可以定义在规则验证之前待测器件的最小数量。间隔参数可以定义SPC 规则验证之间的间隔。趋势类型参数可以定义趋势的类型(例如ASCEND 将验证合格率是否按照指定的次数上升,而DESCEND将验证合格率是否 按照指定的次数下降)。趋势计数参数定义若达到该计数,何时规则失败。

如此处所述及表3所示,在一个示例性实施例中,可以创建和定义4 个不同的箱子计数规则。每个箱子计数规则可以与多个参数相关联。在一 个示例性实施例中,Limit_Monitoring(极限监测):Consecutive(连续)规 则可以检验是否已超过连续箱子失败的最大数量。在一个示例性实施例中, Limit_Monitoring(极限监测):Total Count(总数)规则可以检验特定硬件 或软件箱子的总计数未超过定义的计数参数。在一个示例性实施例中, Limit_Monitoring(极限监测):Total Percent(总百分比)规则可以检验特定 硬件或软件箱子的总百分比未超过定义的百分比参数。在一个示例性实施 例中,Limit_Monitoring_Site_to_Site(极限监测场地间):Accumulate(累积) 规则可以检验以百分比表达的硬件或软件箱子差不能超过定义的场地间值 。

表3:创建和定义箱子计数规则

还如表3所示,可以针对每个规则定义多个参数。箱子类型参数可以 定义箱子是软件箱子还是硬件箱子。箱子号参数可以定义具体箱子。连续 参数可以定义连续箱子失败的最大数量。Per_site(每场地)参数在验证每场 地时可以定义为YES,在所有场地相结合时可以定义为NO。Sim_Prod(模 拟_生产)参数可以定义对生产数据还是模拟进行测试。动作参数可以定义 要实现哪个动作(例如电子邮件、停止、针头清洗等)。总计数参数可以定 义为给定硬件箱子或软件箱子的最大计数。样本量参数可以被定义为在执 行SPC规则验证之前待测器件的最小数量。总百分比参数可以定义为给定 硬件箱子或软件箱子的最大百分比。最小样本量参数可以被定义为在验证 之前待测器件的最小数量。site-to-site diff.percent(场地间差值百分比)参 数可以定义任何场地之间的最大合格率差。

如这里所论述及表4所示,在一个示例性实施例中,可以创建和定义3 个不同的箱子恢复率规则。如表4所示,每个箱子恢复率规则与多个参数 相关联。在一个示例性实施例中,Limit_Monitoring(极限监 测):Bin_Recovery_Rate(箱子恢复率)规则可以基于第一轮中所有失败箱 子计数的总数来检验给定箱子已恢复部分的百分比。在一个示例性实施例 中,采用以下公式:已恢复的箱子计数/第一轮中所有失败箱子计数的总数* 100。在一个示例性实施例中,Limit_Monitoring(极限监 测):Bin_Recovery_Rate_Efficiency(箱子恢复率效率)规则可以基于第一 轮中的箱子计数来检验给定箱子已恢复部分的百分比。在一个示例性实施 例中,采用以下公式:已恢复的箱子计数/第一轮中的箱子计数*100。在一个 示例性实施例中,Limit_Monitoring(极限监测):Overall_Recovery Rate(总 恢复率)规则可以基于第一轮中的所有箱子计数的总数来检验所有箱子已 恢复部分的百分比。在一个示例性实施例中,采用以下公式:所有已恢复的 箱子计数/第一轮中所述箱子计数的总数*100。

表4:创建和定义箱子恢复率规则

还如表4所示,可以针对每个规则定义多个参数。箱子类型参数可以 定义箱子是软件箱子还是硬件箱子。箱子号参数可以定义具体箱子。下限 百分比参数可以定义已恢复部分的百分比的下限。上限百分比可以定义已 恢复部分的百分比的上限。Sim_Prod(模拟_生产)参数可以定义对生产数 据还是模拟进行测试。动作参数可以定义当SPC规则失败时要实现哪个动 作(例如电子邮件、停止、针头清洗等)。

如此处所述及表5所示,在一个示例性实施例中,可以创建和定义4 个不同的测试值规则。如表5所示,每个测试值规则与多个参数相关联。 在一个示例性实施例中,Limit_Monitoring(极限监测):Default规则可以按 照间隔参数所定义的有规律间隔对照上限和下限来验证测试统计数值(例 如平均值、标准差、过程能力指数(CPK)等)。以测试的第一器件开始, 为每个统计数值编译的数据被累积(采集最小数量的样本之后执行任何统 计分析)。在一个示例性实施例中,Limit_Monitoring(极限监测):Site_to_Site  (场地间):Default(默认)规则可以验证各场地的测试统计数值(例如平 均值、标准差、过程能力指数(CPK)等),以间隔参数所定义的有规律的 间隔,将百分比差与场地间差值百分比极限相比较。以测试的第一器件开 始,为每个统计数值编译的数据被累积(采集最小数量的样本之后执行任 何统计分析)。在一个示例性实施例中,Trend_Monitoring(趋势监测):Default (默认)规则可以连续多次验证所选择的测试统计数值是上升还是下降。

在一个示例性实施例中,Marginal Monitoring(边际监测):Default(默 认)规则可以以间隔参数所定义的有规律的间隔,对照sigma表示的上边际 和下边际来验证测试平均值。以测试的第一器件开始,为每个统计数值编 译的数据被累积(采集最小数量的样本之后执行任何统计分析)。在一个示 例性实施例中,每个测试可以以测试极限和平均值之间的差的最小样本量 、间隔、下边际和上边际(所述边际以sigma标准差表示)来定义。在一个 示例性实施例中,在运行时,SPC模块可以在最小测试执行样本之后开始 检验边际规则。SPC规则可以以定义的间隔周期性地执行(例如SPC规则 被验证或检验等)。在一个示例性实施例中,SPC模块则可以计算具体测试 的下限与平均值之间的差,并确定平均值是否高于下边际参数以便通过该 规则。还要确定具体测试的上限与平均值之间的差,来判断平均值是否高 于上边际参数值。

表5:创建和定义测试值规则

表5还说明了可以针对每个规则定义多个参数。测试名称参数可以定 义选择哪个SPC测试进行监测。统计数值参数可以定义要执行的具体统计 数值估计(例如MEAN、MIN、MAX、STD、CP、SPK、CPL和CPU等) 。间隔参数可以定义验证SPC规则的间隔。样本量参数可以定义第一次检 验规则之前必须执行的测试执行的最小数量。下限参数可以定义所选择的 统计数值的下限。上限参数可以定义所选择的统计数值的上限。单位参数 可以定义期望的度量,例如微安等。sim_prod(模拟_生产)参数可以定义 对生产数据还是模拟进行测试。动作参数可以定义要实现哪个动作(例如 电子邮件、停止、针头清洗等)。site-to-site diff.percent(场地间差值百分比) 可以定义对于给定的统计数值、任何场地之间允许的最大百分比差。下边 际参数可以定义平均值与下限之间以sigma表示的最小差。上边际参数可以 定义平均值与上限之间以sigma表示的最小差。间隔类型参数可以定义验证 之间的间隔。趋势类型参数可以定义趋势的类型(例如选择ASCEND将验 证合格率是否按照指定的次数上升,而选择DESCEND将验证合格率是否 按照指定的次数下降)。趋势计数参数可以定义达到时使规则失败的计数。

如此处所述,还可以创建和定义示例性测试时间规则。每个测试时间 规则可以与多个参数相关联。在一个示例性实施例中,测试时间规则可以 以间隔参数所定义的有规则间隔、对照上限和下限来验证测试包测试时间 的最小值、最大值或平均值。在一个示例性实施例中,可以针对测试时间 规则定义几个参数。在一个示例性实施例中,测试时间规则包括以下参数: 测试包参数、统计数值参数、样本量参数、间隔参数、下限参数、上限参 数、单位参数、sim_prod(模拟_生产)参数以及动作参数。测试包参数可 以定义可选择用来监测的一个或多个SPC测试单元。统计数值参数可以定 义所选择的统计数值测试(例如MEAN、MIN和MAX等)。样本量参数可 以定义第一次检验SPC规则之前的测试包执行的最小数量。间隔参数可以 定义验证规则的间隔。下限参数可以定义所选择的统计数值的下限。上限 参数可以定义所选择的统计数值的上限。单位参数可以定义期望的度量, 例如微安等。sim_prod(模拟_生产)参数可以定义对生产数据还是模拟进 行测试。动作参数可以定义当SPC规则失败时要实现哪个动作(例如电子 邮件、停止、针头清洗等)。

如图2及表2-5所示并如此处所论述的,示例性SPC规则可以被自定 义。如此处所述,基于web的编辑器的示例性实施例可以提供可用于多种 类型的计算机的方案。与以专有格式存储SPC规则的方案相比,通过将规 则存储在数据库中,示例性统计分析和过程控制框架实施例可以使这些规 则对其他工具可用,还可以使得其他工具可以创建SPC规则。虽然这里所 示和论述的规则可以被创建和自定义,但通过要定义的附加的可选择参数, 其他控制规则也是可能的。

一种示例性可自定义的实用工具可以导入关于测试程序的基本信息。 该导入实用工具可以有助于在已运行测试程序之前确定可以将哪些箱子、 值和数据应用于SPC规则。导入实用工具能够获取该数据,并使其可用 于web编辑器,使得SPC规则选项基于实际待测器件以及要使用的测试程 序。导入实用工具提供测试ID、测试名称、测试包、测试单位和极限以及 软件/硬件和箱子号的一览表。然后这些具体测试细节可以由web编辑器用 于设置示例性SPC规则。

在一个示例性实施例中,导入实用工具可以取决于在SPC规则到位之 前至少被测试一次的器件的类型。在至少一次测试流程执行之后,可以进 行导入过程。在一个示例性实施例中,该操作可以是产品发布到生产的一 部分。因此,已执行导入之后,可以创建任何希望的SPC规则。如此处所 论述的,示例性SPC规则基于web的编辑器提供来自实际测试程序执行结 果的测试名称、测试包和箱子的导入。在一个示例性实施例中,可以针对 如何应用控制规则来执行控制。还可以执行这种控制来定义在多久之后进 行测试,从而在已收集适当样本之前不计算总合格率或某些其他统计度量 。

在一个示例性实施例中,可以指定每次规则失败的多个动作。进一步 的,当一个以上的规则失败时,可以确定执行动作的顺序。一种示例性统 计分析和过程控制框架可以考虑在评估单独SPC规则动作时这些动作的严 重度。例如,违反时造成停止的SPC规则比要求进行针头清洗的规则更严 重。在一个示例性实施例中,如此处所论述,箱子规则可以基于软件箱子 或硬件箱子。这可以提供强大的控制,因为软件箱子可以允许对非常具体 的测试失败进行检查,而硬件箱子有时可以是组合在一起的多个失败。

一种示例性web服务器114,如图1所示,可以允许输入SPC规则, 并提供SPC规则执行结果的显示。使用显示窗,如图3所示,可以看到测 试程序执行的SPC规则结果。如图3所示,一旦已选择208被测器件202 、测试程序204和级206,就可以看到各种测试结果。如图3进一步所示, 选择了被测器件202和测试程序204,就可以选择310具体测试单元302、 规则类型304、批次ID 306和晶片ID 308。这种选择可以允许分析规则类 型304、批次ID 306、晶片ID 308或具体测试单元302的测试结果。在一 个示例性实施例中,晶片ID 308可以是器件ID、片上系统(SOC)ID或集 成电路ID。

如图3进一步所示,示出了合格率规则执行的测试结果。合格率规则 测试结果面板312包括图2所示的SPC规则编辑器中定义的多个部件。如 图3所示,在一个示例性实施例中,测试结果按照分类可以包括每次测试 的start_time(开始时间)值320、host_name(主机名称)322、lot_ID(批 次ID)324、wafer_ID(晶片ID)326、min_sample_size(最小样本量) 值328、low_limit(下限)值330、high_limit(上限)值332、per_site(每场 地)字段334、选择的动作336以及规则结果338。如图3所示,可以为每 个晶片ID 326提供单独的测试结果。

该示例性显示可以按照器件、批次和分类号进行过滤。该显示窗的结 果可以是现场的,但延迟30秒。在一个示例性实施例中,SPC规则验证结 果可以在30秒内存储在数据库中。在一个示例性实施例中,新SPC规则可 以仅应用于下一个待测批次。这保证从不在批次中间改变SPC规则。如下 文所详述,web服务器114可以被整合到统计分析和过程控制框架中,该框 架提供SPC规则执行(例如规则的验证和针对规则失败而执行的动作)和 优化的过程控制。如以下所述,SPC规则可以在短环路控制和/或长环路控 制中执行。

短环路控制中的SPC规则执行:

如下文所详述,在一个示例性实施例中,SPC规则的执行可以分为短 环路控制或长环路控制。短环路控制规则基于立即可用的数据在测试单元 内提供过程控制。短环路控制规则可以在减少的测试时段期间,例如处理 设备106的探测器108和处理器110的转位时间期间(从当前测试流程结 束到下一测试流程执行开始之间的时间段,例如将探测器108从晶片上的 一个XY位置定位到晶片上的另一个XY位置所花的时间)或当处理设备 106(例如处理器110)为下一个待测批次或裸片做准备时执行。当从测试 包程序接收测试流程完成事件时,状态机可以触发SPC规则的验证,如果 SPC规则失败,则可以采取由此产生的动作。在一个示例性实施例中,短 环路控制可以提供分析和如表6所示的动作。例如,如果响应于SPC规则 的违反而请求探测器或处理器动作,则状态机可以在下一个器件被执行之 前抑制探测器或处理器驱动器。

表6:示例短环路控制规则

在一个示例性实施例中,基于可以存储在测试单元控制器存储器中的 当前数据和结果,可以实现短环路控制。该短环路可以与处理设备/探测器 转位时间(例如如此处所论述的由于各种原因造成的测试暂停)同步化, 以降低对吞吐量的影响。可以在测试流程执行之后立即评估结果。因此, 在一个示例性实施例中,可以在最近的裸片或封装之后停止测试执行。示 例性实施例基于当前批次执行,将过程控制参数与已知度量相比较。例如, SPC规则可以确定iddq标准差统计结果是否高于被测批次的极限。

长环路控制中的SPC规则执行:

一种示例性长环路控制可以基于历史数据(例如存储在数据库中并在 测试器、批次和测试场所之间进行比较的数据)的分析。一个示例性实施 例可以在具有中央数据库的长环路中执行SPC规则。测试流程执行之后仍 可以发生动作,但这些动作基于先前收集的数据。在一个示例性实施例中, 存储的数据来自先前的批次或其他测试单元。长环路控制可以将过程控制 参数与已知度量和来自先前执行的数据相比较。例如,10个测试单元可以 测试同一种类型的器件、批次或裸片。在该示例中,统计分析可以确定10 个测试单元中的1个测试单元交付的合格率比其他9个测试单元交付的合 格率低10%。在该示例中,可以将主体失败的测试单元脱离线上,并且识 别和替换失败的部件,例如通道卡。替换了失败的通道卡,后续统计分析 可以表明测量的合格率已跳回主体测试单元的正常范围。注意:合格率统 计数值在短环路规则分析中可能仍可接受,但与长环路中的先前批次相比 时失败。在一个示例性实施例中,SPC规则也可以在长环路中执行,该长 环路将测试台之间、测试器之间、批次之间以及晶片之间的测试结果进行 比较。

短环路与长环路之间的比较:

一种示例性短环路规则分析允许用户对照被测器件的已知绝对值,例 如最大标准差和最小合格率来检验过程控制参数。一种示例性长环路控制 允许用户对照这种类型的被测器件和测试程序的正常情况(例如正常合格 率)来检验过程控制参数。长环路规则分析允许用户检测批次(时间)、测 试单元以及晶片之间的测试结果的退化。短环路控制和长环路控制可以帮 助识别例如不良测试器硬件引起的过程控制变化、制造过程的变化、不正 确的设置或有故障的处理设备、接触器或探针卡。一种示例性短环路可以 用于保证基本过程处于定义的极限内,而一种示例性长环路允许将历史正 常处理结果与当前结果相比较。

统计分析和过程控制框架

图4示出了一种示例性统计分析和过程控制框架。图4所示的模块构 成统计分析和过程控制框架的主要部件。这些示例性模块可以在通过测试 单元控制器102同步化的状态机的指导下执行其各个务。在一个示例性实 施例中,统计分析和过程控制框架的所有模块都在测试单元控制器102上 运行,多数CPU加载发生在处理设备106的探测器108和处理器110的转 位时间期间(例如在测试的测试流程准备执行时的测试休止时段)。在测试 程序103的减少的测试活动期间,提高的计算能力可用于结果计算,如下 文所详述。

如图4所示,一种示例性统计分析和过程控制框架400包括批次配方 控制模块402、事件监测器404、状态机406、统计过程控制(SPC)模块 408、箱子控制模块410、测量值监测器(MVM)412和探测器/处理器(PH) 管理器414。一种示例性批次配方控制模块402在经状态机406请求时可以 向数据库服务器416查询期望的SPC规则。在一个示例性实施例中,这发 生在批次测试开始时。

在一个示例性实施例中,构成统计分析和过程控制框架400的模块可 以通过测试单元通信框架互连。在一个示例性实施例中,模块间命令可以 使用构架独立共享存储结构和常见信号量同步模式来实现。在一个示例性 实施例中,模块间命令可以包括命令和相关联的参数(例如命令参数可以 是键值对、原始文本或原始二进制的字典)。构架独立共享存储结构和常见 信号量同步模式的使用可以允许互连的模块发送和接收命令,并快速高效 地接收事件通知。在一个示例性实施例中,模块可以将命令直接传达给彼 此,而无需经过中央服务来路由,并且事件通知,如此处所述,可以利用 信息队列和缓冲区来实现。事件可以经过中央调度器(例如事件监测器404) 来路由,中央调度器随后将事件通知转发到所有模块。如此处所论述的, 命令(例如从状态机406到SPC模块408的命令)可以直接从起始点发送 到目的地模块,而事件通知则可以从起始点发送到测试单元通信框架上的 所有模块。

一种示例性测试单元通信框架可以支持对统计分析和过程控制框架 400的模块的事件通知,使得这些模块可以跟随测试进程。在一个示例性实 施例中,可以预期或预测可用的计算资源的即将到来的计算窗,使得SPC 规则执行能够实时发生而不造成测试进程的中断。事件通知可以非同步发 送,而命令可以同步生成。

如下文详述,诸如状态机406和SPC模块408等模块的动作可以依赖 于接收关于测试单元中活动的事件通知。这些事件通知将正在发生什么事 件以及测试单元目前是在测试流程中的哪个地方通知给互连模块。例如, 当事件通知报告已进入减少的测试时段(例如当探测器/处理设备转位时段 已开始,例如当一个批次或裸片已完成测试,下一个批次或裸片被定位并 移动到测试位置中,或当XY位置的当前测试流程完成,探针108被移动 到新的XY位置等),状态机406可以利用测试通知来触发SPC模块408进 入一轮SPC规则验证。在一个示例性实施例中,SPC模块408在来自状态 机406的命令的指导下执行SPC规则验证,其中状态机跟踪测试过程的状 态,例如测试单元是在测试过程中的哪个地方以及准备验证哪些SPC规则 。在一个示例性实施例中,在裸片或批次开始或结束时或在针头清洗或其 他变化之后执行的SPC规则可依赖于所接收的事件通知。例如,当已满足 特定测试条件,例如下一次执行SPC规则之前或测试开始或结束时已测试 的预定量的部分(例如间隔)时,SPC模块408可以执行SPC规则验证。 如此处所论述的,在一个示例性实施例中,可由SPC模块408在接收的事 件通知决定的来自状态机406的命令的指导下执行SPC规则验证。

事件监测器404,如图4所示,可以提供引起状态机406状态转换的事 件。这些事件也可以用于其他模块。事件的示例性例子有 TESTPROGRAM_EXEC_STARTED(测试程序运行开始), TESTPROGRAM_EXEC_COMPLETED(测试程序运行完成), LOT_STARTED(批次开始)和TESTFLOW_EXEC_COMPLETED(测试流 程运行完成)。一种示例性状态机406可以通过事件转换来跟踪当前状态。 这些示例性状态转换可以执行示例性函数回调,该函数回调可以引起SPC 规则被评估。在一个示例性实施例中,状态机406可以同步化SPC规则下 载、评估、动作执行和报告。如此处所论述的,事件监测器404生成的事 件通知可以通过测试单元通信框架被传输到统计分析和过程控制框架400 的所有模块,使得当发生关键事件时,可以通知诸如状态机406和SPC模 块408等模块。在一个示例性实施例中,如此处所述,状态机406可以基 于接收的事件通知向SPC模块408发送命令以进行SPC规则验证。

一种示例性SPC模块408可以使用在批次开始时查询的SPC规则,并 且在状态机406的控制下以要求的间隔执行那些规则。该示例性统计过程 控制模块408还可以使用箱子控制模块410和MVM模块412以用于SPC 数据。在一个示例性实施例中,SPC模块408执行SPC规则(例如执行SPC 规则的所有验证和评估)。一种示例性箱子控制410可以跟踪总箱子计数、 连续箱子计数和合格率值(总的和每场地的)。在一个示例性实施例中,箱 子控制410跟踪合格率和分箱值。

一种示例性MVM模块412可以跟踪总的和每场地的值和测试时间统 计数值,并且还以30秒的间隔获取原始数据。在一个示例性实施例中,MVM 模块412可以监测测试结果并提供即时统计计算。一种示例性探测器/处理 器管理器414可以在应用模型或状态机406的请求下加载并控制探测器或 处理器驱动器的执行。在一个示例性实施例中,探测器/处理器管理器414 可以提供可编程释抑状态用于执行SPC规则发起的动作(例如:针头清洗) 。如下文所论述的,释抑状态可以在执行状态机406发出的探测器或处理 器命令时抑制测试程序103发出的探测器或处理器命令。这种释抑对于测 试程序103来说是透明的。

在一个示例性实施例中,统计分析和过程控制框架400可以允许与模 块进行有效通信并控制所述模块,这些模块能够采集SPC所需的数据,例 如参数测试值统计数值和测试时间统计数值。然后该框架可以允许在SPC 规则失败时快速且透明地执行短环路中的SPC动作。在一个示例性实施例 中,可以以最小开销来检验短环路SPC规则,并且响应于检测的过程控制 规则失败做出的动作可以快速发生。示例性统计分析和过程控制框架400 的实施例能够通过提供非常快的通信来实现这一点,所述通信包括模块间 命令和事件通知。所述通信可以与状态机模块406相协调。因此,每个模 块可以知晓关键的测试单元事件,例如准备运行的测试单元程序或测试流 程执行的结束。

在一个示例性实施例中,统计分析和过程控制框架400使用具有执行 特定动作的部件(例如模块)的模块构架。一种示例性统计分析和过程控 制框架400的核心是状态机模块406,该状态机模块协调SPC规则查询、 SPC规则执行(例如验证)以及所需动作的执行。状态机模块406与评估 SPC规则所需的每个模块通信。在一个示例性实施例中,MVM模块412 可以提供关于测量值和测试包测试时间的原始数据和统计数据。箱子控制 模块410能够提供箱子计数和合格率(总的和每场地的)。探测器/处理器管 理器414还可以在必要时释抑进一步的测试执行。在评估SPC规则时可以 执行下一个测试流程。

状态机模块:

如图4和图5所示,可自定义状态机模块406可以将所有部件与测试 单元控制器102和材料处理设备106同步化。可以在示例性 state_machine.xml文件中定义表格驱动的状态机模块406。在其他实施例中, 可以使用其他文件格式。该文件可以描述事件如何引起一个状态到另一状 态的转换,以及在状态变化时应调用哪个C++回调函数502。C++回调502 可以实现SPC规则动作(规则验证等)。该XML文件定义可能的事件和当 前状态,以及对于当前状态和事件来说下一个状态是什么。每次转换可以 具有回调和转换ID。一种示例性state_machine.xml还可以定义所有可能的 状态,并且对相同的但由不同事件引起的转换提供唯一的回调。对特定转 换执行的每个示例性回调都可以与统计分析和过程控制框架模块通信,以 产生特定动作(例如检验SPC规则或执行动作)。

表格状态机模块406可以允许使用与硬编码的状态机相比容易理解、 修改和支持的程序码。SPC模块408可以在状态机模块406的指导下执行 SPC规则。在一个示例性实施例中,状态机模块406不知道SPC模块408 将执行哪些SPC规则。换言之,虽然状态机模块406可以基于接收的事件 通知(例如识别用于有效处理的特定间隔或期望的计算窗)向SPC模块408 发送触发器以开始SPC规则执行,但状态机模块406不知道响应于SPC规 则触发器将验证哪些SPC规则。状态机模块406可以在模块之间做出仲裁, 并且当已发送引起物理动作的命令(例如向探测器/处理器管理器414发出 命令)或某个其他动作时,状态机模块406可以在已发送冲突命令时做出 仲裁。

批次配方控制模块:

如图4和图6所示,一种示例性批次配方控制模块402提供与数据库 服务器416的接口。当批次开始时,批次配方控制模块402从数据库服务 器416下载批次配方,包括SPC规则。在一个示例性实施例中,批次配方 控制模块402可以提供基于当前被测器件、测试程序和/或分类号向数据库 416查询SPC规则的能力。在一个示例性实施例中,这些SPC规则可能先 前已被测试或产品工程师存储。批次配方控制模块402向数据库416查询 SPC规则,然后将其格式化到C++数据结构中,所述结构被SPC模块408 用来针对每次SPC规则违反评估、执行和确定动作。当新批次开始(通过 接收的事件通知确定)时,SPC规则的下载可以被状态机模块406触发。 在一个示例性实施例中,任何其他模块均可以查询当前的一组SPC规则, 但SPC模块408承担SPC规则执行的主要责任。

统计过程控制(SPC)模块:

如图4和图7所示,一种示例性SPC模块408可以负责执行SPC规则 并确定是否需要动作。在一个示例性实施例中,SPC模块408可以被处于 诸如探测器/处理设备转位、晶片结束和批次结束等特定状态的状态机模块 406调用。在一个示例性实施例中,当SPC规则失败时,SPC模块408可 以返回结果和任何所请求/所需的动作到状态机模块406。在一个示例性实 施例中,状态机406执行所需的动作。SPC规则结果可以在30秒内存储在 数据库416中。在一个示例性实施例中,SPC规则结果可以根据可配置参 数存储在数据库416中。可配置参数可以设置向数据库416发送数据的间 隔。例如,可以选择诸如5、10或30秒的任何间隔。

在一个示例性实施例中,SPC模块408使用来自批次配方控制模块402 的SPC规则,并确定将在何时验证SPC规则,要检验哪些参数,以及对于 规则失败要执行什么动作。在一个示例性实施例中,SPC模块408只评估 SPC规则,将规则动作(例如响应于规则失败的动作)留给状态机406。SPC 模块408将通过/失败状态和动作传达给状态机模块406。在一个示例性实 施例中,状态机模块406通过调用SPC模块408然后接收来自SPC模块408 的SPC规则执行结果来执行SPC规则评估。在一个示例性实施例中,可以 在测试流程评估结束、晶片结束或批次结束时评估SPC规则。这种评估可 以在处理设备106的探测器108和处理器110的转位时间(例如上一次测 试流程结束和下一次测试流程执行开始之间的空闲时间,在该时间内可以 执行各种操作,例如器件断开、分箱、将探测器108从芯片上的一个XY 位置移动到另一个XY位置等)期间定时发生。

探测器/处理器(PH)管理器:

如图4和图15所示,如下文详细所述,一种示例性探测器/处理器管理 器414可以从多个起始点接收多个命令,所述起始点由探测器/处理器管理 器414在状态机模块406的指导下仲裁。当来自状态机模块406和SPC模 块408的命令被探测器/处理器管理器414执行时,从测试程序103接收的 命令可以被抑制。一旦探测器或处理器命令完成,该抑制就可以被释放。 如下文所述,来自状态机模块406的探测器或处理器命令的插入对于测试 程序103的应用模型来说将是透明的。例如,如果测试程序103的应用模 型是查询新的待测部分,则可由测试程序103发出命令,以确定哪些测试 部分可用,而在后台,状态机模块406可以决定使来自测试程序103的任 何命令在探测器/处理器管理器414处被抑制,而来自状态机模块406的另 一个探测器或处理器命令首先执行。

箱子控制部件:

如图4和图8所示,一种示例性箱子控制模块410可以跟踪分箱和合 格率值。箱子控制模块410能够为SPC模块408以及需要访问该信息的任 何其他部件(例如合格率监测器或晶片图显示器)提供命令接口。在一个 示例性实施例中,箱子控制模块410可以评估软件和硬件箱子计数以及总 的和每场地的合格率计数。一种示例性箱子控制模块410还可以跟踪连续 箱子计数。这些计数与总的和每场地的合格率可以用于实现跟踪这些数量 的SPC规则。

测量值监测器(MVM)模块:

如图4和图9所示,一种示例性MVM模块412可以执行表7所列的 以下动作中的一个或多个:

表7

在一个示例性实施例中,MVM模块412可以是能够捕获测量值和测试 包测试次数的测试程序事件数据记录(EDL)客户端。在一个实施例中, EDL事件流可以是包含测试信息和测试结果的测试程序事件流。MVM模 块412还可以监测EDL事件流并捕获有用数据,或者测试程序103正在运 行时的现场数据,或使用保存的数据收集文件的离线数据。MVM模块412 既可以以在线模式也可以以离线模式处理EDL事件流。MVM模块412处 理来自很多测试执行的捕获值,以报告统计数据,例如平均值、最小值、 最大值和标准差。MVM模块412还收集对于每次测试单元执行的开始和完 成时间戳,以便其能够报告测试包测试时间。这些测量值可用于生成关于 每个指定测试包的最小值、最大值和平均开始时间值的统计数据。除了各 值和测试时间的统计报告之外,MVM模块412还可以每隔30秒写入原始 值日志文件。这些文件能够提供在测试晶片时现场显示值和测试时间晶片 图的能力。

可以向示例性MVM模块412实施例现场查询SPC规则评估。MVM 模块412还可以周期性地写入原始或统计晶片(例如被测器件)文件,这 些文件可以被web服务器902用来显示摘要屏幕,例如晶片图,晶片图提 供半导体晶片等的测试结果的图。一种示例性状态机模块406还可以初始 化具有应被监测的测试的MVM模块412,并且SPC模块408能够根据需 要进行查询以评估SPC规则。

在一个示例性实施例中,所有MVM数据都可以保持在存储器,例如 数据库服务器416中。这种存储器存储可以提供快速查询时间,并在处理 用于统计报告的大组数据时改进处理时间。在一个示例性实施例中,任何 需要保存的数据均可以在晶片测试期间或在晶片或批次结束时被自动写入 XML文件中。在一个示例性实施例中,如图9所示,MVM模块412还可 以有本地MVM客户端图形用户界面(GUI)904的支持,该图形用户界面 允许直接查询,并以图表、直方图和晶片图的形式显示MVM数据。本地 MVM客户端GUI 904也可以在统计分析和过程控制框架400运行时使用。

统计过程控制自定义:

灵活的部件框架通过允许创建附加规则以及进一步编辑和修改已有 SPC规则,使得能够实现SPC规则自定义。这里也详细说明了利用基于web 的SPC规则编辑器进行这种SPC规则的编辑和创建。自定义部件420,如 图4和图10所示,通过共享用于发送和接收事件通知和命令的相同测试单 元通信框架,可以与标准部件无缝整合。因此,自定义部件将能够与其他 模块通信并接收测试单元事件,使得自定义部件可以与测试单元活动同步 。自定义模块的一个例子是示例性过程参数控制(PPC)模块1102。如图 11所示,如此处所论述的,PPC模块1102可以在批次开始过程中被状态机 模块406调用。

过程参数控制模块:

如图11所示,一种示例性过程参数控制(PPC)模块1102能够跟踪当 运行测试程序103时可以使用的临界参数。这些参数可以包括测试程序名 称、探针卡ID、探测器固件修订版、探测器驱动器配置以及具体探针卡的 触地数量。PPC模块1102可以检验被发现对批次执行的低合格率或不佳吞 吐量负责的临界参数。通过确保参数正确,统计分析和过程控制框架400 可以避免可能由于测试设置错误而浪费的测试时间。包括PPC模块1102的 统计分析和过程控制框架实施例400可以提供一种通过确保所有设置参数 都正确来提高合格率的方式。可以发现很多低合格率批次是由简单问题造 成的,例如:探针卡(例如触地)磨损,测试程序不正确,处理设备错误, 或固件错误。通过在批次开始时检验这些参数,统计分析和过程控制框架 400可以因此避免代价高昂的测试错误。

此处所述的统计过程控制方法可以提供一种在测试过程问题会影响测 试单元吞吐量之前提早识别这些问题的有效方式。此处所述的模块框架可 以应对与晶片分类或最终测试时在测试单元控制器102上执行SPC规则相 关联的挑战。模块方法允许要素整合和自定义的高度灵活性,能够与现有 测试单元一起工作。统计分析和过程控制框架400的一个示例性实施例可 以有效监测和控制生产测试,还提供像MVM模块412之类的在新的被测 器件爬坡阶段过程中表征该器件的工具。

SPC规则能够在自动测试设备环境下提供实时控制。SPC规则能够提 供最佳水平的设备自校正。例如,虽然测试结果可以是通过了通过/失败准 则,但在SPC规则下,检测到的还未达到失败水平的质量下滑趋势可以被 校正,以达到期望的最佳水平。

因此可以使用此处所述的示例性统计过程控制方法,以超越简单的通 过/失败测试。统计分析和过程控制框架400提供了一种定量测量参数运行 离正常过程有多远的方式。利用合格或失败测试,只能提供简单的黑白答 案,但利用上述统计过程控制方法,可以提供对于实际上正在发生什么的 灰度答案。示例性统计分析和过程控制框架400实施例提供了用于实现上 述统计过程控制方法的必要模块,并且其方式以引入可忽略的开销的方式 来完成。进一步的,示例性实时统计过程控制和动作可以在不改变应用模 型或写入自定义探测器或处理器驱动器或钩子函数的情况下被实施。

示例性统计分析和过程控制框架模块,例如MVM模块412、箱子控制 模块410和探测器/处理器管理器414,也可以在工程表征过程中被使用, 以分别检查临界值,监测箱子结果,并以交互模式使用探测器108。如此处 所论述的,统计分析和过程控制框架400实施例还可以提供图形用户界面, 以用于访问模块,用于交互地访问和自定义过程控制规则(及其参数),并 且用于在被测晶片或其他器件仍在运行时交互地查询结果。

描述测试单元控制的算法和结构:

提供了一种算法和结构,以创建并定义在创建决策树时使用的SPC规 则(控制规则和活动)。在一个示例性实施例中,多个SPC规则可以组合成 一个决策树,创建和/或遵循可以确定何时验证SPC规则以及响应于SPC规 则失败执行活动的顺序的算法,以便首先对更多临界或优先级SPC规则失 败/违反采取行动。在一个示例性实施例中,决策树可以包括多个SPC规则, 这些SPC规则可以按照可最佳描述生产故障排除的建模过程的复合方式来 执行。例如,多个SPC规则可以一起执行,这样连续箱子失败SPC规则就 可以与针头清洗然后对先前已知的良好裸片进行再测试相结合,。

在一个示例性实施例中,SPC规则定义可以在数据库416中被集中存 储和管理以服务于多个目的。例如,SPC规则可以以长环路格式或短环路 格式执行。在一种长环路格式中,SPC规则执行的历史分析可以用于定义 运行时间的最佳SPC规则集(以及选定SPC规则集的最佳顺序,和最佳SPC 规则组合)。在一个示例性实施例中,历史分析可以为了模拟的目的精确描 述运行时间环境。进一步的,历史分析可以包括与带电设备上运行时间执 行有关的预测优值的计算。在一个示例性实施例中,SPC规则可以在历史 数据上执行,就像数据是现场的一样。基于这些模拟的结果,SPC规则可 以被最佳细化,使得可以在生产测试时执行改进的SPC规则。

在一个示例性实施例中,可使用结构来定义并描述SPC规则。数据源 (参数)可以被定义为具体SPC规则的监测器输入。然后可以定义使用监 测器输入的规则(统计和函数)。可以定义基于规则输出而断言的动作和事 件。在一个示例性实施例中,该结构可以是灵活的以定义从源到规则到动 作的多对多关系。在一个示例性实施例中,决策树可以包括多个SPC规则, 所述规则可以以最佳组合被载入并在运行时间以最佳序列被执行。在一个 示例性实施例中,通过使用可以用于试图使设备恢复到运行健康状态的最 佳组合的SPC规则和动作,SPC规则结构可用于在检测到SPC规则违反时 提供自动动作并使设备恢复到运行健康状态。

在一个示例性实施例中,可以在运行时间执行SPC规则结构。这种结 构在运行时间被执行时可以定义任何SPC规则违反的严重度以及响应于任 何SPC规则违反确定的控制优先级。最后,SPC规则结构可以避免与其他 控制实体发生冲突。例如,虽然SPC规则可以断言设备维护动作的执行, 但如果测试单元刚执行了自动时间表上的请求的维护事件,则不会执行请 求的动作(因为它已经在自动时间表上执行)。

在一个示例性实施例中,统计过程控制规则还可以用于动态调整发给 处理设备106的探测器108和处理器110的命令的调度。例如,可以动态 调整探测器针头清洗的调度,而不是以固定方式(例如每50个裸片之后清 洗针头等)执行针头清洗。这种静态时间表可能不是最佳的。如果针头清 洗得太频繁,针头就会过早磨坏,但如果针头清洗得不够频繁,杂质就可 能聚集在针头上。利用统计分析和过程控制管理,可以以最佳方式而非遵 循严格时间表进行针头清洗。以类似方式,当状态机模块406接收到事件 通知,例如测试通知结束时,状态机模块406可以确定目前是SPC规则验 证的适当时间。因此状态机模块406可以向SPC模块408发送SPC规则触 发器,并且因此,SPC模块408将开始执行通过分析SPC模块408所接收 的事件通知而确定的被选择用于验证的SPC规则(单个地或组合地)。

图12示出了选择并安排SPC规则到决策树中,执行决策树中的SPC 规则(单个地或组合地),以及响应于SPC规则失败而执行动作的过程的步 骤。在图12的步骤1202中,访问SPC规则库并选择多个SPC规则。选择 的SPC规则可以被安排到决策树中。一旦安排到决策树中,就可以按照决 策树安排以及接收的事件通知的分析所决定的那样执行选择的SPC规则 (例如被选择进行验证的SPC规则(单个地或组合地)可以基于测试单元 事件被选择并且以最佳顺序执行,并且任何所需的动作都可以按照每次 SPC规则失败的优先级所确定的顺序来执行)。

在图12的步骤1204中,接收请求的测试结果统计分析。每个SPC规 则均可以选择一个或多个测试结果统计分析。这些请求的统计分析将针对 相应的SPC规则验证被评估。如此处所述,直到按照测试结果和接收的事 件通知所确定的那样达到定义的测试进程间隔极限,才会验证SPC规则(单 个地或组合地)。

在图12的步骤1206中,SPC规则执行其定义的所接收的一个或多个 测试结果统计分析的评估。可以针对期望的统计测试来定义和/或编辑例如 由测试值监测器412执行的统计测试。还为了在达到相应间隔阈值和/或事 件通知时的SPC规则验证而执行统计测试。如此处所述,执行的统计测试 可以针对定义的SPC规则组合。

在图12的步骤1208中,SPC规则可以响应于一个或多个相关联的统 计分析而选择要执行的动作。例如,如此处所述,如果SPC规则验证失败, 则可以执行相关联的动作。在一个示例性实施例中,当多个SPC规则失败 时,可以首先执行具有最高优先级的SPC规则的动作。

测试单元控制器的决策树创建和调度:

如图13所示,在测试单元控制器102的一个示例性实施例中,可以创建 、安排并执行用于SPC规则执行的决策树。在一个示例性实施例中,通过 同步化与处理设备106的探测器108或处理器110的操作同步的SPC规则 执行和动作,可以减少等待时间。如图13所示,在一个示例性实施例中, 在执行器件测试1302之间,可以识别测试休止时段,例如探测器和处理设 备转位时间1304。在一个示例性实施例中,转位时间持续400-600ms。正 是在这些测试休止时段(例如转位时间)1304内可以实现包括SPC规则的 决策树的创建、调度和/或执行。如图13所示,可以在测试休止时间(例如 转位时间)1304期间执行MVM捕获1306、SBC捕获1308、PPC和SPC规 则执行1310以及后续SPC规则发起的动作(例如探测器108和处理器110 的动作)1312。

如此处所论述的,一种示例性“转位时间”是上一个测试流程结束和 新测试流程执行开始之间的总时间。该时间可以包括很多不同的操作,例 如器件断开、分箱等。在一个示例性实施例中,从一个器件到另一个器件, 晶片分类时的转位时间是将探测器108从晶片上的一个XY位置定位到晶 片上的另一个XY位置,并通知测试控制器准备下一测试执行所花费的时 间。在最后一次测试中,转位时间是指处理器110进行下述操作所需花费 的时间:将封装从插座移出,将其分箱到好/坏托盘中,将另一封装插入插 座中并通知测试器封装已准备好进行测试。

在一个示例性实施例中,可以识别机会计算窗,以减小SPC规则执行 等待时间,这样就可以以低等待时间和接近于零的开销或对连续测试过程 的测试时间影响来执行决策树。例如,可以在当前测试过程的空闲时段期 间执行决策树中的SPC规则的执行。例如,如图13所示,可以在探测器和 处理设备转位时间期间执行SPC规则。可以在低测试活动时段期间验证 SPC规则,这样就可以在没有进行测试监测的时段(例如测试计算时段) 时进行测试结果的分析(例如结果计算时期)。可以识别和定义计算窗,这 样就可以识别计算窗打开和关闭的时间。计算窗的定义(例如其开始和结 束时间)可以用于结束、延迟或同步化决策树的创建和执行。

在一个示例性实施例中,计算窗的定义包括事件调度。事件调度可以 包括与材料处理设备106通信,以收集有关其他材料被定位在哪里的事件 信息,从而确定窗对于同步的决策树创建和执行的可用性。在一个示例性 实施例中,可以确定步进事件的变化性,以可预测地确定机会窗(例如在 晶片分类、晶片结束等时X轴和Y轴的步进变化性)。

在识别的计算窗期间创建并执行决策树可以提高示例性统计分析和过 程控制框架实施例提供适应性测试程序环境的能力。测试程序环境可以执 行过程漂移检测和预防,以提醒、停止产品流或对产品流自动采取动作, 从而避免产生“劣质”产品。在一个示例性实施例中,可以在运行的生产 过程内在计算窗中执行维护自动化,例如诊断程序,这可以改进维护和维 修过程的结果。

在一个示例性实施例中,决策树的创建和执行可以与测试单元内的其 他处理同时进行。例如,,计算窗可以与上文所论述的任何探测器/处理器管 理器414发起的抑制同时发生。

图14示出了在计算能力提高的识别的计算窗中创建并执行决策树的过 程的步骤。在图14的步骤1402中,确定计算窗。在一个示例性实施例中, 计算窗是计算能力提高的时间段。如此处所论述的,计算能力提高的时间 段可以与测试休止时间段,例如探测器/处理设备转位时间,或如此处所论 述的测试活动减少其他时间段重合。在一个示例性实施例中,基于计划或 预测的测试活动来识别计算窗。

在图14的步骤1404中,在识别的计算能力提高的计算窗期间创建决 策树。在一个实施例中,计算能力提高的时间段与降低的测试活动重合。

在图14的步骤1406中,在识别的计算能力提高的计算窗期间执行决 策树,该计算窗与测试活动降低的时间段重合。在一个实施例中,决策树 的执行可以在与创建决策树时的计算窗不同的计算窗中发生。在一个示例 性实施例中,决策树的执行包括以下各项中的至少一项:测试数据获取、 测试数据统计分析,以及响应于测试数据的统计分析的动作执行。

PH管理器模块和代理PH驱动器:用于在不中断测试单元操作的情况下注 入控制或数据收集的插入器:

如图15所示,探测器/处理器管理器414可以作为插入器使用,以将动 作或数据收集插入到测试单元操作中。如此处所述,在一个示例性实施例 中,可以将探测器或处理器命令注入生产过程中,命令被无缝注入,不中 断测试单元。如图15所示,测试程序103发送函数调用,进而从代理探测 器/处理器驱动器1502接收响应。接收函数调用后,可以将函数调用从代理 PH驱动器1502转发到探测器/处理器管理器414,其中可以通过自定义或 标准PH驱动器库1504将控制命令和其他状态请求通信传达到材料处理设 备106的探测器108或处理器110。在一个实施例中,控制命令和状态请求 通信是GPIB命令。在一个示例性实施例中,控制命令和状态请求通信可以 通过诸如GPIB、RS-232和LAN等总线传输。

如图15所示,可以在状态机406和测试单元API 1508之间插入测试执 行服务器1506。在一个示例性实施例中,状态机406可以通过测试执行服 务器1506访问测试单元API 1508。同样如图15所示,通过测试执行服务 器1506将警报和事件传递到状态机408。换言之,测试执行服务器1506可 以用于将测试单元API 1508隔离,使其不能从测试单元的模块直接访问。 在一个示例性实施例中,测试执行服务器1506充当状态机和测试单元API 1508之间的接口。警报和事件可以由测试执行服务器1506接收,该测试执 行服务器进而将警报和事件分发到状态机406和测试单元构架中的其他模 块。

在一个实施例中,不具备插入命令的能力,测试程序103的应用模型 调用与材料处理设备106(例如探测器108或处理器110)直接通信的库驱 动器。因此,在示例性实施例中,安装代理库1502,其中测试程序103的 应用模型将查找驱动器库。在一个实施例中,代理库1502对于测试程序103 的应用模型而言看起来像传统库。如此处所述,代理库1502可以使用测试 单元通信框架将来自应用模型的命令转发到探测器/处理器管理器414,该 探测器/处理器管理器414进而可以利用自定义或标准PH库1504执行接收 的命令。

如图15所示,统计分析和过程框架400的模块(而非仅仅测试程序103) 可以发起附加的探测器或处理器命令。在一个实施例中,附加的探测器或 处理器命令由状态机模块406发起。如此处所论述的,这种附加的探测器 或处理器命令可以是响应于检测的SPC规则违反或失败的SPC规则发起的 动作。如此处所述,SPC规则发起的动作,例如z高度调整或针头清洗, 可以透明地插入到测试操作中。在一个示例性实施例中,当需要在规定时 间(例如取回下一个测试单元的处理器操作期间)实施SPC规则发起的动 作时,PH管理器414可以将抑制插入到测试单元操作中,直到SPC请求的 动作完成时。这种抑制会防止来自测试程序103的任何进一步的函数调用 被传达给材料处理设备106(例如探测器108和/或处理器110)。在一个示 例性实施例中,测试单元可以发出周期性命令以清洁针头或执行其他处理 设备功能,因此此处所述的插入命令可以被安排和/或将命令的安排考虑在 内,这样SPC规则发起的动作就不会复制已安排的测试单元发起的命令。

如图15所示,一种示例性PH管理器414可以通过与来自应用模型的 探测器或处理器设备驱动器调用的执行同步而将状态机406与测试程序103 的执行同步化。状态机模块406和测试程序103可以通过抑制测试程序发 起的PH调用以便状态机406能够执行SPC规则发起的动作并根据需要访 问PH管理器414中的PH驱动器库而被同步化。PH管理器414可以允许 SPC规则发起的动作以执行z高度调整、针头清洗以及状态查询和控制。 在一个示例性实施例中,PH管理器414可以通过与来自测试程序103的应 用模型的探测器或处理器设备驱动器调用的执行同步而将状态机406与测 试程序103的执行同步化。该同步化可以允许状态机406在探测器/处理器 转位时间期间(例如当处理设备106通过在晶片分类时重新定位探测器108 或通过在最后测试时取回下一测试器件等方式来准备下一测试流程时的测 试休止时间段)执行SPC规则检验和SPC规则发起的动作。

在一个示例性实施例中,一种示例性PH管理器414能够执行表9中所 列的功能。

表9

如图15所示,测试程序应用模型可以按照它调用正常PH驱动器函数 的相同方式调用代理PH驱动器1502函数。换言之,测试程序应用模型不 知道其命令被代理PH驱动器1502接收并传递到PH驱动器库1504而非直 接被PH驱动器库1504接收。代理PH驱动器1502可以使用IPC消息队列 将函数执行请求传递到PH管理器414。在多数情况下,PH管理器414可 以执行自定义或标准PH驱动器库1504内相匹配的调用。在一个示例性实 施例中,代理PH驱动器库1502由应用模型加载并且具有用于处理器和探 测器驱动器二者的所有函数调用的超集。

在一个示例性实施例中,PH管理器414的操作不会增加测试单元执行 的开销。由于这个原因,在测试暂停期间,例如探测器或处理设备转位时 间(例如当处理设备106通过在晶片分类时重新定位探测器108或通过在 最后测试时取回下一测试器件等方式来准备下一测试流程时的测试休止时 间段)可能发生PH调用(来自测试程序)的抑制。在一个示例性实施例中, 加载下一封装或裸片的PH驱动器调用可以被抑制。在一个实施例中,PH 管理器414的开销极小,例如约为每次调用200微秒。

采取物理动作(例如针头清洗等)的决定需要在最佳时间执行。如此 处所述,正常测试过程可以被暂时抑制,使得请求的物理动作将使生产系 统达到最佳的性能水平。虽然示例性入侵(例如插入的物理动作)可能潜 在地使测试变慢,但校正该过程或防止对不良部件的不当测试或附加非必 要测试将改进以后的测试。如此处所述,示例性实施例的一个目的是通过 自定义SPC规则,建立决策树,在希望的低测试活动时段执行决策树,以 及在编程模型不知道其设备处理器命令被抑制的情况下透明插入探测器和 处理器命令来优化生产。

图16示出了ATE测试单元执行的测试流程的示例性流程图。在图16 的步骤1602中,器件测试开始。在图16的步骤1604中,执行获得下一个 测试裸片的命令。如此处所论述的,请求被传达给PH管理器414,并且此 时如图16的步骤1606所示,当执行SPC规则发起的动作时,可以抑制探 测器或处理器命令。在SPC规则发起的动作完成时,抑制可以通过PH管 理器414被释放,PH命令将被转发并且下一请求的裸片将被取回。如图16 所示,测试流程从步骤1606返回到步骤1604。在返回到图16所示的步骤 1604并且获得裸片命令完成之时,测试过程将以图16所示的步骤1608继 续,并且将在新放置的裸片上开始测试。在图16所示的步骤1610中,处 理设备106的探测器108和处理器110将进入转位时间。如此处所论述的, 这种转位时间还可以用于执行SPC规则处理,因为在转位过程中测试活动 降低,可用计算能力相应提高。在图16所示的步骤1612中,当前裸片的 测试完成,测试结束命令被发起,当前裸片被换成下一被测裸片,该过程 返回到步骤1602。

图17示出了在测试程序发起的探测器或处理器命令之间透明插入SPC 规则发起的探测器或处理器命令的过程。在图17所示的步骤1702中,生 成测试程序发起的探测器或处理器命令并将其发送到PH管理器414。

在图17所示的步骤1704中,生成SPC规则发起的探测器或处理器命 令并将其发送到PH管理器414。在一个示例性实施例中,可以响应于过程 控制规则失败(例如“附加”探测器或处理器命令)生成并发送SPC规则 发起的探测器或处理器命令。

在图17所示的步骤1706中,预计到SPC规则发起的探测器或处理器 命令的执行,测试程序发起的探测器或处理器命令被PH管理器414抑制。 在一个示例性实施例中,PH管理器414进行的抑制是在状态机模块406的 指导下进行的。在图17所示的步骤1708中,执行SPC规则发起的探测器 或处理器命令。在一个示例性实施例中,SPC规则发起的探测器或处理器 命令的执行和测试程序发起的探测器或处理器命令的抑制对于测试程序 103而言是透明的。

虽然本文已公开某些优选实施例和方法,但根据以上公开,显而易见 的是,对于本领域的技术人员而言,在不脱离本发明的精神和范围的情况 下可以做出这些实施例和方法的变体和修改。本发明应仅限于所附权利要 求书及适用法律的规则和原则所要求的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号