专利名称:在半导体测试环境中使用虚拟仪器的系统、方法和设备的制作方法
在半导体测试环境中使用虚拟仪器的系统、方法和设备
背景技术:
半导体装置的开发周期一般包括设计阶段、制造阶段、组装阶段和测试阶段。在设计阶段期间,规定装置的功能,并且布置和优化用于实现该功能的电路(即,对装置设计进行开发)。通常,通过计算机来仿真电路的操作,或者构建物理原型,然后测试所仿真的或者物理电路以确定它是否按照预期来运行。如果不按照预期来运行,则可以进一步优化或者重新设计电路。在制造阶段期间,使用装置设计来构建物理半导体装置。通常,这涉及在生产环境中对装置的构建。然而,在工程背景下对装置原型的构建有时也是制造阶段的考虑部分。在组装阶段期间,以各种方式来封装半导体装置。装置还可以被堆叠或者以其他方式耦合以形成三维半导体装置。在测试阶段期间,使用一个或多个测试程序来测试半导体装置,以确保这些装置按照设计来运行。在一些情况下,测试可以包括“通过/不通过”测试,其中装置被评估为“良好”或者“不好”。在其他情况下,例如,可以利用测试将装置分成不同性能等级或者识别出可修复的不合格装置。虽然半导体装置的开发周期通常以设计阶段开始并且以测试阶段结束,但是各种阶段可以并行地或者以各种顺序来执行。例如,测试阶段可以在设计阶段之后立即(或者与设计阶段并行地)开始;并且可以在设计阶段、制造阶段和组装阶段中的任一者或全部期间测试所仿真的装置、原型装置或者产品装置。此外,例如,可以在设计、制造或组装阶段中的任一者或全部中使用在测试阶段期间获得的数据(例如,功能测试数据、结构测试数据或者成品率数据)来精炼或者改善装置设计或者确定出制造或组装阶段中将会改善成品率的调整。在测试阶段期间获得的数据还可以用来改善或者调整测试程序本身(例如,改写或者调整对测试程序的限制)。在一些情况下,半导体装置的整个开发周期是由集成装置制造商(IDM)提供和管理的。然而,在过去的几十年里,半导体装置的开发周期的各个阶段分布在各方之间变得越来越普遍。例如,装置设计及其测试程序可以由诸如无厂半导体公司之类的半导体设计公司来开发。无厂半导体公司然后可以将装置设计和测试程序提供给晶片铸造厂或者外包的半导体组装和测试(OSAT)机构,以根据设计来制造、组装和测试半导体装置。分布式开发周期可以提供各种优点,例如专门化、成本的降低和风险的分担。然而,分布式开发周期也可能引入一些复杂性。例如,半导体设计公司可能更喜欢使用特定的硬件或软件平台来设计装置并开发其测试程序,而铸造厂或OSAT机构可能更喜欢使用不同的硬件或软件平台来执行测试程序。这常常需要设计公司和铸造厂/OSAT机构中的一者或二者迁就另一方。在设计公司一侧,这可能需要改变它使用的硬件或软件来开发测试程序,有时甚至需要改变它使用的硬件或软件来设计装置。在铸造厂或者OSAT机构一侧,它和设计公司所使用的平台上的差异可能要求铸造厂或者OSAT机构安装或者配置新的硬件或软件平台来执行设计公司的测试程序。存在其他随着分布式开发周期而出现的复杂性。例如,单个半导体设计公司可能发现难以与不同的铸造厂和OSAT机构订立契约,因为不同的制造、组装和测试厂商可能使用不同的硬件或软件平台,并且与这些各异的厂商合作可能需要设计公司花费大量时间来针对不同的硬件或软件平台来重写它的测试程序。通常,这恰恰是不可行的。类似地,制造、组装和测试厂商可能发现与一些半导体设计公司合作是困难的,因为设计公司提供针对不同的硬件或软件平台而设计的测试程序,并且铸造厂或者OSAT机构为了与不同的硬件或软件平台合作而需要作出的迁就太昂贵以至于难以承受(并且传递给客户是不可行的)。分布式开发周期所造成的其他复杂性涉及数据在开发周期的参与者之间的流动。例如,向OSAT机构提供关于其装置设计的电子信息(包括装置测试程序)的设计公司将不希望与其竞争者共享该信息,这些竞争者可能也在使用该OSAT机构的服务。设计公司也不希望与其竞争者共享其装置测试的结果、装置成品率数据或者其他私有数据。在一些情况下,设计公司甚至可能希望向OSAT机构本身隐瞒该信息。类似地,OSAT机构可能希望向其客户隐瞒关于其测试台的某些信息。在一些情况下,上面提到的复杂性使得分布式开发周期中的参与者对它们订立契约的各方进行选择。在其他情况下,契约的一方或者两方将同意迁就另一方的平台要求。然而,这样的迁就在金钱上和在时间延迟的形式上可能都是代价高的。该代价的一个原因在于半导体测试软件通常使用复杂的堆栈,该堆栈从嵌入式软件到达低级驱动、高级图形用户界面(GUI)和测试系统控制器操作系统(OS)。不同的测试程序(例如,来自不同的设计公司的测试程序或者用于不同装置的测试程序)可能需要或者期望不同的软件、不同的操作
系统(例如,RedHat的Linux 或者Microsoft的Windows )以及它们的不同版本。不
同的测试程序还可能需要或者期望对计算机系统(例如,不同的工作站)的具体类型、模型或者配置的部署。不同的测试程序还可能需要或者期望不同的环境设置、代码库和产品集成工具。结果,愿意作出迁就的制造、组装或测试厂商可能需要安装和配置新的软件,并且在一些情况下甚至可能需要安装和配置新的计算机系统或者操作系统。这对于半导体设计公司及其制造、组装和测试厂商二者而言可能引起很大的开销费用、停工时间和延迟。运行由不同产品线共享的测试台的IDM也可能经受上面提及的复杂性中的一些。
在附图中示出本发明的说明性实施例,其中:图1示出半导体测试控制系统与半导体测试系统相接口的示例性半导体测试环境;图2示出控制诸如图2所示的半导体测试系统之类的半导体测试系统来测试半导体装置的示例性方法;图3示出使用单个测试台控制器、多个虚拟仪器和一共享测试器来并行地测试多个类型的半导体装置的示例性情形;图4示出测试台控制器与虚拟仪器之间的示例性职责划分;图5示出安装和配置用于测试半导体装置的软件环境的示例性现有技术方式;图6示出安装和配置用于测试半导体装置的软件环境的示例性新方式;图7示出用于创建、部署虚拟仪器以及与该虚拟仪器通信的示例性方法;图8示出用于创建、部署虚拟仪器以及与该虚拟仪器通信的第二示例性方法;
图9示出具有公共远程访问接口的示例性的多个虚拟仪器,其中这些虚拟仪器部署在多个测试台上;图10示出具有公共远程访问接口的示例性的多个虚拟仪器,其中这些虚拟仪器部署在测试阶段的不同插入点;图11示出将来自两个OSAT机构和一铸造厂的数据进行组合的示例性集中式数据管理机构;图12示出用于实现图9-11所传递的一些或所有功能的示例性方法;图13示出用于实现图9-11所传递的一些或所有功能的第二示例性方法;并且图14提供了可以用于容宿在图1或其他地方示出的监管器、虚拟仪器和测试台控制器的示例性计算机系统的框图。注意,在下面的描述中,在不同的附图中出现的相似标号指代相似的要素/特征。因此,通常,将不会针对各个附图来详细描述在不同的附图中出现的相似要素/特征。
具体实施例方式这里公开了用于创建、部署、操作在半导体测试环境中使用的一个或多个虚拟仪器以及从这些虚拟仪器接收数据的系统和方法。取决于它们的实施例,这里公开的系统和方法可以提供诸如以下优点:与测试具有分布式开发周期的半导体装置相关联的复杂性的缓解或消除,或者与在公共测试台上测试不同类型的半导体装置相关联的复杂性(包括由于使用共享的测试器而产生的复杂性)的缓解或消除。首先,图1示出采用这里公开的新颖的系统和方法中的一些的示例性半导体测试环境100。半导体测试环境100包括半导体测试系统102和半导体测试控制系统104。在使用期间,半导体测试控制系统104规定如何操作半导体测试系统102的一部分或者全部来完成一个或多个半导体装置的测试。例如,待测的半导体装置可以在一个或多个晶片上提供(例如,用于晶片测试)、在负载板上提供(例如,用于最终测试)、作为单片化的管芯来提供、作为堆叠的管芯来提供或者作为封装后的管芯来提供。半导体测试控制系统104包括计算机系统106,该计算机系统106具有多个资源。这些资源中的至少一些是硬件资源108。安装在计算机系统106上的监管器110对硬件资源108中的至少一些进行虚拟化,并且向至少一个虚拟仪器112、114、116中的每一个提供对硬件资源108的相应虚拟集合的访问。进而,硬件资源108的每个虚拟集合使虚拟仪器112、114、116中的相应一个控制与半导体测试系统102的至少第一方面的通信,从而使得虚拟仪器112、114、116中的该相应一个测试相应类型的半导体装置。测试台控制器118也安装在计算机系统106上,并且在控制与半导体测试系统102的至少第二方面的通信。测试台控制器118还在控制与至少一个虚拟仪器112、114、116中的每一个的通信。在一些情况下,测试台控制器118可以是更大的主机系统120的一部分。半导体测试控制系统104在一些方面中是有用的,这是因为它使得单个测试台控制器118能够操作多个虚拟仪器112、114、116,这些虚拟仪器112、114、116可以用于操作共享的半导体测试系统102。此外,通过向虚拟仪器112、114、116中的不同仪器提供硬件资源108的不同虚拟集合,监管器110可以在虚拟仪器112、114、116之间强制安全性和调度策略以及在虚拟仪器112、114、116与测试台控制器118之间强制安全性策略。
在一般地描述了图1所示的半导体测试环境100之后,现在将从半导体测试系统102开始更详细地描述其各种组件。半导体测试系统102可以采用各种形式,并且例如可以包括自动化测试设备(ATE)系统122、探测器/处理机124和环境控制系统(未示出)。半导体测试系统102还可以包括诸如电源、波形发生器、信号获取或分析装置、探测卡、负载板或者开关矩阵之类的系统或元件。这些另外的系统或元件可以与半导体测试系统102的其他系统或元件(例如ATE系统122)相集成或者耦合,或者可以作为半导体测试系统102的其他系统或元件的补充(或者替换)而提供。在一些情况下,半导体测试系统102可以包括一些系统或元件中的多个。例如,图1示出具有ATE系统122和探测器/处理机124的半导体测试系统102。ATE系统122和探测器/处理机124可被针对晶片测试来配置(在此情况下,探测卡可被安装在ATE系统122上,并且探测器/处理机124可以使半导体晶片与该探测卡接触),或者可被针对最终测试来配置(在此情况下,负载板可被安装在ATE系统122上,并且探测器/处理机124可以向负载板植入(populate)封装后的半导体装置)。半导体测试控制系统104,特别是计算机系统106,经由一个或多个有线或无线接口与半导体测试系统102相接口。在一些情况下,半导体测试控制系统104可以在很大程度上与半导体测试系统102分离。在其他情况下,半导体测试控制系统104可以部分地或者完全与半导体测试系统102集成,在公共实体提供半导体测试系统102和半导体测试控制系统104这二者或者半导体测试系统102为半导体测试控制系统104提供壳体或机柜的情况下可能是这样的情况。在一些实施例中,计算机系统106的全部或大部分组件可以由单个计算机工作站提供。在其他实施例中,计算机系统106可以由诸如服务器机群(例如,刀片式服务器机群)之类的联网的或者汇聚的一组计算系统提供。联网的或者汇聚的一组计算系统可以用于在两个或更多个处理器或者子系统之间划分计算职责,或者在故障的情况下提供冗余。计算机系统106也可以采用其他形式。不管计算机系统106采用何种形式,计算机系统106都具有多个硬件资源108。硬件资源108可以包括用于执行任务的资源以及用于与其他系统和子系统通信的资源,包括用于与半导体测试系统102通信的资源。例如,硬件资源108可以包括一个或多个处理器、处理器核心、存储器或者接口。这些接口例如可以包括存储器接口、通信接口或者存储接□。监管器110 (也称为虚拟机监视器)对计算机系统的资源中的一些或全部进行虚拟化,并且向一个或多个虚拟仪器112、114、116中的每一个提供对计算机系统的硬件资源108的相应虚拟集合的访问。这样,不向虚拟仪器112、114、116提供对硬件资源的直接访问,而是提供通过它们的硬件资源108的相应虚拟集合对硬件资源108的访问。这使得监管器110能够提供对硬件资源108的共享的但是受控的访问,并且使得监管器110能够为虚拟仪器112、114、116强制安全性和调度策略(包括最后期限)。安全性策略可以用于防止虚拟仪器112、114、116干扰、控制以下各项或者以其他方式获得对以下各项的访问:1)由其他虚拟仪器112、114、116管理的测试操作或数据,2)测试台控制器118或者主机系统120,或者更一般的3)计算机系统106。调度策略可以用于对虚拟仪器对其硬件资源108的相应虚拟集合的使用进行时间限制或用途限制。调度策略例如可以包括启发式的、统计的、静态的或者动态的调度策略。虚拟仪器112、114、116中的每一个提供利用半导体测试系统102来测试相应类型的半导体装置的平台。该平台例如可以包括装置测试程序、用于执行该测试程序的特定类型和版本的软件以及用于执行该软件的特定类型和版本的操作系统。当虚拟仪器112执行其测试程序时,硬件资源108的相应虚拟集合使虚拟仪器112控制与半导体测试系统102的至少一个方面的通信,从而使得虚拟仪器112能够测试相应类型的半导体装置。监管器110允许虚拟仪器112控制的半导体测试系统102的(一个或多个)方面可以变化。例如,监管器Iio可以允许虚拟仪器112读写ATE系统122存储了测试程序或者测试向量的存储器(或者存储器的一部分)。或者,例如,监管器110可以允许虚拟仪器112控制ATE系统122的管脚电子装置,这些管脚电子装置使得向ATE系统的测试管脚(并从而向/从待测的多个半导体装置的一个或多个焊盘或端口)施加激励(例如,测试向量)或者从其读取响应。或者,例如,监管器110可以允许虚拟仪器112控制ATE系统122的用于调度、同步或者切换对ATE系统的测试管脚中的一个或多个的使用的电子装置。监管器110还可以在授予或者未授予虚拟仪器控制所监视的方面的特权的情况下,允许虚拟仪器监视半导体测试系统102的一个或多个方面。通过向虚拟仪器112提供资源的虚拟集合,并且通过维护调度、撤销或者以其他方式控制虚拟仪器对资源的虚拟集合的访问和使用的权力,监管器110可以针对虚拟仪器来强制安全性和调度策略,并且可以限制虚拟仪器112可以监视或者控制的测试系统102的方面。在一些实施例中,虚拟仪器112可以作为存储器镜像而提供给计算机系统106 (或者由计算机系统106取回)。这样,计算机系统106对存储器镜像的加载可以引起装置测试程序、用于执行该测试程序的特定类型和版本的软件以及用于执行该软件的特定类型和版本的操作系统的安装。虚拟仪器112 (或其存储器镜像)例如还可以包括半导体设计公司或者测试开发者在特定类型的半导体装置的测试期间可能想要采用的库或工具。例如,虚拟仪器112可以包括关联引擎。该关联引擎可被配置为:监视测试程序的执行环境,并且响应于该监视,调整执行环境的执行参数。在一些情况下,执行参数可以是测试程序执行速度或者测试程序存储器分配。半导体测试系统102的不受虚拟仪器112、114或116控制的方面可以由测试台控制器118控制。测试台控制器118也被安装在计算机系统106上,并且与虚拟仪器112相似,控制与半导体测试系统102的至少一个方面的通信。为了本描述的目的,“测试台”被定义为包括半导体测试系统102的一个或多个组件并且在一些情况下包括多个半导体测试系统的集合。在一些情况下,测试台可以是位于公共台上的物理系统的集合。然而,测试台也可以包括位于不同台上的物理系统的集合。测试台也可以包括物理和非物理系统这二者的集合,例如物理系统和虚拟系统的集合。通常,测试系统102的由测试台控制器118控制的一个或多个方面将不同于测试系统102的由虚拟仪器112、114、116控制的(一个或多个)方面,但不是必须是这样的情况。例如,测试台控制器118可被配置为控制探测器/处理机124的操作以及ATE系统122的某些方面(例如校准和诊断)。相比之下,虚拟仪器112可能被配置为控制ATE系统122的与执行用于特定类型的半导体装置的测试程序有关的那些方面。如图1进一步示出的,测试台控制器118也控制与虚拟仪器112、114、116中的每一个的通信。这例如可以经由一个或多个应用编程接口(API)126来实现。这样,测试台控制器118可以开始、停止或者调度虚拟仪器112、114、116的操作,或者确定半导体测试系统102的多个ATE系统或者其他组件中的哪些将被分配给虚拟仪器112、114、116 (并且可能被其控制、监视或使用)。在一些情况下,一个或多个API126或者另一接口使得测试台控制器118能够增强或者编排虚拟仪器112、114、116中的一个或多个。在一些情况下,这种接口可以由主机系统的软件来定义,并且可被很好地表征以供测试台控制器的所有操作者使用。这样的标准化还帮助确保该接口不会引起不同的虚拟仪器112、114、116之间(或者虚拟仪器112与测试台控制器118的操作者之间)的数据的无意混合或共享。在其他情况下,用于增强和编排虚拟仪器112的定制接口可由虚拟仪器112的设计者定义并提供。测试台控制器118还可以被配置为接收并处理来自虚拟仪器112、114、116的请求或警报,例如加载新的多个装置以进行测试的请求;执行校准过程的请求;对日志数据的请求;或者存在特定条件或错误的警报。为了执行这些任务,测试台控制器118例如可以与数据日志128或者校准数据存储库130相接口。测试台控制器118还可以与诸如惠瑞捷生产仪表板(VPD ;这是惠瑞捷有限公司提供的应用)之类的软件或基础设施相接口或者对其进行控制。安装在计算机系统106上的(一个或多个)虚拟仪器112、114、116和测试台控制器118可以以各种方式来控制它们的半导体测试系统102的各个方面。在一些情况下,这可以通过监管器110的应用层或商业逻辑客户端来完成。例如,在一些实施例中,应用层可以提供以下各项中的任一者或全部:远程控制和监视功能;成品率数据和学习功能;安全性和许可功能;或者测试器和数据存储接口。注意,尽管监管器和虚拟仪器被安装在不同的硬件环境中或者虚拟仪器是在不同的主机系统中执行的,但是不同半导体测试控制系统的应用层优选是相同的。在图1所示的半导体测试环境100的一些实施例中,监管器110可被安装为主宿型监管器,在此情况下,监管器Iio可以作为在计算机系统106的本地操作系统之上运行的软件应用而被安装。或者,监管器110可被安装为本地监管器,在此情况下,监管器110可被安装为(或者可以提供)计算机系统106的本地操作系统。在任一种情况下,虚拟仪器112、114、116可被安装为在监管器层之上运行的软件应用。测试台控制器118可被安装为在监管器110之上运行的软件应用,在此情况下,监管器Iio还可以向测试台控制器118提供对计算机系统106的硬件资源108的虚拟集合的访问。这样,提供给测试台控制器118的硬件资源108的虚拟集合可以用于以下二者:1)使测试台控制器118控制与它需要控制的半导体测试系统102的(一个或多个)方面的通信,以及2)为测试台控制器118和虚拟仪器112、114、116强制安全性策略。或者,监管器110可以授予测试台控制器118对计算机系统106的硬件资源108的直接访问。在其他情况下,测试台控制器118可以与监管器110集成(或者作为监管器110的一部分而提供)。测试台控制器118还可以被直接安装在计算机系统的本地OS上(例如,与监管器110处于同等水平)。无论如何,监管器110和/或测试台控制器118应当被配置为强制安全性策略,这些安全性策略防止测试台控制器118访问虚拟仪器112、114、116的私有数据。
除了使虚拟仪器112或者测试台控制器控制与半导体测试系统102的至少一个方面的通信之外,硬件资源110的虚拟集合可以提供用于访问、监视或者控制其相应的虚拟仪器或测试台控制器的虚拟用户接口。在一些情况下,虚拟用户接口可以提供用于从其相应的虚拟仪器或测试台控制器接收或取回数据的手段。该数据例如可以包括原始测试数据、经处理或分析的测试数据、半导体测试系统102或半导体测试控制系统104的所监视参数。虚拟用户接口 132或134可以耦合到诸如私有网络或因特网之类的网络,并且与虚拟用户接口 132、134相关联的虚拟仪器112或测试台控制器118的用户可以在本地或远程地连接到虚拟用户接口 132、134。因为监管器110控制对位于虚拟用户接口 132、134下方的硬件的访问,所以监管器110可以为虚拟用户接口 132、134强制安全性策略,从而使得虚拟用户接口 132、134中的每一个都是安全用户接口。图2示出控制半导体测试系统来测试半导体装置的示例性方法200。在一些情况下,方法200可以由诸如图1所示的系统102之类的半导体测试控制系统来执行。方法200包括对计算机系统的多个硬件资源进行虚拟化(在框202)。在框204,在计算机系统上安装至少一个虚拟仪器。每个虚拟仪器的安装向该虚拟仪器提供了对计算机系统的硬件资源的相应虚拟集合的访问,并且硬件资源的每个虚拟集合使相应的虚拟仪器控制与半导体测试系统的至少第二方面的通信,从而使得该相应的虚拟仪器测试相应类型的半导体装置。在框206,使用安装在计算机系统上的测试台控制器来控制半导体测试系统的至少第二方面。在框208,使用测试台控制器来操作这至少一个虚拟仪器中的每一个。测试台控制器对虚拟仪器的操作可以使得虚拟仪器执行用于测试相应类型的半导体装置的测试程序。如果该测试程序被设计为使用ATE系统来测试半导体装置,则虚拟仪器的操作可以使得虚拟仪器在ATE系统上设置测试向量。方法200的步骤是以示例性顺序示出的。在一些情况下,可以按其他顺序来执行这些步骤。在一些实施例中,图1和图2所示的系统和方法可以采用单个虚拟仪器来测试单个类型的半导体装置。在其他实施例中,这些系统和方法可以采用多个虚拟仪器来测试多个不同类型的半导体装置。为了本公开的目的,不同“类型”的半导体装置例如包括:执行不同功能的半导体装置;以不同方式执行相同功能的半导体装置;或者执行相同或不同功能但是由不同的各方设计或测试的半导体装置。这样,两种不同类型的半导体装置的功能和结构特性可能是非常不同的或者非常相似的(并且在一些情况下是相同的)。图3示出使用单个测试台控制器118、多个虚拟仪器112、114、116和共享测试器300来并行地测试多个类型的半导体装置的示例性情形。例如,共享测试器300被认为是针对晶片测试而配置的ATE系统。然而,共享测试器300可以采用其他形式,或者可以针对其他类型的测试来配置。ATE系统通常是多管脚测试器,并且在图3中示出多个ATE系统测试管脚(以三个群组302、304、306来分组)。在一些情况下,ATE系统可以具有数千个这样的测试管脚。为了本公开的目的,“测试管脚”被认为是从其发送信号或者在其处接收信号的任何种类的结构元件。所发送或接收的信号例如可以包括激励、响应、电力或者接地信号。共享测试器300耦合到诸如图1所示的系统之类的半导体测试控制系统104。在使用时,具有不同类型的半导体装置的晶片308或者管芯载体可以耦合到测试器300。上面具有不同类型的半导体装置的晶片308或者管芯载体可能例如在以下时候是有用的:1)多个不同的各方希望以工程模式来制造并测试有限数目的半导体装置,或者2 )不同的各方想要制造较低数目的产品装置,并且用于对测试器进行重新配置来测试不同类型的装置的开销是很大的或者不希望的。在一些实施例中,测试台控制器118可以询问晶片308或管芯载体或者其上的半导体装置,以确定晶片308或管芯载体上要测试的装置的配置。该询问可以经由提供给测试台控制器的硬件资源的虚拟集合316来完成,直接经由测试台控制器118来完成,或者经由主机系统120 (见图1)来完成。在其他实施例中,测试台控制器118可以接收或者检索用于晶片308或管芯载体的配置数据。在其他实施例中,用户可以与测试台控制器118的用户接口进行交互以规定晶片308或管芯载体上的装置的配置。不管测试台控制器118如何接收晶片308或管芯载体上的装置的配置,测试台控制器118都可以然后将计算机系统104的硬件资源的虚拟集合310、312、314映射到测试器的测试管脚302、304、306,或者简单地提供硬件资源的虚拟集合310、312、314向测试管脚302,304,306的映射。测试台控制器118可以在知道很少或者根本不知道晶片308或管芯载体上的半导体装置的特性的情况下执行或者提供这样的映射。在执行映射之后,测试台控制器118可以同时操作多个虚拟仪器112、114、116,从而使得在单个晶片308或管芯载体上并行地测试不同类型的半导体装置。在一些情况下,一个或多个虚拟仪器112、114、116中的每一个虚拟仪器可以被指派操作优先级,或者可以是暗示出特定优先级的“类型”。例如,虚拟仪器中的第一个可以是“生产”类型的,并且提供生产测试程序,而虚拟仪器中的第二个可以是“工程”、“调试”或“诊断”类型,并且提供非生产的测试程序。或者,虚拟仪器中的第二个可以是“成品率学习”类型,该类型为了成品率学习的目的而收集来自许多DUT的数据。在这样的情况下,测试台控制器118可被配置为向虚拟仪器中的第一个(或者向具有“生产”类型的另一虚拟仪器)赋予操作优先级。赋予“操作优先级”例如可以包括向与特定虚拟仪器112相关联的硬件资源的虚拟集合310赋予对计算机系统106的资源(例如硬件资源108)的优先访问。在一些情况下,两个或更多个虚拟仪器可以是同一类型的,并且测试台控制器118可以在先来先服务的基础上赋予优先级。或者,测试台控制器118可以赋予对资源的循环访问;或者,测试台控制器118 (或其操作者)可以基于其他因素来指派优先级。除了测试晶片或管芯载体上的半导体装置之外,图1中公开的半导体测试控制系统104或者图2中公开的方法200可以用于测试堆叠的或者封装后的半导体装置,这些半导体装置可以位于负载板或其他载体上。这里公开的系统和方法还可以用于测试耦合到不同测试器的半导体装置。在这样的情况下,这些系统和方法仍然使能共享测试台控制器118和计算机系统106的其他资源。这里公开的系统和方法还可以用于顺次测试半导体装置。在这些情况下,未被使用的虚拟仪器仍然可以安装在计算机系统106上(或者可以在与以往配置测试控制系统所花费的努力相比更少努力的情况下安装在计算机系统106上),从而通过减少等待时间来重新配置用于测试不同类型的半导体装置的测试系统。取决于它们的实现方式,与图1所示的计算机系统106相似(或者类似地)配置的计算机系统或者图2所示的方法200可以提供与过去的用于控制半导体测试系统102或测试台的系统或方法相比的各种优点。例如,如已经在某种程度上讨论的,这些系统和方法使得不同的各方能够安全地监视或控制测试阶段的不同方面。具体而言,诸如无厂半导体公司之类的半导体设计公司可以使用虚拟仪器112在铸造厂或OSAT机构的台上安全地部署私有的装置测试程序。在一些情况下,虚拟仪器112可使得半导体设计公司能够在虚拟仪器112内使用公共产品工程环境。也就是说,可以使用相同的工程环境(操作系统、软件平台等等)来既设计装置又创建并部署其测试程序。对于铸造厂或者OSAT机构,监管器110和测试台控制器118的使用允许铸造厂或者OSAT:1)维护其测试台上的设备122、124,2)分配或者调度对其设备102、104的使用以实现对其设备102、104的最优利用,以及3)测试由不同方设计的半导体装置,而不危及诸如装置设计、测试程序和成品率数据之类的敏感信息的安全性。监管器110和测试台控制器118的使用还使得铸造厂或者OSAT机构能够同时操作不同的虚拟仪器,从而使得不同的测试程序在公共计算机系统上同时运行,并且在一些情况下在共享测试器上同时运行。这可以在同时强制了防止一方的装置设计、测试程序或测试数据向另一方公开的安全性策略的时候进行。将在本说明书中稍后公开使用诸如图1公开的计算机系统之类的计算机系统106或者诸如图2公开的方法之类的方法200的其他优点。现在将注意力转向在测试台控制器与虚拟仪器之间划分职责。基于特定测试环境的需求,可以按各种方式来划分职责。然而,认为一般而言并且在多数情况下,职责应当被划分成:1)优化测试台效率和设备利用,2)在测试台上提供安全的软件部署和数据收集,以及3)提供半导体的开发周期的虚拟集成。在本说明书中稍后将更全面地讨论后一优点。再一次考虑包括探测器/处理机124和ATE系统122的示例性半导体测试系统102(见图1),图4示出虚拟仪器112与测试台控制器118 (或者主机计算机系统120,为了本说明书的目的,认为主机计算机系统120与测试台控制器118集成)之间的示例性职责划分。图4将生产测试阶段400分解成五个一般的子阶段:生产规划402 ;生产设定404 ;生产执行406 ;生产监视408 ;以及后期处理和分析410。虽然子阶段402-410被示出为具有主要是顺次的顺序,但是本领域普通技术人员将会认识到,子阶段402-410的显著重叠、重复和重新配置是可能的。在图4中,被有利地指派给测试台控制器118的职责以较粗的线画出;被有利地指派给虚拟仪器112的职责以较细的线画出;并且可被指派给测试台控制器118或虚拟仪器112中的任一者或两者的职责以虚线画出。在生产规划阶段402期间,铸造厂或者OSAT机构评定其来自各方的工作量,确定需要什么设备来测试什么装置,以及分配设备来实现最优的或希望的设备利用。诸如某些订单的紧急性或者某些设备的不可用性之类的因素可被考虑在内。晶片、管芯载体或者负载板上的半导体装置的配置以及共享测试设备的有用性也可被考虑。生产规划阶段通常是单独由铸造厂或者OSAT机构来控制的,因此在必要时由测试台控制器118来支持。在生产设定阶段404期间,对所分配的设备进行配置以测试一个或多个特定类型的半导体装置。该阶段取决于铸造厂为特定的测试制定所分配的设备和硬件412。结果,生产设定阶段404可以由测试台控制器118执行。测试台控制器118可以配置探测器/处理机以及ATE系统的探测卡或者负载板。在生产执行阶段406期间,可以在框436安装或者配置测试逻辑控制器。这可以包括配置计算机工作站(WS) 416 ;安装或者配置用于在工作站上运行特定类型的测试软件的操作系统426 ;安装或者配置测试软件424 ;加载装置测试程序422 ;以及配置ATE系统的硬件420。在一些情况下,工作站配置、操作系统或测试软件可以由测试台控制器118提供,并且装置测试程序和ATE系统硬件配置可以由虚拟仪器提供。在其他情况下,工作站配置、操作系统、测试软件、测试程序和ATE系统硬件配置可以都由虚拟仪器提供。在一些实施例中,测试软件可以是惠瑞捷有限公司的Smartest软件。测试台控制器118或虚拟仪器中的任一者或二者还可以提供硬件(HW)和软件(SW)许可遵从功能428、校准功能430 (例如,校准数据)以及用于测试半导体装置的各种库或工具。在虚拟仪器112和任何必要的硬件被安装和配置之后,测试台控制器118可以使得虚拟仪器112在框432执行其测试程序(例如,通过在ATE系统上设置测试向量),从而使得多个半导体装置被测试。在测试期间,虚拟仪器112可以接收来自ATE系统的数据并且将其记录在数据日志434中。随着装置被测试并且新的装置需要被加载,虚拟仪器112可以与测试台控制器118通信以使得测试台控制器118操作探测器/处理机(但是在一些情况下,虚拟仪器112本身可以操作探测器/处理机)。在一些情况下,生产执行阶段406可以包括或者跟随有各种专门化的测试阶段,例如冗余分析阶段440、适应性测试阶段442或者硅诊断和调试阶段444。这些专门化的测试阶段440、442、444可以由测试台控制器118、虚拟仪器112或者二者的组合来控制。生产监视阶段408可以涉及对测试台设备的监督以确保所有设备都在平稳地运行并且处于正常工作状态。生产监视通常是铸造厂或者OSAT机构的任务,因而由测试台控制器118执行。在后期处理和分析阶段410,数据和故障分析448、450可被测试台控制器118协调或执行,以使得晶片或装置可被移到它们适当的接下来的处理站。然而,成品率学习446可被测试台控制器118和虚拟仪器112中的任一者或二者来协调或执行。通过赋予测试台控制器118对成品率学习数据的访问,测试台控制器118 (或者铸造厂或OSAT机构操作者)可以设法通过对测试台设备进行适当的修改(例如,通过对测试台设备进行校准)来改善成品率。另一方面,半导体设计公司可以选择将成品率数据保持为私有的,并且仅仅在必要时与铸造厂或者OSAT机构共享数据。在过去,使用单个ATE系统来测试不同类型的装置需要针对不同类型的装置来安装和配置不同的软件环境。例如,图4所示的生产设定和生产执行阶段可能被如图5所示地实现。如图5所示,ATE系统和探测器/处理机硬件首先被设定和校准(在框500和502)。然后,对于代表正在测试的DUT的类型改变的每一种类(lot)(在框504示出),可能需要选择并安装新的工作站(在框506)。然后需要安装和配置用于控制探测器/处理机的软件(在框508),并且需要安装和配置用于控制ATE系统的软件(在框510)。后者可能包括安装和配置操作系统(在框512)、安装和配置测试软件(在框514)、安装装置测试程序(在框516)以及安装和配置定制工具组件(在框518)。随着安装和配置被处理,有时候需要配置另外的硬件,或者需要改变硬件配置(在框520),并且可能需要作出另外的软件调整。常常出现版本控制问题。结果,新的软件环境的安装和配置有时可能是非常耗时的,从而延迟了生产测试的开始(在框522)。然而,通过把对软件环境的一些或所有“稳定”部分的安装和配置并入到测试台控制器中(即,通过把软件环境的跨越所有装置类型而保持恒定的那些部分并入到测试台控制器中),并且通过把对软件环境的所有其他部分的安装和配置并入到仍然被加载在存储器中的虚拟仪器(或者其可以作为预先创建的“存储器镜像”而被容易地加载到存储器中)中,针对不同种类的DUT选择/安装不同的工作站(在框506)可被主机计算机系统的一次(或者偶发的)安装和配置(例如,在图6的框600,对测试台控制器和监管器110的安装和配置)取代,并且在框512-520中执行的功能可被简单切换到(或者加载)预先配置的虚拟仪器取代(在框602)。如果主机系统能够管理同时加载的虚拟仪器,则虚拟仪器之间的切换变得更加容易。并且如先前所述,虚拟仪器有时可被同时操作。如果希望,在框506对探测器/处理机软件的安装和配置也可被并入到在框602对虚拟仪器的加载。在一些情况下,虚拟仪器镜像的加载可以通过“精确拷贝”加载功能来实现,或者几乎如此——尤其是在虚拟仪器的主机环境被很好地表征的情况下。当对虚拟镜像加载的调试是必要的时,这可以通过铸造厂或者OSAT机构处的工程师、设计了(或者了解)虚拟仪器的工程师或其组合来完成。此外,如果主机环境被很好地表征,则允许虚拟仪器来配置测试程序的软件环境(例如,Linux版本、SmarTest版本、定制工具等等)将不存在任何费力或风险。如先前讨论的,使用虚拟仪器来控制测试系统的一个或多个方面的一个优点在于:半导体设计公司可以使用虚拟仪器在铸造厂或OSAT机构的台上安全地部署私有的装置测试程序。虚拟仪器还可以使得半导体设计公司能够将公共的产品工程环境用于装置设计和测试程序开发这二者。在装置及其测试程序被开发之后,关于装置的信息(以及可能的装置设计本身)、执行测试程序所需要的操作系统、执行测试程序所需要的ATE软件的版本以及其他需要的工具和库(例如,定制的工具)可被封装或编译成虚拟仪器并且被传送到铸造厂或者OSAT机构以用于生成和测试。图7示出用于创建、部署虚拟仪器以及与该虚拟仪器通信的示例性方法700。方法700包括划分步骤702,在步骤702中:可以确定或者规定(即,划分)虚拟仪器的组件的一个或多个角色;可以规定虚拟仪器的许可要求;可以创建装置测试程序和性能估计(PE)工具;并且可以规定像所要求的硬件和软件版本这样的部署参数。在框704,虚拟仪器的核心功能与支持功能相集成,例如:用于远程访问的网络安全性组件;网络路由信息;数据日志服务器访问;以及数据存储访问。这些支持和核心功能然后被编译成虚拟仪器708 (在框706)。虚拟仪器708的部署可以包括将虚拟仪器708下载到铸造厂或者OSAT机构、在主机系统上加载虚拟仪器708、然后在必要的情况下检查并校正虚拟仪器708的配置(在框710)。一旦被部署,虚拟仪器就可通过其集成的支持功能及其对它所部署在的计算机系统的硬件资源的虚拟集合的使用而被监视(在框712)。由于装置的开发周期的虚拟集成(由虚拟仪器708提供),所部署和监视的虚拟仪器708在需要时可由其创建者或管理者修改。在一些情况下,图7所示的方法700的步骤可以按其他顺序来执行,或者方法700可在具有更多或更少步骤的情况下来执行。图8示出用于创建、部署虚拟仪器以及与该虚拟仪器通信的第二示例性方法800。在步骤802,确定特定操作系统和特定测试系统软件。该特定操作系统和测试软件可用于执行测试半导体装置的测试程序。在步骤804,为测试程序规定通信接口。通信接口的规范包括用于通信接口的安全性简档的规范。在一些情况下,可以明确地规定安全性简档。在其他情况下,可以通过通信接口的规范来隐含地或者缺省地规定安全性简档。在步骤806,将测试程序、特定操作系统、特定测试系统软件、通信接口和安全性简档编译成虚拟仪器808。在一些情况下,其他要素可被编译成虚拟仪器808。在步骤810,将虚拟仪器传送到至少一个测试台操作者以供安装在至少一个半导体测试控制系统上。该传送可以按电子方式、通过物理地发送计算机可读介质或者以其他方式来执行。在步骤812,通过与虚拟仪器的通信接口通信来监视(并且在一些情况下控制)在至少一个测试台上对半导体装置的测试。该通信可以是直接的,即在用户的计算机与虚拟仪器之间,或者可以是间接的(例如,通过中间计算机或装置)。方法800的所有步骤可以利用一个或多个计算机系统来执行。如果是利用一个或多个计算机系统执行的,则这些步骤可被自动执行或者响应于用户输入而被执行。在一些实施例中,该方法的一个或多个步骤可被手动执行。例如,向测试台操作者传送虚拟仪器的步骤可以通过以物理方式向测试台操作者发送上面具有虚拟仪器的计算机可读介质来执行。前面提到了在步骤806中“其他要素”可被编译到虚拟仪器中。这些要素之一是关联引擎。这样,在一些实施例中,方法800还可以包括规定关联引擎执行以下操作的步骤:i)监视测试程序的执行,以及ii)响应于该执行监视,调整测试程序的执行参数。所规定的关联然后可被编译到虚拟仪器中。如先前提及的,执行参数例如可以是测试程序执行速度或者测试程序存储器分配。可在步骤806编译到虚拟仪器中的另一要素是定制工具。这样,在一些实施例中,方法800还可以包括规定将在测试程序的执行期间使用的定制工具组件的步骤。所规定的定制工具组件然后可被编译到虚拟仪器中。例如,定制工具组件可以包括I)由特定半导体设计公司或者测试开发者开发(或者使用)的软件工具,2)运行特定虚拟仪器所需要的第三方软件,或者3)对于OSAT或者铸造厂在测试特定类型的DUT时需要使用的定制硬件(工具)的基于软件的控制或配置。定制硬件例如可以包括探测卡或负载板上的组件或者探测卡或负载板的接口。在方法800的一些实施例中,向至少一个测试台操作者传送虚拟仪器以供安装在至少一个半导体测试控制系统上的步骤包括:向至少一个测试台操作者传送虚拟仪器以供安装在多个半导体测试控制系统上。在方法800的这些实施例中,方法800可以包括通过与由虚拟仪器的多次安装所提供的通信接口进行通信来监视多个半导体测试系统对半导体装置的测试的步骤。使用虚拟仪器的另一优点在图9中示出,其中部署了具有公共远程访问接口的多个虚拟仪器900、902来控制或者监视不同测试台上的半导体测试系统904、906(例如,多个铸造厂或者OSAT机构的测试台上的测试系统),从而使得半导体设计公司908或者其他方能够跨越多个测试台来接收、分析、比较或者聚集数据。尽管测试台可能使用不同的主机系统硬件、不同的测试台控制器以及不同的半导体测试系统904、906,但是虚拟仪器900、902使得这种数据聚集变得可能。由一个或多个计算机系统的(一个或多个)监管器提供的资源的虚拟化还确保了半导体设计公司908或者其他方所实现的数据聚集不会在竞争的各方之间(例如,在竞争的设计公司之间,或者在设计公司与铸造厂或OSAT机构之间)引起安全性缺口。具有公共远程访问接口的多个虚拟仪器1000、1002也可以在装置的测试阶段或者开发阶段部署在不同的插入点。例如,如图10所示,虚拟仪器1000、1002可被部署在晶片测试和最终测试插入点1004、1006 (例如,部署在用于晶片测试1004的一个或多个ATE系统以及用于最终测试1006的一个或多个ATE系统)。这样,可以实现半导体装置的开发周期的虚拟集成。例如,从虚拟仪器1000、1002获得并且提供给半导体设计公司(或者第三方)的计算机系统1008的数据可以用于修改装置设计1010、其封装或者其测试程序1012。从虚拟仪器1000、1002获得的数据还可用于对装置的开发周期的制造、组装或测试阶段中的设备或者处理进行调整。或者,一旦装置设计1010或者测试程序1012已被修改,修改后的装置设计1010或者测试程序1012就可被提供给制造、组装或测试阶段(例如,根据修改后的装置设计1010或者测试程序1012来制造、组装或测试装置)。由图9和图10所示的虚拟仪器900、902、1000、1002辅助的数据聚集还使能了集中式成品率学习。再次,由一个或多个计算机系统的(一个或多个)监管器提供的资源的虚拟化确保了成品率数据向半导体设计公司或者其他方的流动不会在竞争的各方之间引起安全性缺口。虚拟仪器还可以确保成品率数据以可被容易地接受到由半导体设计公司使用的软件平台中的方式被返回到半导体设计公司。在一些情况下,由一个或多个虚拟仪器提供的数据可被提供给集中式数据管理机构,例如集中式服务器、数据处理中心、数据处理云或者刀片式机群。集中式数据管理机构可以简单地存储数据,或者可以处理或分析数据。集中式数据管理机构可以由半导体设计公司或者其他方来拥有或者管理。图11示出将来自两个OSAT机构1104、1106和铸造厂1108的数据进行组合的示例性集中式数据管理机构1100。首先在多个测试台级别1110、1112、1114、1116聚集数据,然后还在OSAT机构1104,1106和铸造厂1108级别聚集数据。最后,在数据管理机构1100聚集并且以集中方式管理数据。集中式数据管理机构1100可以包括虚拟化的服务器、处理器或者其他资源的集合。这样,从多个虚拟仪器及其测试系统1118、1120、1122、1124、1126、1128接收的数据被以层级方式聚集。数据处理和分析可以在集中式数据管理机构1100执行,或者可以在聚集层级中的任何其他级别执行。作为替代或者另外,对数据的访问可被提供给半导体设计公司1102或者另一方——例如为了由另一方对数据进行处理或分析,或者仅仅为了将数据或者分析结果报告给另一方(例如,为了监视的目的)。图11还示出在第二集中式数据管理机构1130处聚集数据,该第二集中式数据管理机构1132可被第二半导体设计公司1134访问。注意,图11所示的数据聚集层级中的某些参与者可以将其数据中的一些或全部都提供给多方以供聚集。例如,铸造厂1108将其数据中的一些或全部提供给数据管理机构1100和1132的每一者。图11还示出虚拟仪器的应用层的示例性组件。这些示例性组件包括远程控制和监视组件;安全性和许可组件;成品率数据和学习组件;以及本地测试器和集中式数据管理机构的接口。图12示出用于实现以上原理中的一些或全部的方法1200。方法1200包括通过计算机网络接收来自多个虚拟仪器的数据(在框1202)。数据是在计算机系统处接收的,并且对应于对多个半导体装置执行半导体测试,其中,这些半导体测试是由至少部分地受虚拟仪器中的相应虚拟仪器控制的多个半导体测试系统来执行的。方法1200继续,使用计算机系统(在框1204)来I)评估从多个虚拟仪器接收的数据(在框1206)并且2)从所评估的数据中确定对多个半导体装置的至少第一子集的开发周期的调整(在框1208)。
在方法1200的一些实现方式中,在计算机系统处接收的数据可以对应于由位于不同测试台上的多个半导体测试系统执行的半导体测试,如图7所示。该数据然后可被计算机系统评估,以确定从两个或更多个测试台接收的数据之间的差异。在方法1200的其他实现方式中,在计算机系统处接收的数据可以对应于由测试阶段的不同插入点处的多个半导体测试系统执行的半导体测试,如图8所示。该数据然后可被计算机系统评估,以确定从两个或更多个插入点接收的数据之间的差异。在任意情况下,从不同虚拟仪器接收的数据的差异例如可以是类似的半导体测试的结果的差异,或者在不同虚拟仪器处测试的半导体装置的成品率损失上的差异。在一些情况下,对从不同虚拟仪器接收的数据进行评估可以包括对数据进行相关。方法1200所确定的开发周期调整可以采用各种形式,甚至可以采用多种形式。在一些情况下,该调整例如可以包括对所测试的半导体装置的设计的调整。在其他情况下,该调整可以包括半导体制造步骤的调整或者半导体组装步骤的调整。半导体制造或者组装步骤可以是在“全局”的基础上影响装置的制造或者组装的步骤(即,在所有多个类似地安置的制造或组装位置处影响装置的制造或者组装的步骤)。或者,半导体制造或者组装步骤可以是在“局部”的基础上影响装置的制造或者组装的步骤(即,仅在类似地安置的制造或组装位置中的一个或者子集处影响装置的制造或者组装的步骤)。可以进行后一情况中的调整以例如克服单个测试系统的错误校准(或者克服将一个测试系统的结果与另一测试系统的结果进行相关的需要)。在其他情况下,方法1200所确定的调整可以是对由至少一个虚拟仪器执行的测试程序的调整。例如,可以调整对在特定插入点处执行的测试的限制。或者,例如,可以向在特定插入点处执行的测试程序添加测试(或者从其删除测试)。在其他情况下,方法1200所确定的调整可以是对受虚拟仪器控制的半导体测试系统中的一个或多个的调整。例如,可以对成品率损失高于预期的特定半导体测试系统进行调整。图13示出用于实现本公开中公开的一些或所有原理的另一示例性方法1300。方法1300包括通过计算机网络接收来自至少一个虚拟仪器的数据(在框1302)。该数据是在计算机系统处接收的,并且对应于对多个半导体装置执行半导体测试,其中,这些半导体测试是由至少部分地受至少一个虚拟仪器控制的多个半导体测试系统来执行的。方法1300继续,使用计算机系统(在框1304)来I)评估从至少一个虚拟仪器接收的数据以确定将由至少一个虚拟仪器执行的动作(在框1306),并且2)把将要执行的动作传达给至少一个虚拟仪器(在框1308)。与方法1200类似,根据方法1300接收的数据在一些情况下可以对应于由位于不同测试台上的多个半导体测试系统执行的半导体测试,如图7所示。该数据然后可被计算机系统评估,以确定从两个或更多个测试台接收的数据之间的差异。在方法1300的其他实现方式中,在计算机系统处接收的数据可以对应于由测试阶段的不同插入点处的多个半导体测试系统执行的半导体测试,如图8所示。该数据然后可被计算机系统评估,以确定从两个更多个插入点接收的数据之间的差异。在任意情况下,从不同虚拟仪器接收的数据的差异例如可以是类似的半导体测试的结果的差异,或者在不同虚拟仪器处测试的半导体装置的成品率损失上的差异。在一些情况下,对从不同虚拟仪器接收的数据进行评估可以包括对数据进行相关。在方法1200或1300的任一者中,将由第一虚拟仪器执行的动作可以通过评估从第二虚拟仪器接收的数据来确定。例如,将由第一虚拟仪器执行的动作可以是对一个或多个半导体管芯的表征或者对第一虚拟仪器的测试程序的执行参数的调整。例如,基于在测试阶段中的另一插入点处测试了该管芯的上游虚拟仪器所提供的数据,在特定虚拟仪器的控制下测试的管芯可被表征为良好或者不良,或者以其他方式来表征。或者,例如,基于测试另一测试台上的类似管芯的虚拟仪器所提供的数据,在特定虚拟仪器的控制下测试的管芯可被表征为良好或者不良,或者以其他方式来表征。如果测试系统的错误校准(或者测试结果的错误相关)被预期到或者是可能的,则可能是这样的情况。在其他情况下,基于由公共测试台控制器操作的虚拟仪器所提供的数据,在特定虚拟仪器的控制下测试的管芯可被表征为良好或者不良,或者以其他方式来表征。例如,考虑承载不同类型的半导体装置的晶片或者负载板,这些半导体装置被在工程或者小批量生产运转中测试。即使可以使用不同的虚拟仪器来测试不同的装置类型,有时希望在以下各项的背景中表征装置或者装置测量结果:i)从晶片或者负载板上的不同物理位置获取的测量结果,或者ii)从测试器的不同测试管脚获取的测量结果。已经公开了图1所示的计算机系统102向铸造厂或者OSAT机构提供的优点中的一些。这些优点包括分配或者调度对其设备的使用以获得对其设备的最优利用的能力。最优设备利用不仅包括计算资源的利用(例如,用于控制和监视一个或者一组测试系统的控制器或者单个计算机系统的共享),而且还包括测试系统的利用(例如,使用ATE系统来或多或少地同时地测试不同类型的装置)。例如,使用相对容易地加载的虚拟设备使得铸造厂或者OSAT机构能够对高优先级测试(或者大批量制造(HVM)生产测试)和低优先级测试(例如,工程测试)进行优先级设定并且更容易地在它们之间进行切换。使用虚拟仪器的另一优点在于它提高了铸造厂或者OSAT机构的服务更多客户以及满足更多不同的测试请求的能力,这是因为铸造厂或者OSAT机构可以在不同的虚拟仪器内执行更多不同类型的测试程序,而不担心操作上的低效或者与其他装置测试程序的冲突。铸造厂或者OSAT机构还可以在虚拟仪器内执行传统软件。而且,对于需要放缓的传统软件或测试程序,可以(例如通过虚拟仪器或其提供者)指示主机系统以更慢的执行速度来执行传统软件、测试程序或者它们的部分。在一些情况下,高度可变的并且取决于装置的控制功能向虚拟仪器中的迁移可以使得铸造厂或者OSAT机构能够在更稳定的环境中提供其他(例如通常的)功能性。另一方面,使用虚拟仪器还可以促使铸造厂和OSAT机构升级到测试系统及其控制器的最新版本,这是因为这样做使得它们能够I)争取使用最当前的测试开发平台的前沿客户,而同时2)通过在虚拟仪器内执行它们的软件来维持传统客户。然而,不管设备升级如何,测试台控制器可以保持稳定,使得它能够支持在测试台上部署的任何虚拟仪器。此外,可以跨越测试台的所有计算机系统和控制器来部署相同类型/版本的测试台控制器。这不仅为所有虚拟仪器提供了稳定一致的执行环境,而且测试台控制器的公共性趋于降低软件维护成本。资源的虚拟化还可以提供冗余,使得如果一个资源失效(不管其是计算资源还是测试资源),则可以换成新的资源来取代失效的资源。虚拟化还提供了对置于池中每个资源上的负载的更佳管理。
图14提供了可以用于容宿这里描述的监管器、虚拟仪器和测试台控制器的示例性计算机系统1400的框图。计算机系统1400 —般表示能够执行单线程或多线程应用的任何单处理器或多处理器计算装置。计算机系统1400可以包括将计算机系统1400的主要子系统互连的通信基础设施1402。通信基础设施1402 —般表示能够辅助一个或多个电子组件之间的通信的任何形式或结构;例如包括通信总线(例如,ISA、PC1、PC1-E、AGP等等)或者网络。如图14所示,示例性计算机系统1400可以包括处理器1404、系统存储器1406、输入/输出(I/o)控制器1408、通信接口 1410和存储器接口 1412。处理器1404 —般表示能够释译指令并且处理数据的任何类型或形式的CPU或者其他计算装置。提供给处理器1404的指令可以使得处理器1404执行这里描述和/或说明的监管器、虚拟仪器或测试台控制器中的一个或多个的功能。提供给处理器1404的指令可以是来自软件应用或模块的指令,并且这里描述的监管器、虚拟仪器或者测试台控制器可被实现为一个或多个软件应用或模块中的指令。处理器1404可以执行或者帮助执行这里描述的各种方法。例如,处理器1404可以单独地或者与其他元件相结合来执行这里描述的监管器、虚拟仪器或者测试台控制器所执行的一个或多个动作或功能,并且/或者可以是用于执行这些动作或功能的手段。处理器1404还可以执行这里描述和/或说明的各种其他步骤或处理,并且/或者可以是用于执行各种其他步骤或处理的手段。系统存储器1406 —般表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储装置或介质。系统存储器1406的示例包括但不限于随机存取存储器(RAM)单元、只读存储器(ROM)单元、闪速RAM单元或者任何其他合适的存储器装置。在某些实施例中,系统存储器1406例如可以用于存储数据。I/O控制器1408—般表示能够协调和/或控制计算装置的输入和输出功能的任何类型或形式的计算机板或模块。I/O控制器1408例如可以用于单独地或者与其他元件相结合来执行这里描述的监管器、虚拟仪器或者测试台控制器所执行的一个或多个动作或功能,并且/或者可以是用于执行这些动作或功能的手段。I/O控制器1408还可以用于执行这里给出的其他步骤和特征,并且/或者可以是用于执行这些其他步骤和特征的手段。通信接口 1410 —般表示能够辅助示例性计算机系统1400与一个或多个其他装置之间的通信的通信装置。例如,在某些实施例中,通信接口 1410可以将计算机系统1400与半导体测试系统的一个或多个组件互连,并且与包括其他计算机系统的私人或公众网络互连。通信接口 1410的示例包括但不限于网络接口(例如网络接口卡)、无线卡、调制解调器、通信端口(例如USB或者火线端口)以及任何其他合适的接口。在至少一个实施例中,通信接口 1410可以提供经由去往因特网的直接网络链路而与远程服务器的直接连接。通信接口 1410还可以提供例如通过以太网连接、调制解调器、数字蜂窝电话连接、蓝牙网络、IEEE802.1lx无线网络、数字卫星数据连接或者任何其他合适连接的连接。通信接口 1410可以允许计算机系统1400从事分布式计算或者远程计算。例如,通信接口 1410可以接收来自远程计算机的指令,或者通信接口 1410可以向远程计算机或者测试系统发送指令以供执行。因此,通信接口 1410可以单独地或者与其他元件相结合来执行这里描述的监管器、虚拟仪器或者测试台控制器的一个或多个动作或功能,并且/或者可以是用于执行这些动作或功能的手段。通信接口 1410还可以用于执行本公开中给出的其他步骤和特征,并且/或者可以是用于执行这些其他步骤和特征的手段。存储器接口 1412 —般表示能够允许在计算机系统1400的存储装置与其他组件之间传送软件和数据的任何类型或形式的装置。例如,存储器接口 1412可以包括卡盒接口、存储器插座或者盘驱动器。存储器接口 1412还可以是软盘驱动器、光盘驱动器、闪存接口或者任何其他类型的存储器接口。在某些实施例中,存储器接口可以单独地或者与其他元件相结合来执行这里描述的监管器、虚拟仪器或者测试台控制器所执行的一个或多个动作或功能,并且/或者可以是用于执行这些动作或功能的手段。存储器接口 1412还可以用于执行这里描述和/或说明的其他步骤和特征,并且/或者可以是用于执行这些其他步骤和特征的手段。如图14所示,计算机系统1400还可以包括至少一个显示装置1414,显示装置1414经由显示适配器1416耦合到通信基础设施1402。显示装置1414 一般表示能够以视觉方式显示由显示适配器1416转发的信息的任何类型或形式的装置。类似地,显示适配器1416 一般表示被配置为转发来自通信基础设施1402(或者来自帧缓冲器,如本领域已知的)的图形、文本和其他数据以供在显示装置1414上显示的任何类型或形式的装置。显示装置1414的示例包括但不限于CRT监视器、IXD屏幕、等离子屏幕、视频投影仪等等。如图14所示,示例性计算机系统1400还可以包括至少一个输入装置1418,输入装置1418经由输入接口 1420耦合到通信基础设施1402。输入装置1418 —般表示能够将计算机或人类产生的输入提供给示例性计算机系统1400的任何类型或形式的用户输入装置。输入装置1418的示例包括但不限于键盘、点选装置、语音识别装置或者任何其他输入装置。在至少一个实施例中,输入装置1418可以单独地或者与其他元件相结合来执行这里描述的接收、访问、确定、验证、修改、防止、创建、加密、解密、密码保护、限制、提供、终止、计算、应用、生成、传送、通信和/或存储步骤中的一个或多个,并且/或者可以是用于执行这些步骤中的一个或多个的手段。输入装置1418还可以用于执行本公开中给出的其他步骤和特征,并且/或者可以是用于执行这些其他步骤和特征的手段。如图14所示,示例性计算机系统1400还可以包括存储装置1422,存储装置1422经由存储接口 1424耦合到通信基础设施1402。存储装置1422 —般表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储装置或介质。例如,存储装置1422可以是磁盘驱动器(例如,所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等等。在某些实施例中,存储装置1422可被配置为从可移除存储单元进行读取和/或向可移除存储单元进行写入,该可移除存储单元被配置为存储计算机软件、数据或者其他计算机可读信息。合适的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存装置等等。存储装置1422还可以包括用于使得计算机软件、数据或者其他计算机可读指令能够被加载到计算机系统1400的其他类似的结构或装置。例如,存储装置1422可被配置为读取或者写入软件、数据或者其他计算机可读信息。存储装置1422还可以是计算机系统1400的一部分,或者可以是通过其他接口系统访问的分离装置。在某些实施例中,存储装置1422例如可以用于单独地或者与其他元件相结合来执行这里描述的监管器、虚拟仪器或者测试台控制器的一个或多个动作或功能,并且/或者可以是用于执行这些动作或功能的手段。存储装置1416还可以用于执行本公开中给出的其他步骤和特征,并且/或者可以是用于执行这些其他步骤和特征的手段。
在某些实施例中,计算机系统1400可以是任何种类的计算装置,包括服务器、刀片式机群或者网络仪器。计算机系统1400还可以是被配置来执行这里描述和/或说明的功能和模块的任何类型装置。计算机系统1400可以是源计算机、目的地计算机、服务器或者这里讨论的任何其他计算装置。计算机系统1400上提供的操作系统可以是WIND0WS、UNIX、Linux或者任何其他操作系统或平台。计算机系统1400还可以支持多种因特网访问工具;例如包括具有JavaScript释译器的遵从HTTP的网络浏览器,例如Netscape Navigator>Microsoft Internet Explorer或者其他类似的导航器。许多其他装置或子系统可被连接到计算机系统1400。相反,图14所示的所有装置不是实施这里描述和/或说明的实施例所必须存在的。上面提及的装置和子系统也可以按照不同于图14所示的方式来互连。实际上。计算机系统1400可以使用任何数目的软件、固件和/或硬件配置。例如,这里公开的监管器、虚拟仪器或者测试台控制器中的一个或多个可被编码为计算机程序(也称为计算机软件、软件应用、计算机可读指令或者计算机控制逻辑)并且被存储在计算机可读介质中。然后包含计算机程序的计算机可读介质可被利用可移除存储驱动器加载到计算机系统1400中,或者可被通过诸如因特网或其他网络之类的通信路径经由通信接口 1410下载到计算机系统1400。存储在计算机可读介质上的计算机程序的全部或者一部分然后可被存储在系统存储器1406和/或存储装置1422的各个部分中。根据某些实施例,计算机可读介质可以是光存储装置、磁存储装置或者能够存储计算机可读指令的任何其他物理存储装置。当被处理器1404执行时,加载到计算机系统1400中的计算机程序可以使得处理器1404执行这里描述的监管器、虚拟仪器或者测试台控制器的动作或功能,并且/或者成为用于执行这些动作或动能的手段。另外或者作为替代,这里描述和/或说明的一个或多个示例性实施例可以用固件和/或硬件实现。例如,这里公开的一个或多个示例性实施例可以利用诸如专用集成电路(ASIC)之类的各种硬件组件来实现。已提供了前述描述以使得本领域其他技术人员能够最好地利用这里描述的示例性系统、方法和设备的各个方面。该示例性描述并不意图是穷举的或者限制于这里公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变动是可能的。希望这里公开的实施例在所有方面都被认为是说明性的,而非限制性的,并且参考所附权利要求及其等同物来确定本公开的范围。虽然前述公开给出了使用特定框图、流程图和示例的各种实施例,但是这里描述和/或说明的每个框图组件、流程图步骤、操作和/或组件可以利用广阔范围的硬件、软件或者固件(或其任何组合)实现方式来单独地和/或共同地实现。前述公开还描述了包括包含于其他组件内的组件的实施例。这样的体系结构仅仅是示例性的,并且可以实现许多其他体系结构来获得相同的功能性。例如,这里描述和/或说明的一个或多个组件或装置可被组合成单个组件或装置,并且/或者划分成多个组件或装置。类似地,这里描述和/或说明的步骤的处理参数和顺序仅仅是作为示例给出的,并且可以根据需要而变化。例如,虽然这里说明和/或讨论的步骤可以按特定顺序来示出或讨论,但是这些步骤不一定需要按照所示出或讨论的顺序来执行。另外,这里描述和/或说明的各种示例性方法可以省略这里描述或说明的一个或多个步骤,或者除了所描述或说明的步骤之外还包括另外的步骤。
此外,虽然这里在全功能型计算机系统的背景下描述和/或说明了各种实施例,但是这里描述和/或说明的一个或多个示例性实施例可能能够作为程序产品而以各种形式分发,而不管实际用于执行该分发的信号承载媒介的特定类型。信号承载媒介的示例包括诸如软盘和CD-ROM之类的可记录介质、诸如数字和模拟通信链路之类的传输型媒介、以及电子存储媒介、磁存储媒介、光存储媒介、传达编码了指令的信号的通信介质以及其他分发系统。另外,这里描述和/或说明的一个或多个实施例可以利用执行某些任务的软件模块和脚本来实现。这里讨论的软件模块和脚本可以包括脚本、批文件、或者其他可执行文件。另外,这些软件模块和脚本可被存储在诸如磁盘驱动器之类的机器可读或者计算机可读存储介质上。在一些实施例中,模块和脚本可被存储在计算机系统存储器内,以配置计算机系统来执行模块的功能。这里讨论的一个或多个步骤可以通过计算机而自动化。在一些实施例中,模块或应用所执行的所有步骤可被通过计算机而自动化。除非另外表明,否则说明书和权利要求书中使用的术语“一”或“一个”将被解释为表示“至少一个”。另外,为了易于使用,说明书和权利要求书中使用的词“包括”和“具有”是可互换的并且与词“包含”具有相同含义。此外,被“配置”为提供或者做某事的硬件或软件组件被配置为采取特定状态以提供或者做某事。短语“配置为”之后的语言并不仅仅是对所意图的使用的记载。
权利要求
1.一种半导体测试控制系统,包括: 具有多个硬件资源的计算机系统; 安装在所述计算机系统上的监管器,所述监管器对所述硬件资源进行虚拟化并且向至少一个虚拟仪器中的每一个虚拟仪器提供对硬件资源的相应虚拟集合的访问,所述硬件资源的每个虚拟集合使相应虚拟仪器控制与所述半导体测试系统的至少第一方面的通信,从而使得相应虚拟仪器能够测试相应类型的半导体装置;以及 安装在所述计算机系统上的测试台控制器,所述测试台控制器控制与i)所述半导体测试系统的至少第二方面以及ii)所述至少一个虚拟仪器中的每一个的通信。
2.如权利要求1所述的半导体测试控制系统,其中,所述计算机系统的硬件资源的特定虚拟集合在特定虚拟仪器与该特定虚拟仪器的用户之间提供虚拟用户接口。
3.如权利要求1所述的半导体测试控制系统,其中,所述监管器向所述测试台控制器提供对所述计算机系统的硬件资源的相应虚拟集合的访问,并且其中,提供给所述测试台控制器的硬件资源的虚拟集合使所述测试台控制器控制与所述半导体测试系统的至少第二方面的通信。
4.如权利要求3所述的半导体测试控制系统,其中,提供给所述测试台控制器的硬件资源的虚拟集合在所述测试台控制器与所述测试台控制器的用户之间提供虚拟用户接口。
5.如权利要求4所述的半导体测试控制系统,其中,所述计算机系统的硬件资源的特定虚拟集合在特定虚拟仪器与该特定虚拟仪器的用户之间提供虚拟用户接口。
6.如权利要求1所述的半导体测试控制系统,还包括安装在所述计算机系统上的虚拟仪器,该虚拟仪器提供用于测试半导体装置的测试程序。
7.如权利要求6所述的半导体测试控制系统,其中,所述虚拟仪器包括关联引擎,该关联引擎被配置为:监视所述测试程序的执行环境,以及响应于该监视,调整所述执行环境的执行参数。
8.如权利要求7所述的半导体测试控制系统,其中,所述执行参数是测试程序执行速度。
9.如权利要求1所述的半导体测试控制系统,其中: 所述测试台控制器被配置为控制与多个虚拟仪器的通信;并且所述测试台控制器被配置为同时操作所述多个虚拟仪器,所述同时操作使得各个类型的半导体装置被并行测试。
10.如权利要求1所述的半导体测试控制系统,还包括安装在所述计算机系统上的多个虚拟仪器,其中: 所述虚拟仪器中的每一个提供用于测试相应类型的半导体装置的相应测试程序;所述计算机系统的硬件资源的每个虚拟集合使其相应虚拟仪器控制与所述半导体系统的共享测试器的相应资源集合的通信;并且 所述测试台控制器被配置为同时操作所述多个虚拟仪器,所述同时操作使得各个类型的半导体装置被所述共享测试器并行测试。
11.如权利要求10所述的半导体测试控制系统,其中: 所述虚拟仪器中的第一虚拟仪器提供生产测试程序; 所述虚拟仪器中的第二虚拟仪器提供非生产测试程序;并且所述测试台控制器被配置为向所述虚拟仪器中的第一虚拟仪器赋予操作优先级。
12.如权利要求10所述的半导体控制系统,其中,对所述多个虚拟仪器的所述同时操作使得各个半导体装置在单个晶片上被并行测试。
13.如权利要求10所述的半导体控制系统,其中,对所述多个虚拟仪器的所述同时操作使得各个半导体装置在共享负载板上被并行测试。
14.如权利要求1所述的半导体控制系统,其中,所述半导体测试系统包括多管脚测试器,并且其中,所述测试台控制器提供所述计算机系统的硬件资源的虚拟集合向所述多管脚测试器的测试管脚的映射。
15.如权利要求1所述的半导体控制系统,其中,所述半导体测试系统的至少第一方面包括自动化测试设备(ATE)系统的方面,并且所述半导体测试系统的至少第二方面包括探测器/处理机的方面。
16.如权利要求1所述的半导体控制系统,其中,所述计算机系统包括服务器机群。
17.—种半导体测试环境,包括: 具有多个硬件资源的计算机系统; 探测器/处理机; 自动化测试设备 (ATE)系统; 安装在所述计算机系统上的监管器,该监管器对所述硬件资源进行虚拟化并且向至少一个虚拟仪器中的每一个虚拟仪器提供对硬件资源的相应虚拟集合的访问,所述硬件资源的每个虚拟集合使相应虚拟仪器控制与所述ATE系统的方面的通信,从而使得相应虚拟仪器能够测试相应类型的半导体装置;以及 安装在所述计算机系统上的测试台控制器,该测试台控制器控制与i)所述探测器/处理机以及ii)所述至少一个虚拟仪器中的每一个的通信。
18.如权利要求17所述的半导体测试系统,其中,所述计算机系统的硬件资源的特定虚拟集合在特定虚拟仪器与该特定虚拟仪器的用户之间提供虚拟用户接口。
19.如权利要求17所述的半导体测试系统,还包括安装在所述计算机系统上的多个虚拟仪器,其中: 所述虚拟仪器中的每一个提供用于测试相应类型的半导体装置的相应测试程序;并且 所述测试台控制器同时操作所述多个虚拟仪器,所述同时操作使得各个半导体装置被所述ATE系统并行测试。
20.如权利要求17所述的半导体测试系统,其中,所述测试台控制器提供所述计算机系统的硬件资源的虚拟集合向所述ATE系统的测试管脚的映射。
21.—种控制半导体测试系统来测试半导体装置的方法,包括: 对计算机系统的多个硬件资源进行虚拟化; 在所述计算机系统上安装至少一个虚拟仪器,每个虚拟仪器的安装向该虚拟仪器提供了对所述计算机系统的硬件资源的相应虚拟集合的访问,并且所述硬件资源的每个虚拟集合使相应虚拟仪器控制与所述半导体测试系统的至少第一方面的通信,从而使得相应虚拟仪器能够测试相应类型的半导体装置; 使用安装在所述计算机系统上的测试台控制器来控制所述半导体测试系统的至少第二方面;以及使用所述测试台控制器来操作所述至少一个虚拟仪器中的每一个。
22.如权利要求21所述的方法,其中,操作特定虚拟仪器包括使得该特定虚拟仪器执行用于测试相应类型的半导体装置的测试程序。
23.如权利要求21所述的方法,其中,操作特定虚拟仪器包括使得该特定虚拟仪器在自动化测试设备(ATE)系统上设置测试向量。
24.如权利要求21所述的方法,其中: 在所述计算机系统上安装至少一个虚拟仪器包括在所述计算机系统上安装多个虚拟仪器;并且 使用所述测试台控制器来操作所述至少一个虚拟仪器中的每一个包括使用所述测试台控制器来同时操作所述多个虚拟仪器中的每一个。
25.一种测试半导体装置的方法,包括: 使用至少一个计算机系统, 确定可用于执行测试半导体装置的测试程序的特定操作系统和特定测试系统软件; 为所述测试程序规定通信接口,所述通信接口的规范包括用于所述通信接口的安全性简档的规范; 将所述测试程序、特定操作系统、特定测试系统软件、通信接口和安全性简档编译成虚拟仪器;以及 通过与所述虚拟仪器的通信接口进行通信来监视在至少一个测试台上对半导体装置的测试;以及 在编译所述测试程序和监视半导体装置的测试之间,将所述虚拟仪器传送给至少一个测试台操作者以供安装在至少一个半导体测试控制系统上。
26.如权利要求25所述的方法,还包括: 规定关联引擎,以监视所述测试程序的执行,并且响应于该执行监视,调整所述测试程序的执行参数;以及 将所述关联引擎编译到所述虚拟仪器中。
27.如权利要求26所述的方法,其中,所述执行参数是测试程序执行速度。
28.如权利要求25所述的方法,还包括: 规定将在所述测试程序的执行期间使用的定制工具组件;以及 将所述定制工具组件编译到所述虚拟仪器中。
29.如权利要求25所述的方法,其中,将所述虚拟仪器传送给至少一个测试台操作者以供安装在至少一个半导体测试控制系统上包括将所述虚拟仪器传送给至少一个测试台操作者以供安装在多个半导体测试控制系统上,所述方法还包括: 通过与由所述虚拟仪器的多次安装提供的通信接口进行通信,来监视多个半导体测试系统对半导体装置的测试。
30.一种方法,包括: 在计算机系统处通过计算机网络接收来自至少一个虚拟仪器的数据,该数据对应于对多个半导体装置执行半导体测试,所述半导体测试是由至少部分地受所述至少一个虚拟仪器控制的至少一个半导体测试系统执行的;以及 使用所述计算机系统,评估从所述至少一个虚拟仪器接收的数据以确定将由所述至少一个虚拟仪器中的至少一个执行的动作;以及 将所述动作传送给所述至少一个虚拟仪器中的所述至少一个。
31.如权利要求30所述的方法,其中,所述数据是从在所述多个半导体装置的开发周期中的测试阶段的不同插入点处执行半导体测试的多个虚拟仪器接收的。
32.如权利要求30所述的方法,其中,所述数据是从在位于不同测试台上的半导体测试系统上执行半导体测试的多个虚拟仪器接收的。
33.如权利要求30所述的方法,其中: 所述数据是从多个虚拟仪器接收的;并且 评估从所述多个虚拟仪器接收的数据以确定将要执行的动作包括:通过评估从第二虚拟仪器接收的数据来确定将由第一虚拟仪器执行的动作。
34.如权利要求33所述的方法,其中,将要执行的动作是对至少一个半导体管芯的表征。
35.如权利要求33所述的方法,其中,将要执行的动作是对所述第一虚拟仪器的测试程序的执行参数的调整。
36.一种方法,包括: 在计算机系统处通过计算机网络接收来自多个虚拟仪器的数据,该数据对应于对多个半导体装置执行半导体测试,所述半导体测试是由至少部分地受所述虚拟仪器中的相应虚拟仪器控制的多个半导体 测试系统执行的;以及 使用所述计算机系统, 评估从所述多个虚拟仪器接收的数据;以及 从所评估的数据来确定对至少所述多个半导体装置的子集的开发周期的调整。
37.如权利要求36所述的方法,其中,所述数据是从在所述多个半导体装置的开发周期中的测试阶段的不同插入点处执行半导体测试的多个虚拟仪器接收的。
38.如权利要求36所述的方法,其中,所述数据是从在位于不同测试台上的半导体测试系统上执行半导体测试的多个虚拟仪器接收的。
39.如权利要求36所述的方法,其中,评估从所述多个虚拟仪器接收的数据包括:确定由不同虚拟仪器测试的半导体装置的成品率损失上的差异。
40.如权利要求36所述的方法,其中,评估从所述多个虚拟仪器接收的数据包括对该数据进行相关。
41.如权利要求36所述的方法,其中,确定对至少所述多个半导体装置的子集的开发周期的调整包括: 确定对所述多个半导体装置的设计的调整。
42.如权利要求36所述的方法,其中,确定对至少所述多个半导体装置的子集的开发周期的调整包括: 确定对影响至少所述多个半导体装置的子集的半导体制造步骤的调整。
43.如权利要求36所述的方法,其中,确定对至少所述多个半导体装置的子集的开发周期的调整包括: 确定对由所述虚拟仪器中的至少一个执行的测试程序的调整。
44.如权利要求36所述的方法,其中,确定对至少所述多个半导体装置的第一子集的开发周期的调整包括: 确定对由所述虚拟仪器 中的相应至少一个控制的至少一个半导体测试系统的调整。
全文摘要
在一个实施例中,一种半导体测试控制系统包括具有多个硬件资源的计算机系统;安装在计算机系统上的监管器;以及安装在计算机系统上的测试台控制器。监管器对硬件资源进行虚拟化并且向至少一个虚拟仪器中的每一个提供对硬件资源的相应虚拟集合的访问。硬件资源的每个虚拟集合使其相应虚拟仪器控制与半导体测试系统的至少第一方面的通信,从而使得相应虚拟仪器能够测试相应类型的半导体装置。测试台控制器控制与i)半导体测试系统的至少第二方面和ii)至少一个虚拟仪器中的每一个的通信。
文档编号G06F11/00GK103109275SQ201080069000
公开日2013年5月15日 申请日期2010年9月7日 优先权日2010年9月7日
发明者克劳斯-迪特尔·稀里格斯, 林甲威, 杜恩坎·果尔蕾, 晓闵·吉米·金, 埃里克·H·沃克里克 申请人:爱德万测试(新加坡)私人有限公司