CN104364664B - 用于创建、定义和执行spc规则决策树的算法和结构 - Google Patents
用于创建、定义和执行spc规则决策树的算法和结构 Download PDFInfo
- Publication number
- CN104364664B CN104364664B CN201380029181.4A CN201380029181A CN104364664B CN 104364664 B CN104364664 B CN 104364664B CN 201380029181 A CN201380029181 A CN 201380029181A CN 104364664 B CN104364664 B CN 104364664B
- Authority
- CN
- China
- Prior art keywords
- control rule
- rule
- test
- spc
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003066 decision tree Methods 0.000 title claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 title description 5
- 238000012360 testing method Methods 0.000 claims abstract description 347
- 238000000034 method Methods 0.000 claims abstract description 131
- 230000009471 action Effects 0.000 claims abstract description 122
- 238000007619 statistical method Methods 0.000 claims abstract description 81
- 238000012795 verification Methods 0.000 claims abstract description 29
- 238000004458 analytical method Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 15
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 230000033228 biological regulation Effects 0.000 claims 9
- 238000003070 Statistical process control Methods 0.000 description 284
- 230000008569 process Effects 0.000 description 81
- 210000000038 chest Anatomy 0.000 description 76
- 238000012544 monitoring process Methods 0.000 description 49
- 238000012797 qualification Methods 0.000 description 40
- 238000012545 processing Methods 0.000 description 24
- 239000000523 sample Substances 0.000 description 24
- 238000004519 manufacturing process Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 14
- 238000004886 process control Methods 0.000 description 14
- 238000004140 cleaning Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 239000000463 material Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000011084 recovery Methods 0.000 description 8
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 230000001629 suppression Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000000704 physical effect Effects 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 238000012956 testing procedure Methods 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000023402 cell communication Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000011068 loading method Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000000528 statistical test Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000000465 moulding Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2894—Aspects of quality control [QC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2836—Fault-finding or characterising
- G01R31/2846—Fault-finding or characterising using hard- or software simulation or using knowledge-based systems, e.g. expert systems, artificial intelligence or interactive algorithms
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318314—Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
一种分析测试结果的方法。所述方法包括从多个储存的控制规则中选择选定的控制规则进行验证,访问选择的测试结果,对选择的测试结果进行选择的统计分析,以及执行多个选择的动作中的至少一个动作,其中所述多个选择的动作是通过选择的统计分析的结果进行选择的。所述多个选定的控制规则排列在决策树中。所述决策树包括用于验证所述选定的控制规则的时间表。所述测试结果的选择由所述多个选定的控制规则定义。统计分析的选择由所述多个选定的控制规则和所述决策树定义。至少一个动作是通过所述决策树选择的。
Description
技术领域
本公开一般来说涉及自动测试设备领域,更具体地涉及自动测试设备的统计过程控制领域。
背景技术
自动测试设备(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(极限监测场地间):DefaultTest 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-sitediff.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、晶片ID308或具体测试单元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访问测试单元API1508。同样如图15所示,通过测试执行服务器1506将警报和事件传递到状态机408。换言之,测试执行服务器1506可以用于将测试单元API 1508隔离,使其不能从测试单元的模块直接访问。在一个示例性实施例中,测试执行服务器1506充当状态机和测试单元API1508之间的接口。警报和事件可以由测试执行服务器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而言是透明的。
虽然本文已公开某些优选实施例和方法,但根据以上公开,显而易见的是,对于本领域的技术人员而言,在不脱离本发明的精神和范围的情况下可以做出这些实施例和方法的变体和修改。本发明应仅限于所附权利要求书及适用法律的规则和原则所要求的范围。
Claims (18)
1.一种分析测试结果的方法,所述方法包括:
从多个储存的控制规则中选择选定的控制规则进行验证;
将所述选定的控制规则安排到决策树中,其中所述决策树包括验证所述选定的控制规则的时间表;
访问所述选定的控制规则所定义的选定的测试结果;
执行所述选定的测试结果的选择的统计分析,其中统计分析的选择由所述选定的控制规则和所述决策树定义;以及
执行多个选定的动作中的多个动作,其中所述多个选定的动作是通过所述选择的统计分析的结果选择的,并且其中进一步的,所述多个动作是通过所述决策树选择的,并且所述多个动作的执行顺序是通过所述决策树确定的。
2.根据权利要求1所述的方法,其中所述统计分析的结果是响应于检测所述选定的控制规则中的第一控制规则的验证失败而生成的,其中所述第一控制规则的验证失败是响应于识别的高于或低于所述第一控制规则定义的阈值的统计分析值而生成的。
3.根据权利要求1所述的方法,其中所述选定的控制规则中的每个控制规则均包括选定的测试结果的至少一个统计分析。
4.根据权利要求2所述的方法,其中所述将选定的控制规则安排到决策树中包括:
定义所述选定的控制规则中每个控制规则的每个验证失败的严重度,其中每个控制规则有至少一个需要执行的验证;
定义所述选定的控制规则中每个控制规则的每个验证的优先级,其中控制规则验证优先级基于每个相应验证失败的定义的严重度;以及
根据相应控制规则验证的定义的优先级将所述选定的控制规则及与所述选定的控制规则相关联的动作安排到所述决策树中,并且其中进一步的,执行所述多个动作包括首先响应于多个控制规则验证失败中最高优先级的控制规则验证失败而执行动作。
5.根据权利要求4所述的方法,其中所述将所述选定的控制规则安排到决策树中进一步包括:将两个或更多个所述选定的控制规则安排到控制规则的组合中,以用于在发生特定测试事件时同时验证。
6.根据权利要求1所述的方法,其中所述执行多个动作包括执行与自动预定执行的动作相容的多个动作。
7.根据权利要求1所述的方法,进一步包括:
创建所述多个储存的控制规则中的新控制规则,其中新控制规则是利用以计算机***实现的图形用户界面创建的,并且其中所述创建所述多个存储的控制规则中的新控制规则包括以下各项中的至少一项:
定义至少一个需要请求的测试结果;
定义至少一个要对请求的测试结果执行的统计分析;
定义至少一个分析参数;以及
定义至少一个要从相应统计分析检测的验证失败以及响应于所述验证失败要执行的定义的动作,其中所述验证失败包括超过上阈值和下阈值中的至少一者。
8.一种用于分析测试结果的设备,所述设备包括:
用于从多个储存的控制规则中选择选定的控制规则进行验证的装置;
用于将所述选定的控制规则安排到决策树中的装置,其中所述决策树包括验证所述选定的控制规则的时间表;
用于访问所述选定的控制规则所定义的选定的测试结果的装置;
用于执行所述选定的测试结果的选择的统计分析的装置,其中统计分析的选择由所述选定的控制规则和所述决策树定义;以及
用于执行多个选定的动作中的多个动作的装置,其中所述多个选定的动作是通过所述选择的统计分析的结果选择的,并且其中进一步的,所述多个动作是通过所述决策树选择的,并且所述多个动作的执行顺序是通过所述决策树确定的。
9.根据权利要求8所述的设备,其中所述统计分析的结果是响应于检测所述选定的控制规则中的第一控制规则的验证失败而生成的,其中所述第一控制规则的验证失败是响应于识别的高于或低于所述第一控制规则定义的阈值的统计分析值而生成的。
10.根据权利要求8所述的设备,其中所述选定的控制规则中的每个控制规则均包括选定的测试结果的至少一个统计分析。
11.根据权利要求9所述的设备,其中所述用于将选定的控制规则安排到决策树中的装置包括:
用于定义所述选定的控制规则中每个控制规则的每个验证失败的严重度的装置,其中每个控制规则有至少一个需要执行的验证;
用于定义所述选定的控制规则中每个控制规则的每个验证的优先级的装置,其中控制规则验证优先级基于每个相应验证失败的定义的严重度;以及
用于根据相应控制规则验证的定义的优先级将所述选定的控制规则及其相关联的动作安排到所述决策树中的装置,并且其中进一步的,所述执行多个动作包括首先响应于多个控制规则验证失败中最高优先级的控制规则验证失败而执行动作。
12.根据权利要求11所述的设备,其中所述用于将所述选定的控制规则安排到决策树中的装置进一步包括:用于将两个或更多个所述选定的控制规则安排到控制规则的组合中,以用于在发生特定测试事件时同时验证的装置。
13.根据权利要求8所述的设备,其中所述用于执行多个动作的装置包括用于执行与自动预定执行的动作相容的多个动作的装置。
14.根据权利要求11所述的设备,其中所述设备进一步包括:
用于创建所述多个储存的控制规则中的新控制规则的装置,其中新控制规则是利用以计算机***实现的图形用户界面创建的,并且其中所述用于创建新控制规则的装置包括以下各项中的至少一项:
用于定义至少一个需要请求的测试结果的装置;
用于定义至少一个要对请求的测试结果执行的统计分析的装置;
用于定义至少一个分析参数的装置;以及
用于定义至少一个要从相应统计分析检测的验证失败以及响应于所述验证失败要执行的定义的动作的装置,其中所述验证失败包括超过上阈值和下阈值中的至少一者。
15.一种用于测试器件的装置,所述装置包括:
具有图形用户界面的计算机,所述图形用户界面用于通过以下方式创建新控制规则:定义测试结果请求,定义统计分析,定义分析参数,定义至少一个要执行的控制规则验证,以及定义响应于至少一个控制规则验证的失败要执行的动作,其中所述图形用户界面进一步用于使所述新控制规则存储在多个控制规则的数据库中;以及
测试模块,所述测试模块用于验证所述多个控制规则中的选定的控制规则,并响应于所述选定的控制规则中的至少一个控制规则的验证失败执行至少一个动作。
16.根据权利要求15所述的装置,其中所述测试模块包括:
测试分析模块,所述测试分析模块用于从所述多个控制规则中选择选定的控制规则进行验证,并访问由所述选定的控制规则定义的选定的测试结果;
其中所述测试分析模块用于将所述选定的控制规则安排到决策树中,其中所述决策树包括验证所述选定的控制规则的时间表;
其中所述测试分析模块用于验证来自所述选定的控制规则的至少一个控制规则,并且其中进行验证的所述至少一个控制规则的选择由所述决策树定义;并且
其中所述测试分析模块用于执行多个选定的动作中的至少一个动作,其中所述多个选定的动作是响应于至少一个控制规则验证的失败而选择的,并且其中执行的所述至少一个动作是按照所述决策树的确定从所述多个选定的动作中选择的。
17.根据权利要求16所述的装置,其中所述测试分析模块进一步用于执行所述多个选定的动作中的多个动作,其中所述多个动作的执行顺序是通过所述决策树确定的。
18.根据权利要求15所述的装置,其中所述控制规则验证的失败是响应于识别的高于或低于相应控制规则定义的阈值的统计分析值而生成的,并且其中所述选定的控制规则中的每个控制规则均包括选定的测试结果的至少一个统计分析。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/444,725 US20130275357A1 (en) | 2012-04-11 | 2012-04-11 | Algorithm and structure for creation, definition, and execution of an spc rule decision tree |
US13/444,725 | 2012-04-11 | ||
PCT/US2013/036240 WO2013155345A1 (en) | 2012-04-11 | 2013-04-11 | An algorithm and structure for creation, definition, and execution of an spc rule decision tree |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104364664A CN104364664A (zh) | 2015-02-18 |
CN104364664B true CN104364664B (zh) | 2017-03-22 |
Family
ID=49325990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380029181.4A Active CN104364664B (zh) | 2012-04-11 | 2013-04-11 | 用于创建、定义和执行spc规则决策树的算法和结构 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130275357A1 (zh) |
KR (1) | KR101829956B1 (zh) |
CN (1) | CN104364664B (zh) |
WO (1) | WO2013155345A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159239B (zh) * | 2015-07-22 | 2018-03-06 | 上海华力微电子有限公司 | 一种spc策略自动更新方法及spc自动策略*** |
CN106997498B (zh) * | 2016-01-22 | 2020-07-28 | 中芯国际集成电路制造(上海)有限公司 | 新产品运作匹配装置及方法 |
CN107783894A (zh) * | 2016-08-26 | 2018-03-09 | 上海计算机软件技术开发中心 | 一种多任务多终端移动应用测试方法及其*** |
CN109559059B (zh) * | 2018-12-17 | 2022-12-27 | 重庆邮电大学 | 一种基于回归决策树的光纤生产规则制定方法 |
CN110362491B (zh) * | 2019-07-17 | 2020-02-21 | 广州市有车以后信息科技有限公司 | 一种基于中间人代理技术的mock测试方法及测试装置 |
WO2023166584A1 (ja) * | 2022-03-02 | 2023-09-07 | 株式会社アドバンテスト | 半導体試験結果分析装置、半導体試験結果分析方法およびコンピュータプログラム |
WO2023166585A1 (ja) * | 2022-03-02 | 2023-09-07 | 株式会社アドバンテスト | 半導体試験結果分析装置、半導体試験結果分析方法およびコンピュータプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002103499A2 (en) * | 2001-06-15 | 2002-12-27 | Versada Networks, Inc. | System and method for specifying security, privacy, and access control to information used by others |
CN101147075A (zh) * | 2005-03-23 | 2008-03-19 | 爱德万测试株式会社 | 测试装置、测试方法、及测试控制程序 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2448460A1 (en) * | 2001-05-24 | 2002-11-28 | Test Advantage, Inc. | Methods and apparatus for semiconductor testing |
US7162386B2 (en) | 2002-04-25 | 2007-01-09 | Micron Technology, Inc. | Dynamically adaptable semiconductor parametric testing |
US20060095237A1 (en) * | 2004-10-28 | 2006-05-04 | Weidong Wang | Semiconductor yield management system and method |
EP1674958B1 (en) | 2004-12-21 | 2008-02-27 | International Business Machines Corporation | A diagnostic method and system |
US7707134B2 (en) * | 2005-01-14 | 2010-04-27 | Siemens Medical Solutions Usa, Inc. | System and method for molecular diagnosis of depression based on boosting classification |
JP5140905B2 (ja) * | 2005-02-01 | 2013-02-13 | 富士通セミコンダクター株式会社 | 半導体装置の試験システム及び試験方法 |
US7333962B2 (en) | 2006-02-22 | 2008-02-19 | Microsoft Corporation | Techniques to organize test results |
US7751907B2 (en) * | 2007-05-24 | 2010-07-06 | Smiths Medical Asd, Inc. | Expert system for insulin pump therapy |
KR20090093174A (ko) * | 2008-02-28 | 2009-09-02 | 연세대학교 산학협력단 | 지하수오염 취약성 평가방법 및 그 시스템 |
JP4448895B1 (ja) * | 2009-03-10 | 2010-04-14 | 株式会社アドバンテスト | 試験装置および試験方法 |
US8442067B2 (en) | 2010-08-30 | 2013-05-14 | International Business Machines Corporation | Using gathered system activity statistics to determine when to schedule a procedure |
-
2012
- 2012-04-11 US US13/444,725 patent/US20130275357A1/en not_active Abandoned
-
2013
- 2013-04-11 WO PCT/US2013/036240 patent/WO2013155345A1/en active Application Filing
- 2013-04-11 KR KR1020147031590A patent/KR101829956B1/ko active IP Right Grant
- 2013-04-11 CN CN201380029181.4A patent/CN104364664B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002103499A2 (en) * | 2001-06-15 | 2002-12-27 | Versada Networks, Inc. | System and method for specifying security, privacy, and access control to information used by others |
CN101147075A (zh) * | 2005-03-23 | 2008-03-19 | 爱德万测试株式会社 | 测试装置、测试方法、及测试控制程序 |
Non-Patent Citations (1)
Title |
---|
On the Use of Decision Tree Induction for Discovery of Interacitons in a Photolithographic Process;Dan Braha et al.;《IEEE TRANSACTIONS ON SEMICONDUCTOR MANUFACTURING》;20031130;第16卷(第4期);第644页第1栏第1段-第652页第1栏第2段及图1-5、表1 * |
Also Published As
Publication number | Publication date |
---|---|
US20130275357A1 (en) | 2013-10-17 |
KR101829956B1 (ko) | 2018-02-19 |
WO2013155345A1 (en) | 2013-10-17 |
CN104364664A (zh) | 2015-02-18 |
KR20150008397A (ko) | 2015-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104583789B (zh) | 测试单元控制器的决策和执行树的创建和调度 | |
CN104335056B (zh) | 测试器和材料处理设备之间用于分开和控制测试单元操作中多个实体的不同请求的***器 | |
CN104364664B (zh) | 用于创建、定义和执行spc规则决策树的算法和结构 | |
CN1155069C (zh) | 控制半导体集成电路测试过程的***和方法 | |
US7218974B2 (en) | Industrial process data acquisition and analysis | |
US20180129483A1 (en) | Developing software project plans based on developer sensitivity ratings detected from monitoring developer error patterns | |
US20060224434A1 (en) | Human data acquisition and analysis for industrial processes | |
CN109582301A (zh) | 基于任务调度***的业务处理方法、装置、设备及介质 | |
JP2009532695A (ja) | 試験シナリオ言語を用いた半導体試験方法およびシステム | |
EP3573073A1 (en) | Method for generating a knowledge base useful in identifying and/or predicting a malfunction of a medical device | |
CN110221905A (zh) | 定时任务监测方法、装置、***、设备和存储介质 | |
CN110188036A (zh) | 一种软件测试方法及装置 | |
CN110163084A (zh) | 操作员动作监督方法、装置及电子设备 | |
CN117520184A (zh) | 一种计算机软件开发用测试*** | |
CN108399474A (zh) | 可靠性管理***和方法 | |
CN114237098B (zh) | 一种电气产品的智能化数字管理*** | |
CN109558956A (zh) | 计量设备的掉线估算方法、装置、计算机设备和存储介质 | |
CN109977007B (zh) | 一种plm模具测试管理方法及其*** | |
CN109933485A (zh) | 一种用于算法执行与监控的调度方法 | |
CN117421255B (zh) | 一种接口的自动巡检方法、装置、设备和存储介质 | |
US9905483B2 (en) | Adaptive value capture for process monitoring | |
CN110057542A (zh) | 一种纤芯监测方法及设备 | |
US20230333544A1 (en) | System and method for planning integrated vehicle production | |
CN114756394A (zh) | 全链路生产数据质量智能诊断*** | |
CN115827341A (zh) | 广告机检测方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |