首页> 中国专利> 在半导体测试环境中使用虚拟仪器的系统、方法和设备

在半导体测试环境中使用虚拟仪器的系统、方法和设备

摘要

在一个实施例中,一种半导体测试控制系统包括:具有多个硬件资源的计算机系统;安装在计算机系统上的监管器;以及安装在计算机系统上的测试台控制器。监管器对硬件资源进行虚拟化并且向至少一个虚拟仪器中的每一个提供对硬件资源的相应虚拟集合的访问。硬件资源的每个虚拟集合使其相应虚拟仪器控制与半导体测试系统的至少第一方面的通信,从而使得相应虚拟仪器能够测试相应类型的半导体装置。测试台控制器控制与i)半导体测试系统的至少第二方面和ii)至少一个虚拟仪器中的每一个的通信。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-03

    授权

    授权

  • 2015-06-03

    专利申请权的转移 IPC(主分类):G06F11/00 变更前: 变更后: 登记生效日:20150513 申请日:20100907

    专利申请权、专利权的转移

  • 2013-10-02

    实质审查的生效 IPC(主分类):G06F11/00 申请日:20100907

    实质审查的生效

  • 2013-05-15

    公开

    公开

说明书

背景技术

半导体装置的开发周期一般包括设计阶段、制造阶段、组装阶段和测 试阶段。在设计阶段期间,规定装置的功能,并且布置和优化用于实现该 功能的电路(即,对装置设计进行开发)。通常,通过计算机来仿真电路 的操作,或者构建物理原型,然后测试所仿真的或者物理电路以确定它是 否按照预期来运行。如果不按照预期来运行,则可以进一步优化或者重新 设计电路。

在制造阶段期间,使用装置设计来构建物理半导体装置。通常,这涉 及在生产环境中对装置的构建。然而,在工程背景下对装置原型的构建有 时也是制造阶段的考虑部分。

在组装阶段期间,以各种方式来封装半导体装置。装置还可以被堆叠 或者以其他方式耦合以形成三维半导体装置。

在测试阶段期间,使用一个或多个测试程序来测试半导体装置,以确 保这些装置按照设计来运行。在一些情况下,测试可以包括“通过/不通 过”测试,其中装置被评估为“良好”或者“不好”。在其他情况下,例 如,可以利用测试将装置分成不同性能等级或者识别出可修复的不合格装 置。

虽然半导体装置的开发周期通常以设计阶段开始并且以测试阶段结 束,但是各种阶段可以并行地或者以各种顺序来执行。例如,测试阶段可 以在设计阶段之后立即(或者与设计阶段并行地)开始;并且可以在设计 阶段、制造阶段和组装阶段中的任一者或全部期间测试所仿真的装置、原 型装置或者产品装置。此外,例如,可以在设计、制造或组装阶段中的任 一者或全部中使用在测试阶段期间获得的数据(例如,功能测试数据、结 构测试数据或者成品率数据)来精炼或者改善装置设计或者确定出制造或 组装阶段中将会改善成品率的调整。在测试阶段期间获得的数据还可以用 来改善或者调整测试程序本身(例如,改写或者调整对测试程序的限 制)。

在一些情况下,半导体装置的整个开发周期是由集成装置制造商 (IDM)提供和管理的。然而,在过去的几十年里,半导体装置的开发周 期的各个阶段分布在各方之间变得越来越普遍。例如,装置设计及其测试 程序可以由诸如无厂半导体公司之类的半导体设计公司来开发。无厂半导 体公司然后可以将装置设计和测试程序提供给晶片铸造厂或者外包的半导 体组装和测试(OSAT)机构,以根据设计来制造、组装和测试半导体装 置。

分布式开发周期可以提供各种优点,例如专门化、成本的降低和风险 的分担。然而,分布式开发周期也可能引入一些复杂性。例如,半导体设 计公司可能更喜欢使用特定的硬件或软件平台来设计装置并开发其测试程 序,而铸造厂或OSAT机构可能更喜欢使用不同的硬件或软件平台来执行 测试程序。这常常需要设计公司和铸造厂/OSAT机构中的一者或二者迁就 另一方。在设计公司一侧,这可能需要改变它使用的硬件或软件来开发测 试程序,有时甚至需要改变它使用的硬件或软件来设计装置。在铸造厂或 者OSAT机构一侧,它和设计公司所使用的平台上的差异可能要求铸造厂 或者OSAT机构安装或者配置新的硬件或软件平台来执行设计公司的测试 程序。

存在其他随着分布式开发周期而出现的复杂性。例如,单个半导体设 计公司可能发现难以与不同的铸造厂和OSAT机构订立契约,因为不同的 制造、组装和测试厂商可能使用不同的硬件或软件平台,并且与这些各异 的厂商合作可能需要设计公司花费大量时间来针对不同的硬件或软件平台 来重写它的测试程序。通常,这恰恰是不可行的。类似地,制造、组装和 测试厂商可能发现与一些半导体设计公司合作是困难的,因为设计公司提 供针对不同的硬件或软件平台而设计的测试程序,并且铸造厂或者OSAT 机构为了与不同的硬件或软件平台合作而需要作出的迁就太昂贵以至于难 以承受(并且传递给客户是不可行的)。

分布式开发周期所造成的其他复杂性涉及数据在开发周期的参与者之 间的流动。例如,向OSAT机构提供关于其装置设计的电子信息(包括装 置测试程序)的设计公司将不希望与其竞争者共享该信息,这些竞争者可 能也在使用该OSAT机构的服务。设计公司也不希望与其竞争者共享其装 置测试的结果、装置成品率数据或者其他私有数据。在一些情况下,设计 公司甚至可能希望向OSAT机构本身隐瞒该信息。类似地,OSAT机构可 能希望向其客户隐瞒关于其测试台的某些信息。

在一些情况下,上面提到的复杂性使得分布式开发周期中的参与者对 它们订立契约的各方进行选择。在其他情况下,契约的一方或者两方将同 意迁就另一方的平台要求。然而,这样的迁就在金钱上和在时间延迟的形 式上可能都是代价高的。该代价的一个原因在于半导体测试软件通常使用 复杂的堆栈,该堆栈从嵌入式软件到达低级驱动、高级图形用户界面 (GUI)和测试系统控制器操作系统(OS)。不同的测试程序(例如,来 自不同的设计公司的测试程序或者用于不同装置的测试程序)可能需要或 者期望不同的软件、不同的操作系统(例如,RedHat的或者 Microsoft的)以及它们的不同版本。不同的测试程序还可能需 要或者期望对计算机系统(例如,不同的工作站)的具体类型、模型或者 配置的部署。不同的测试程序还可能需要或者期望不同的环境设置、代码 库和产品集成工具。结果,愿意作出迁就的制造、组装或测试厂商可能需 要安装和配置新的软件,并且在一些情况下甚至可能需要安装和配置新的 计算机系统或者操作系统。这对于半导体设计公司及其制造、组装和测试 厂商二者而言可能引起很大的开销费用、停工时间和延迟。

运行由不同产品线共享的测试台的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的(一个或 多个)方面可以变化。例如,监管器110可以允许虚拟仪器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可被 安装为主宿型监管器,在此情况下,监管器110可以作为在计算机系统 106的本地操作系统之上运行的软件应用而被安装。或者,监管器110可 被安装为本地监管器,在此情况下,监管器110可被安装为(或者可以提 供)计算机系统106的本地操作系统。在任一种情况下,虚拟仪器112、 114、116可被安装为在监管器层之上运行的软件应用。

测试台控制器118可被安装为在监管器110之上运行的软件应用,在 此情况下,监管器110还可以向测试台控制器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还可以包括规定将在测试程序的执行期间使用的定 制工具组件的步骤。所规定的定制工具组件然后可被编译到虚拟仪器中。 例如,定制工具组件可以包括1)由特定半导体设计公司或者测试开发者 开发(或者使用)的软件工具,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)来1)评估从多个虚拟仪器接收的数据(在框1206)并且2)从 所评估的数据中确定对多个半导体装置的至少第一子集的开发周期的调整 (在框1208)。

在方法1200的一些实现方式中,在计算机系统处接收的数据可以对 应于由位于不同测试台上的多个半导体测试系统执行的半导体测试,如图 7所示。该数据然后可被计算机系统评估,以确定从两个或更多个测试台 接收的数据之间的差异。在方法1200的其他实现方式中,在计算机系统 处接收的数据可以对应于由测试阶段的不同插入点处的多个半导体测试系 统执行的半导体测试,如图8所示。该数据然后可被计算机系统评估,以 确定从两个或更多个插入点接收的数据之间的差异。在任意情况下,从不 同虚拟仪器接收的数据的差异例如可以是类似的半导体测试的结果的差 异,或者在不同虚拟仪器处测试的半导体装置的成品率损失上的差异。在 一些情况下,对从不同虚拟仪器接收的数据进行评估可以包括对数据进行 相关。

方法1200所确定的开发周期调整可以采用各种形式,甚至可以采用 多种形式。在一些情况下,该调整例如可以包括对所测试的半导体装置的 设计的调整。在其他情况下,该调整可以包括半导体制造步骤的调整或者 半导体组装步骤的调整。半导体制造或者组装步骤可以是在“全局”的基 础上影响装置的制造或者组装的步骤(即,在所有多个类似地安置的制造 或组装位置处影响装置的制造或者组装的步骤)。或者,半导体制造或者 组装步骤可以是在“局部”的基础上影响装置的制造或者组装的步骤 (即,仅在类似地安置的制造或组装位置中的一个或者子集处影响装置的 制造或者组装的步骤)。可以进行后一情况中的调整以例如克服单个测试 系统的错误校准(或者克服将一个测试系统的结果与另一测试系统的结果 进行相关的需要)。

在其他情况下,方法1200所确定的调整可以是对由至少一个虚拟仪 器执行的测试程序的调整。例如,可以调整对在特定插入点处执行的测试 的限制。或者,例如,可以向在特定插入点处执行的测试程序添加测试 (或者从其删除测试)。

在其他情况下,方法1200所确定的调整可以是对受虚拟仪器控制的 半导体测试系统中的一个或多个的调整。例如,可以对成品率损失高于预 期的特定半导体测试系统进行调整。

图13示出用于实现本公开中公开的一些或所有原理的另一示例性方 法1300。方法1300包括通过计算机网络接收来自至少一个虚拟仪器的数 据(在框1302)。该数据是在计算机系统处接收的,并且对应于对多个半 导体装置执行半导体测试,其中,这些半导体测试是由至少部分地受至少 一个虚拟仪器控制的多个半导体测试系统来执行的。方法1300继续,使 用计算机系统(在框1304)来1)评估从至少一个虚拟仪器接收的数据以 确定将由至少一个虚拟仪器执行的动作(在框1306),并且2)把将要执 行的动作传达给至少一个虚拟仪器(在框1308)。

与方法1200类似,根据方法1300接收的数据在一些情况下可以对应 于由位于不同测试台上的多个半导体测试系统执行的半导体测试,如图7 所示。该数据然后可被计算机系统评估,以确定从两个或更多个测试台接 收的数据之间的差异。在方法1300的其他实现方式中,在计算机系统处 接收的数据可以对应于由测试阶段的不同插入点处的多个半导体测试系统 执行的半导体测试,如图8所示。该数据然后可被计算机系统评估,以确 定从两个更多个插入点接收的数据之间的差异。在任意情况下,从不同虚 拟仪器接收的数据的差异例如可以是类似的半导体测试的结果的差异,或 者在不同虚拟仪器处测试的半导体装置的成品率损失上的差异。在一些情 况下,对从不同虚拟仪器接收的数据进行评估可以包括对数据进行相关。

在方法1200或1300的任一者中,将由第一虚拟仪器执行的动作可以 通过评估从第二虚拟仪器接收的数据来确定。例如,将由第一虚拟仪器执 行的动作可以是对一个或多个半导体管芯的表征或者对第一虚拟仪器的测 试程序的执行参数的调整。例如,基于在测试阶段中的另一插入点处测试 了该管芯的上游虚拟仪器所提供的数据,在特定虚拟仪器的控制下测试的 管芯可被表征为良好或者不良,或者以其他方式来表征。或者,例如,基 于测试另一测试台上的类似管芯的虚拟仪器所提供的数据,在特定虚拟仪 器的控制下测试的管芯可被表征为良好或者不良,或者以其他方式来表 征。如果测试系统的错误校准(或者测试结果的错误相关)被预期到或者 是可能的,则可能是这样的情况。

在其他情况下,基于由公共测试台控制器操作的虚拟仪器所提供的数 据,在特定虚拟仪器的控制下测试的管芯可被表征为良好或者不良,或者 以其他方式来表征。例如,考虑承载不同类型的半导体装置的晶片或者负 载板,这些半导体装置被在工程或者小批量生产运转中测试。即使可以使 用不同的虚拟仪器来测试不同的装置类型,有时希望在以下各项的背景中 表征装置或者装置测量结果:i)从晶片或者负载板上的不同物理位置获取 的测量结果,或者ii)从测试器的不同测试管脚获取的测量结果。

已经公开了图1所示的计算机系统102向铸造厂或者OSAT机构提供 的优点中的一些。这些优点包括分配或者调度对其设备的使用以获得对其 设备的最优利用的能力。最优设备利用不仅包括计算资源的利用(例如, 用于控制和监视一个或者一组测试系统的控制器或者单个计算机系统的共 享),而且还包括测试系统的利用(例如,使用ATE系统来或多或少地同 时地测试不同类型的装置)。例如,使用相对容易地加载的虚拟设备使得 铸造厂或者OSAT机构能够对高优先级测试(或者大批量制造(HVM)生 产测试)和低优先级测试(例如,工程测试)进行优先级设定并且更容易 地在它们之间进行切换。

使用虚拟仪器的另一优点在于它提高了铸造厂或者OSAT机构的服务 更多客户以及满足更多不同的测试请求的能力,这是因为铸造厂或者 OSAT机构可以在不同的虚拟仪器内执行更多不同类型的测试程序,而不 担心操作上的低效或者与其他装置测试程序的冲突。铸造厂或者OSAT机 构还可以在虚拟仪器内执行传统软件。而且,对于需要放缓的传统软件或 测试程序,可以(例如通过虚拟仪器或其提供者)指示主机系统以更慢的 执行速度来执行传统软件、测试程序或者它们的部分。

在一些情况下,高度可变的并且取决于装置的控制功能向虚拟仪器中 的迁移可以使得铸造厂或者OSAT机构能够在更稳定的环境中提供其他 (例如通常的)功能性。另一方面,使用虚拟仪器还可以促使铸造厂和 OSAT机构升级到测试系统及其控制器的最新版本,这是因为这样做使得 它们能够1)争取使用最当前的测试开发平台的前沿客户,而同时2)通 过在虚拟仪器内执行它们的软件来维持传统客户。然而,不管设备升级如 何,测试台控制器可以保持稳定,使得它能够支持在测试台上部署的任何 虚拟仪器。此外,可以跨越测试台的所有计算机系统和控制器来部署相同 类型/版本的测试台控制器。这不仅为所有虚拟仪器提供了稳定一致的执行 环境,而且测试台控制器的公共性趋于降低软件维护成本。

资源的虚拟化还可以提供冗余,使得如果一个资源失效(不管其是计 算资源还是测试资源),则可以换成新的资源来取代失效的资源。虚拟化 还提供了对置于池中每个资源上的负载的更佳管理。

图14提供了可以用于容宿这里描述的监管器、虚拟仪器和测试台控 制器的示例性计算机系统1400的框图。计算机系统1400一般表示能够执 行单线程或多线程应用的任何单处理器或多处理器计算装置。计算机系统 1400可以包括将计算机系统1400的主要子系统互连的通信基础设施 1402。通信基础设施1402一般表示能够辅助一个或多个电子组件之间的 通信的任何形式或结构;例如包括通信总线(例如,ISA、PCI、PCI-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.11x无线网 络、数字卫星数据连接或者任何其他合适连接的连接。

通信接口1410可以允许计算机系统1400从事分布式计算或者远程计 算。例如,通信接口1410可以接收来自远程计算机的指令,或者通信接 口1410可以向远程计算机或者测试系统发送指令以供执行。因此,通信 接口1410可以单独地或者与其他元件相结合来执行这里描述的监管器、 虚拟仪器或者测试台控制器的一个或多个动作或功能,并且/或者可以是用 于执行这些动作或功能的手段。通信接口1410还可以用于执行本公开中 给出的其他步骤和特征,并且/或者可以是用于执行这些其他步骤和特征的 手段。

存储器接口1412一般表示能够允许在计算机系统1400的存储装置与 其他组件之间传送软件和数据的任何类型或形式的装置。例如,存储器接 口1412可以包括卡盒接口、存储器插座或者盘驱动器。存储器接口1412 还可以是软盘驱动器、光盘驱动器、闪存接口或者任何其他类型的存储器 接口。在某些实施例中,存储器接口可以单独地或者与其他元件相结合来 执行这里描述的监管器、虚拟仪器或者测试台控制器所执行的一个或多个 动作或功能,并且/或者可以是用于执行这些动作或功能的手段。存储器接 口1412还可以用于执行这里描述和/或说明的其他步骤和特征,并且/或者 可以是用于执行这些其他步骤和特征的手段。

如图14所示,计算机系统1400还可以包括至少一个显示装置1414, 显示装置1414经由显示适配器1416耦合到通信基础设施1402。显示装置 1414一般表示能够以视觉方式显示由显示适配器1416转发的信息的任何 类型或形式的装置。类似地,显示适配器1416一般表示被配置为转发来 自通信基础设施1402(或者来自帧缓冲器,如本领域已知的)的图形、文 本和其他数据以供在显示装置1414上显示的任何类型或形式的装置。显 示装置1414的示例包括但不限于CRT监视器、LCD屏幕、等离子屏幕、 视频投影仪等等。

如图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上提供的操作系统可以是WINDOWS、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之类的可记 录介质、诸如数字和模拟通信链路之类的传输型媒介、以及电子存储媒 介、磁存储媒介、光存储媒介、传达编码了指令的信号的通信介质以及其 他分发系统。

另外,这里描述和/或说明的一个或多个实施例可以利用执行某些任务 的软件模块和脚本来实现。这里讨论的软件模块和脚本可以包括脚本、批 文件、或者其他可执行文件。另外,这些软件模块和脚本可被存储在诸如 磁盘驱动器之类的机器可读或者计算机可读存储介质上。在一些实施例 中,模块和脚本可被存储在计算机系统存储器内,以配置计算机系统来执 行模块的功能。这里讨论的一个或多个步骤可以通过计算机而自动化。在 一些实施例中,模块或应用所执行的所有步骤可被通过计算机而自动化。

除非另外表明,否则说明书和权利要求书中使用的术语“一”或“一 个”将被解释为表示“至少一个”。另外,为了易于使用,说明书和权利 要求书中使用的词“包括”和“具有”是可互换的并且与词“包含”具有 相同含义。此外,被“配置”为提供或者做某事的硬件或软件组件被配置 为采取特定状态以提供或者做某事。短语“配置为”之后的语言并不仅仅 是对所意图的使用的记载。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号