在中止事件后完成测试记录的产生的系统、方法和装置的制作方法

文档序号:6571027阅读:246来源:国知局
专利名称:在中止事件后完成测试记录的产生的系统、方法和装置的制作方法
技术领域
本发明涉及用于在中止事件后完成测试记录的产生的系统、方法和装置。
背景技术
在测试电路时,测试结果可能以“原始”(raw)格式被登记(log)。通常,这种原始格式1)不被用来对测试结果进行分析的应用程序所接受,并且2)对于测试工程师和其他人员来说难以理解。
由于原始数据格式存在的上述困难,通常例如通过对原始数据进行重布置、分类、分组和/或执行其他操作来将该数据转换成一种或多种其他格式。
在产生或存储原始数据时遇到错误的情况下,“进行中”的数据格式化操作通常被突然终止,从而可能有用的测试记录常常被破坏或者丢失。这些记录的破坏或丢失可能导致测试极大延迟和/或不必要的重复工作,尤其是在数据格式化操作已“进行”了多个小时,并且由此产生的部分记录可能已包含了足够的信息使用户能够避免必须重复产生这些记录的情形中。

发明内容
在一个实施例中,一种用于格式化测试数据的系统包括至少一个数据格式化器,用于i)在接收到测试事件的通知后,从数据数据存储设备取回测试数据,并且ii)基于测试数据产生多条测试记录。该系统还包括中止处理器,用于响应于中止事件使数据格式化器中的至少一个数据格式化器基于数据存储设备中当前可用的测试数据完成其多条测试记录的产生。
在另一个实施例中,一种用于格式化测试数据的方法包括以下步骤1)在接收到测试事件的通知后,从数据数据存储设备取回测试数据并且基于测试数据产生多条测试记录;以及2)响应于中止事件,基于数据存储设备中当前可用的测试数据完成多条测试记录的产生。
在又一个实施例中,公开了一种包括机器可读介质的系统,所述机器可读介质具有存储在其中的指令序列,所述指令序列在由机器执行时使机器执行以下动作1)使至少一个数据格式化器i)在接收到测试事件的通知后,从数据数据存储设备取回测试数据,并且ii)基于测试数据产生多条测试记录;以及2)使中止处理器响应于接收到中止事件使数据格式化器中的至少一个数据格式化器基于数据存储设备中当前可用的测试数据完成其多条测试记录的产生。
还公开了其他实施例。


在附图中示出了本发明的说明性实施例,其中图1示出了用于格式化测试数据的示例性方法;图2示出了用于格式化测试数据的示例性系统;以及图3示出了可由图1和图2所示的方法和系统处理的测试事件的示例性顺序和关系。
具体实施例方式
如背景技术中所述,原始测试数据通常需要通过对该数据进行重布置、分类、分组、提取(distill)和/或执行其他操作来转换成一种或多种其他格式。
过去,已发现导致数据格式化操作中止的事件,包括例如测试数据源(例如,测试仪)的故障和重启;测试程序的故障;测试数据源产生的测试数据被破坏(包括丢失测试数据和/或不完整的测试数据);测试数据被存储在其中的数据存储设备故障(包括被破坏);以及获取和传递(或存储)测试数据的一个或多个进程故障。在这些中止事件之一发生后,作为数据格式化操作的结果产生的记录一般已被破坏或者丢失。这是不幸的,因为在中止事件之前产生的“部分记录”有时可能包含了足够的信息,使用户能够避免必须重新产生这些信息。在认识到该事实的情况下,图1示出了用于格式化数据的新方法100。
方法100包括1)在接收到测试事件的通知后,在102从数据存储设备取回测试数据并且基于该测试数据产生多条测试记录;以及2)响应于中止事件,在104基于数据存储设备中当前可用的测试数据完成所述多条测试记录的产生。在图2所示的用于实现方法200的示例性系统222的上下文中可以更好地理解方法100的操作。
系统222包括多个数据格式化器214、216、218和220,用于1)在接收到测试事件的通知后,从数据存储设备210取回测试数据,以及2)基于该测试数据产生多条测试记录。系统222还包括中止处理器224,用于响应于中止事件226使数据格式化器214、216、218和220中的至少一个数据格式化器基于数据存储设备210中当前可用的测试数据完成其多条测试记录的产生。
在一个实施例中,系统222被用来格式化由Agilent Technologies,Inc提供的93000 SOC系列测试仪产生的数据。93000 SOC系列测试仪(下文称作“93000测试仪”)是一种SOC(片上系统)测试仪,这种测试仪产生顺序测试数据的流,并且将包括测试事件在内的测试数据登记到称作EDL(事件数据登记)文件200的二进制数据文件中。参见图2。该EDL文件200中的事件对应于对至少一个被测器件(DUT)执行的多个测试,并且按照有序序列被存储。然而,在EDL文件200中存储的事件不是被“扔”到任何其他进程,而是仅被登记到EDL文件200。在这种应用中,1)与多个事件相对应的文件(例如,EDL文件200)可以被解析来取回多个事件,然后2)从数据文件中取回的事件可以被传递给创建了多个数据对象并且将数据存储到数据存储设备210(例如,存储器)中的进程(数据填充器208)。
在一个实施例中,响应于事件管理器204作出的方法调用而解析EDL文件200。如图2所示,事件管理器204可以对共享库202进行方法调用(例如,获得事件;获得事件属性),随后共享库202可以从EDL文件200取回事件并且将它们“扔”到事件管理器204。事件管理器204随后将事件206传递给数据填充器208。
共享库202可以采用在被事件管理器204调用时执行一种或多种方法的已编译代码的形式,例如数据检索库(DRL)的形式。
数据填充器208可以将数据对象存储到存储器210中,然后以多种方式将这些数据对象彼此相关。然而,在一个实施例中,它们以层状树结构被彼此相关。作为其他数据对象的孩子的数据对象可以维护指向它们的父数据对象的指针,而父对象无需维护指向它们的所有孩子的指针的列表。在本说明书的后面将解释,从子到父的这些指针可以帮助实现删除不再需要的数据对象的处理。
测试数据可以以多种方式被与数据对象相关,包括通过1)直接将测试数据存储在数据对象内,或者2)将测试数据存储在与数据对象相关的数据存储设备中(例如,通过指针或其他方式相关)。
在EDL文件200中,数据被作为事件的属性存储。因此,如果数据填充器208接收到从EDL文件200取出的事件206,则数据填充器208可以通过从事件的属性抽取测试数据来抽取与事件相对应的测试数据。在电路测试情形中,所抽取的数据可以包括测试结果。
有多种数据格式化器214、216、218和220可以访问由数据填充器208创建的数据对象和测试数据的方式。在一个实施例中,数据格式化器214、216、218和220可以仅监视数据对象。然而,这可能要求大量的存储器宽度,并且通常是效率低下的。在优选实施例中,数据填充器208创建对其创建的测试数据进行索引的令牌,然后将令牌传递给通知管理器212。通知管理器212随后将这些令牌中的多个令牌分发给数据格式化器214、216、218和220中的多个数据格式化器。
注意,通知管理器212仅需针对每个数据对象接收一个令牌。通知管理器212随后可以复制该令牌,或者将该令牌广播给数据格式化器214、216、218和220中的每一个。或者,通知管理器212可以不为数据格式化器214、216、218和220中的每一个复制该令牌或向其中的每一个广播该令牌,而是可以仅为数据格式化器214、216、218和220中已订购了由该数据对象代表的一类数据项的某些格式化器复制该令牌或向其广播该令牌。
一般而言,数据填充器208的操作将被给予比数据格式化器214、216、218和220高的优先级。为了进一步控制对其中存储有数据对象和数据的存储器210的访问,数据填充器208可以配备有对数据对象和测试数据的直接访问。然而,多个数据格式化器214、216、218和220可以经由对数据格式化器对数据对象和数据的访问进行协调/仲裁的结构化接口实现对多个数据对象的访问。
图2所示数据格式化器可以采用多种形式,包括例如ASCII(美国标准信息交换码)格式化器214、XML(可扩展标记语言)格式化器216、EDL格式化器218和/或STDF(标准测试定义格式)格式化器220。
应当理解,各种编程语言、范式和硬件平台都可以用来实现这里的教导。在一个实施例中,面向对象的编程技术被用来开发存储器210(图2)中存储的数据对象。在另一个实施例中,过程语言被用来开发数据元素和处理逻辑。
现在返回对中止事件的处理,注意系统222配备有中止处理器224。如图2所示,中止处理器224可以例示为与数据格式化器214、216、218和220相分离。或者,中止处理器224的功能可以与数据格式化器214、216、218和220中的一个或多个相集成。
中止处理器224可以使数据格式化器214、216、218和220中的多个数据格式化器以多种方式完成它们的测试记录的产生。在一个实施例中,中止处理器224通过维护与已由数据填充器208或通知管理器212接收到的测试事件相关的当前状态信息来作到这一点。然后,在接收到中止事件226后,中止处理器224将其当前状态信息提供给数据格式化器214、216、218和220中需要完成它们的测试记录的产生的任何数据格式化器。
尽管先前已指出测试事件206(图2)是从包含测试事件的有序序列的EDL文件200导出的,但是系统222也可以被用来对从其他源导出的测试事件进行处理。然而,假设系统222被用来处理EDL型事件或者其他顺序测试事件,图3示出了这些事件300的示例性顺序和关系。注意,每个“开始事件(start event)”后跟随有对应的“结束事件(end event)”,并且某些测试结果落在它们之间(可能在嵌套的测试事件对中,如图所示)。在测试事件被以此方式配对时(无论在EDL文件中还是在其他测试事件源中),中止处理器224可以维护与尚未与“结束事件”配对的“开始事件”(即,尚未封闭的事件对)有关的当前状态信息。这种与尚未封闭的事件对有关的信息随后可以被用来使数据格式化器214、216、218和220中的多个数据格式化器在缺少一个或多个“结束事件”的情况下完成它们的测试记录的产生。例如,中止处理器在某些情形中可以仅“扔出”尚未被接收到的“结束事件”。
如图2所示,通知管理器212可以将测试事件的通知转发给数据格式化器214、216、218和220。通知管理器212也可以在存在中止事件226时将其转发给中止处理器224。在一个实施例中,通知管理器212最初接收来自数据填充器208的中止事件。作为示例,数据填充器208可以在确定出包括测试事件在内的顺序测试数据的流不完整时将中止事件传递给通知管理器212。数据填充器208也可以在确定出顺序测试数据的流中的测试事件是乱序接收的时将中止事件传递给通知管理器212(例如,因为未接收到中间一对测试事件,例如图3所示事件“TestEventAppModelLevelStartEvent//e.g.,lot number#10000012”和“TestEventAppModelLevelEndEvent”)。
在一个实施例中,系统222可以包括进程监视器228。进程监视器228可以对运行数据填充器208、通知管理器212的进程(包括线程)和/或其他进程(或线程)进行监视。进程监视器228也可以监视例如数据存储设备210之类的结构。在其监视的进程或结构中的一个发生故障后,进程监视器228可以将中止事件传递给中止处理器224。
除了由中止处理器224帮助数据格式化器214、216、218和220完成它们的测试记录的产生之外,在数据填充器208仍旧工作的情形中,其也可以帮助数据格式化器214、216、218和220完成测试记录的产生。例如,在出现中止事件后,数据填充器208可以完成存储在数据存储设备210中的任何测试数据概括信息。尽管概括信息可能基于的所有测试数据可能是不可用的,但是数据填充器208可以基于数据存储设备210中当前可用的测试数据完成概括信息。完成该概括信息对于格式化器(例如STDF格式化器220)完成有意义的测试记录的产生可能尤其有用。
这里所述的系统200和方法100实质上可利用机器可读介质中存储的指令序列实现,该指令序列在被机器执行时使该机器执行方法100的动作。机器可读介质可以包括例如任何数量的固定介质或可移动介质或者固定介质和可移动介质的混合(例如,一个或多个固定盘、随机存取存储器(RAM)、只读存储器(ROM)或者致密盘),这些介质可以位于单个位置或者分布在整个网络上。指令序列一般包括软件,但是也可以包括固件。
权利要求
1.一种用于格式化测试数据的系统,包括至少一个数据格式化器,用于i)在接收到测试事件的通知后,从数据数据存储设备取回测试数据,并且ii)基于所述测试数据产生多条测试记录;以及中止处理器,用于响应于中止事件使所述数据格式化器中的至少一个数据格式化器基于所述数据存储设备中当前可用的测试数据完成其多条测试记录的产生。
2.如权利要求1所述的系统,其中,所述中止处理器i)维护与所述测试事件相关的当前状态信息,并且ii)在接收到所述中止事件后,将所述当前状态信息提供给所述数据格式化器中需要完成其多条测试记录的产生的任意数据格式化器。
3.如权利要求1所述的系统,其中所述测试事件形成测试事件对,其中每个测试事件对包括约束一组测试结果的开始事件和结束事件;并且所述数据格式化器中的至少一个数据格式化器被使得在缺少所述结束事件中的至少一个的情形中完成其多条测试记录的产生。
4.如权利要求3所述的系统,其中,所述中止处理器i)维护与尚未被与结束事件配对的开始事件相关的当前状态信息,并且ii)在接收到所述中止事件后,将所述当前状态信息提供给所述数据格式化器中需要完成其多条测试记录的产生的任意数据格式化器。
5.如权利要求1所述的系统,还包括通知管理器,用于i)将所述测试数据的通知转发给至少一个数据格式化器,并且ii)将所述中止事件转发给所述中止处理器。
6.如权利要求5所述的系统,其中,所述通知管理器通过将令牌传递给一个或多个所述数据格式化器来将所述测试事件的通知转发给所述一个或多个数据格式化器,其中所述令牌引用所述数据存储设备中的所述测试事件。
7.如权利要求5所述的系统,还包括数据填充器,用于i)接收顺序测试数据的流,所述流包括所述测试数据和所述测试事件,ii)将所述测试数据写到所述数据存储设备,并且iii)将所述测试事件的通知传递给所述通知管理器。
8.如权利要求7所述的系统,其中,所述数据填充器还将所述中止事件传递给所述通知管理器。
9.如权利要求8所述的系统,其中,所述数据填充器在确定出所述顺序测试数据的流不完整时将所述中止事件传递给所述通知管理器。
10.如权利要求8所述的系统,其中,所述数据填充器在确定出所述顺序测试数据的流中的测试事件是乱序接收的时将所述中止事件传递给所述通知管理器。
11.如权利要求7所述的系统,还包括进程监视器,用于在所述数据填充器发生故障时将所述中止事件传递给所述中止处理器。
12.如权利要求7所述的系统,其中,在发生所述中止事件后,所述数据填充器完成所述数据存储设备中存储的概括信息,其中所述概括信息是基于所述数据存储设备中的当前可用测试数据完成的。
13.如权利要求1所述的系统,还包括进程监视器,用于在所述数据存储设备发生故障时将所述中止事件传递给所述中止处理器。
14.如权利要求1所述的系统,其中,所述中止处理器与所述数据格式化器中的一个相集成。
15.一种用于格式化测试数据的方法,包括以下步骤在接收到测试事件的通知后,从数据数据存储设备取回测试数据并且基于所述测试数据产生多条测试记录;以及响应于中止事件,基于所述数据存储设备中当前可用的测试数据完成多条测试记录的产生。
16.如权利要求15所述的方法,还包括维护与所述测试事件相关的当前状态信息;以及在接收到所述中止事件后,利用所述当前状态信息完成所述多条测试记录的产生。
17.如权利要求15所述的方法,其中所述测试事件形成测试事件对,其中每个测试事件对包括约束一组测试结果的开始事件和结束事件;并且在缺少所述结束事件中的至少一个的情形中完成所述多条测试记录的产生。
18.如权利要求17所述的方法,还包括维护与尚未被与结束事件配对的开始事件相关的当前状态信息;以及在接收到所述中止事件后,利用所述当前状态信息完成所述多条测试记录的产生。
19.如权利要求15所述的方法,还包括接收顺序测试数据的流,所述流包括所述测试数据和所述测试事件;将所述测试数据写到所述数据存储设备;以及在确定出所述顺序测试数据的流不完整时产生所述中止事件。
20.如权利要求15所述的方法,还包括接收顺序测试数据的流,所述流包括所述测试数据和所述测试事件;将所述测试数据写到所述数据存储设备;以及在确定出所述顺序测试数据的流中的测试事件是乱序接收的时产生所述中止事件。
21.如权利要求15所述的方法,还包括,在发生所述中止事件后完成所述数据存储设备中存储的概括信息,其中所述概括信息是基于所述数据存储设备中的当前可用测试数据完成的。
22.一种包括机器可读介质的系统,所述机器可读介质具有存储在其中的指令序列,所述指令序列在由机器执行时使所述机器执行以下动作使至少一个数据格式化器i)在接收到测试事件的通知后,从数据数据存储设备取回测试数据,并且ii)基于所述测试数据产生多条测试记录;以及使中止处理器响应于接收到中止事件使所述数据格式化器中的至少一个数据格式化器基于所述数据存储设备中当前可用的测试数据完成其多条测试记录的产生。
23.如权利要求22所述的系统,其中,所述指令序列在由所述机器执行时还使所述机器执行以下动作在发生所述中止事件后,完成所述数据存储设备中存储的概括信息,其中所述概括信息是基于所述数据存储设备中的当前可用测试数据完成的。
24.如权利要求22所述的系统,其中,所述指令序列在由所述机器执行时还使进程监视器在所述数据存储设备发生故障后将所述中止事件传递给所述中止处理器。
全文摘要
本发明公开了在中止事件后完成测试记录的产生的系统、方法和装置。在一个实施例中,一种用于格式化测试数据的系统配备有至少一个数据格式化器,用于i)在接收到测试事件的通知后,从数据存储设备取回测试数据,并且ii)基于测试数据产生多条测试记录。该系统还配备有中止处理器,用于响应于中止事件使数据格式化器中的至少一个数据格式化器基于数据存储设备中当前可用的测试数据完成其多条测试记录的产生。还公开了其他实施例。
文档编号G06F11/22GK101034401SQ200710002750
公开日2007年9月12日 申请日期2007年1月30日 优先权日2006年1月31日
发明者瑞德·哈郝, 卡利·康纳利 申请人:韦瑞吉(新加坡)私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1