CN101093498B - 存储变量值以提供要格式化的测试结果的上下文的装置 - Google Patents

存储变量值以提供要格式化的测试结果的上下文的装置 Download PDF

Info

Publication number
CN101093498B
CN101093498B CN2007100031067A CN200710003106A CN101093498B CN 101093498 B CN101093498 B CN 101093498B CN 2007100031067 A CN2007100031067 A CN 2007100031067A CN 200710003106 A CN200710003106 A CN 200710003106A CN 101093498 B CN101093498 B CN 101093498B
Authority
CN
China
Prior art keywords
data
test result
formatter
data object
variable list
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.)
Expired - Fee Related
Application number
CN2007100031067A
Other languages
English (en)
Other versions
CN101093498A (zh
Inventor
卡利·康纳利
布莱恩·F·卡宾特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verigy Singapore Pte Ltd
Original Assignee
Verigy Singapore Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Verigy Singapore Pte Ltd filed Critical Verigy Singapore Pte Ltd
Publication of CN101093498A publication Critical patent/CN101093498A/zh
Application granted granted Critical
Publication of CN101093498B publication Critical patent/CN101093498B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

响应于与至少一个被测器件的多个测试的执行相对应的有序事件序列,一种方法:创建多个数据对象,所述数据对象中的至少一些与由某些事件暗示的测试结果的逻辑分组相对应;按分级树结构将某些数据对象与其他数据对象相关;将包括测试结果在内的与某些事件相对应的数据与分级树结构中的某些数据对象相关;将与某些数据对象相关的变量值存储在与某些数据对象相对应的多个变量列表中;以及将每个变量列表与相应数据对象相关联。该方法还包括向若干个数据格式化器提供对与树结构相关联的多个数据对象和数据的访问权限。还公开了其他实施例。

Description

存储变量值以提供要格式化的测试结果的上下文的装置
技术领域
本发明涉及用于存储变量值以提供要格式化的测试结果的上下文的装置。
背景技术
有时需要以不同方式格式化的电子数据集合。一种以不同方式格式化数据集合的方法是利用多个数据格式化器(data formatter),其中每个数据格式化器被配置为以一种不同的方式格式化数据集合,并且每个数据格式化器以串行方式访问数据集合(即,当数据格式化器之一完成数据格式化时,另一数据格式化器则访问数据)。或者,每个数据格式化器可以以并行方式访问数据集合。或者,数据集合可被复制,并且每个数据格式化器可以访问数据集合的不同复本。
当多个数据格式化器以串行方式访问数据集合时,与数据格式化器以并行方式访问数据集合的情况相比,要花费更长时间来格式化数据集合。但是,当数据格式化器以并行方式访问数据集合(或以并行方式访问数据集合的复本)时,存储器、存储设备和/或处理资源的使用效率通常很低,并且可能接近或达到存储器、存储设备和/或处理资源的极限。此外,还发生涉及多个数据格式化器访问相同数据的定时的问题。
发明内容
在一个实施例中公开了一种装置,其包括数据填充器,用于1)接收与至少一个被测器件(DUT)上的多个测试的执行相对应的有序事件序列,2)创建多个数据对象,所述数据对象中的至少一些与由某些所述事件暗示的测试结果的逻辑分组相对应,3)按分级树结构将某些所述数据对象与其他所述数据对象相关,4)将包括测试结果在内的与某些所述事件相对应的数据与所述分级树结构中的某些所述数据对象相关,5)将与某些所述数据对象相关的变量值存储在与所述某些所述数据对象相对应的多个变量列表中,以及6)将所述变量列表中的每个变量列表与所述数据对象中的相应一个数据对象相关联。该装置还包括若干个数据格式化器,用于检索与所述分级树结构相关联的测试结果并格式化所述测试结果,所述测试结果是响应于由所述数据格式化器接收到的通知检索出的。该装置还包括通知管理器,用于接收来自所述数据填充器的事件指示,并且将关于某些所述事件的通知提供给所述数据格式化器中的一个或多个数据格式化器。
在另一个实施例中公开了一种方法,其包括响应于与至少一个DUT上的多个测试的执行相对应的有序事件序列,1)创建多个数据对象,所述数据对象中的至少一些与由某些所述事件暗示的测试结果的逻辑分组相对应;2)按分级树结构将某些所述数据对象与其他所述数据对象相关;3)将包括测试结果在内的与某些所述事件相对应的数据与所述分级树结构中的某些所述数据对象相关;4)将与某些所述数据对象相关的变量值存储在与所述某些所述数据对象相对应的多个变量列表中;以及5)将所述变量列表中的每个变量列表与所述数据对象中的相应一个数据对象相关联。该方法还包括向若干个数据格式化器提供对与所述分级树结构相关联的所述多个数据对象和数据的访问权限。
还公开了其他实施例。
附图说明
在附图中示出了本发明的示例性实施例,其中:
图1示出了用于存储和格式化数据的示例性方法;
图2示出可能由于执行图1所示方法而实例化或运行的各种功能单元(或进程);
图3示出图2所示系统的变体,该系统尤其适用于测试环境;
图4示出图3所示系统使用的EDL文件的示例性内容;以及
图5-7示出用于存储图4所示EDL文件的内容的各种分级树结构。
具体实施方式
首先说明,要注意在以下描述中,出现在不同附图中的类似标号指示类似元素/特征。因此,通常,将不会结合每张附图详细描述出现在不同附图中的类似元素/特征。
为了改善多个数据格式化器格式化数据的方式,图1示出了用于存储将被多个数据格式化器访问的数据的示例性方法100。方法100按以下方式进行。响应于与至少一个被测器件(DUT)上的多个测试的执行相对应的有序事件序列,在步骤102,多个数据对象被创建。例如,在电路测试领域,事件可以包括发信号通知新晶片的加载或卸载的事件、发信号通知对晶片上特定器件的测试开始或结束的事件,以及发信号通知不同测试和子测试开始和结束的事件。
由方法100创建的数据对象中的至少一些对应于由某些事件暗示的测试结果的逻辑分组(例如,批次对象、晶片对象、DUT对象、以及测试和/或子测试对象,等等)。在本说明中使用的“暗示的”分组可以是具体提及的,也可以是仅仅推断出的。在任何情况下,优选地,逻辑分组对应于负责格式化数据(或负责创建用于格式化数据的数据格式化器)的工程师或用户可以理解的真实世界分组。
在创建了一个或多个数据对象之后,在步骤104,某些数据对象被以分级树结构与其他数据对象相关。然后,在步骤106,与某些事件相对应的数据(包括测试结果)被与该分级树结构中的某些数据对象相关。
在步骤108中,利用与数据对象中的某些数据对象(但不必是全部)相对应的多个变量列表,变量值被与某些数据对象相关。例如,在电路测试的情形中,变量值可以包括一个或多个晶片标识符(例如,名称、号码、物理位置),批次或器件、以及其他信息片段,例如测试开始的时间。每个变量列表被与数据对象中的相应一个相关联(步骤110)。
尽管不要求分级树结构和变量列表被存储在存储器中,但是这样存储总是有益的,因为这极大地加快了数据创建/检索过程。
在创建数据对象期间或者之后,若干个数据格式化器(即,一个或多个数据格式化器)被提供以对分级树结构中的多个数据对象和数据的访问权限。参见步骤112。
在一个实施例中,数据格式化器中的若干个活动数据格式化器中的每个访问与分级树结构相关联的数据对象和数据,根据由数据格式化器维护的规则对数据进行格式化,然后将经格式化的数据写入文件。对于本说明书来说,“活动”数据格式化器是用户选出用来格式化特定数据集合的若干“可用”数据格式化器之一。如果方法100被应用到电路测试,则一个或多个数据格式化器可以将数据可写入作为若干个测试记录的数据。
在检索与分级树结构相关联的测试结果或者其他数据时,数据格式化器可以通过1)访问与测试结果被关联到的数据对象相关联的变量列表或者2)访问与测试结果被关联到的数据对象的父对象相关联的变量列表,来获得该测试结果的上下文信息。或者,数据格式化器可以通过访问与数据对象中的两个或更多个相关数据对象相关联的某些变量列表来获得测试结果的上下文信息。在一个实施例中,这可以通过遍历分级树结构以标识出与测试结果被关联到的数据对象的一串一个或多个父数据对象相关联的变量列表来实现。然而,在另一个实施例中,方法100将变量列表中的分级变量列表彼此相关(即,除了仅使数据对象彼此相关之外),并且通过遍历变量列表中的分级变量列表获得测试结果的上下文信息。
注意,图1所示方法步骤的顺序不是关键的,也可以采用其他步骤顺序,包括这些步骤的并行处理。
图1所示方法100可以利用存储在计算机可读介质上的计算机可读代码来实现。计算机可读介质例如可以包括处在一个位置处或分布在网络上的任意多个固定或可移动介质(例如一个或多个固定盘、随机访问存储器(RAM)、只读存储器(ROM)或高密盘)或其混合。计算机可读代码通常包括软件,但也可以包括固件或编程的电路。
在一个实施例中,实现方法100的计算机可读代码可以使图2所示功能单元(或者进程)被实例化或者运行。这些功能单元包括数据填充器200和若干个数据格式化器202、204、206和208,以及其他可选组件。然而,注意各个功能单元之间的边界在一定程度上是不确定的,并且下面描述的某些功能也可以改由不同功能单元执行,并且两个或更多个单元的功能可被组合到单个功能单元(或进程)中。
数据填充器1)接收多个事件210,2)在存储器212中创建多个数据对象,3)将与某些事件相对应的数据与某些数据对象相关,并且4)将数据存储在存储器212中。数据填充器200创建的数据对象中的至少一些数据对象与由数据填充器200接收到的某些事件所暗示的数据的逻辑分组相对应。对于本公开来说,“暗示的”分组包括具体“说明”的那些。
若干个数据格式化器202、204、206、208访问某些数据对象,然后检索并格式化与所述数据对象相关的数据。
在一个实施例中,计算机可读代码还可以实例化或运行通知管理器214。通知管理器214可以接收来自数据填充器200的事件指示,并且可以响应于这些指示,向数据格式化器202、204、206、208中的一个或多个提供关于某些事件的通知。然后,数据格式化器202、204、206、208可被配置为响应于通知而发起它们对数据对象的访问(和数据的检索)。注意,在某些情况下,通知管理器214接收的事件指示可能对应于比数据填充器200所接收的更少的事件,或者对应于与数据填充器200所接收的不同的事件。例如,在电路测试情况下,数据填充器200可以接收测试设置事件的指示,这些测试设置事件被认为不够重要而无需传递到通知管理器214并且不被用作创建数据对象的基础。而且,可能存在数据填充器200从其接收的事件中推断出的事件。例如,基于部件号或其他标记的改变,数据填充器200可以推断出新“批次”的器件正被测试,然后将这种事件的指示提供到通知管理器214(即,即使数据填充器200本身可能未接收新“批次”事件)。
以上公开的方法100和装置可被用于很多应用。在一种特定应用中,方法100和装置被用于格式化由Agilent Technologies Inc.出品的93000SOC系列测试器生成的测试结果。
93000 SOC系列测试器(下文称之为“93000测试器”)是一种SOC(片上系统)测试器,其将测试结果和事件记录到被称为EDL(事件数据日志)文件的二进制数据文件中。该EDL文件中的事件对应于至少一个被测器件(DUT)上的多个测试的执行,并且被存储在有序序列中。但是,存储在EDL文件中的事件未被“扔”到任何其他进程,而仅仅被记录到EDL文件。在这种应用中,图1所示方法100还可以包括以下步骤:(1)解析对应于多个事件的数据文件(例如EDL文件)以检索多个事件,然后(2)将从数据文件中检索出的事件传递到创建多个数据对象和在存储器212中存储数据的进程(例如图2所示数据填充器200)。
在一个实施例中,EDL文件是响应于事件管理器执行的方法调用而被解析的。如图3所示,事件管理器300可以向共享库302执行方法调用(例如获取事件;获取事件属性),然后共享库302可以从EDL文件304检索事件并将这些事件“扔”到事件管理器300。事件管理器300然后将事件传递到数据填充器200。
共享库302可以采取编译代码(例如数据检索库(DRL))的形式,其在被事件管理器300调用时执行一种或多种方法。
在存储器212中创建的对象被按分级树结构与彼此相关。作为其他数据对象孩子的数据对象可以维护到它们的父数据对象的指针,但是父对象不需要维护到其所有孩子的指针的列表。随后将描述,这些从孩子到其父亲的指针可以辅助删除不再需要的数据对象的过程。
在基于多个电路测试的执行的数据对象的情况下,由事件暗示的数据的逻辑分组(例如测试结果的分组)可以包括一个或多个硬件分组和一个或多个测试分组,所述硬件分组例如是针对批次、晶片和DUT的分组,所述测试分组例如是对应于测试和子测试的测试结果的分组。
数据可以以各种方式与数据对象相关,包括通过(1)将数据直接存储在数据对象内,或者(2)将数据存储在与数据对象相关(例如通过指针或其他手段相关)的数据结构中。
在EDL文件304中,数据被存储为事件的属性。因此,如果数据填充器200接收从EDL文件304获得的事件,则数据填充器200可以通过从事件的属性提取数据和变量值来提取出与事件相对应的数据和变量值。在电路测试情况下,提取的数据可以包括测试结果。
例如,图4示出了EDL文件304的内容的示例性实施例,其中与记录的事件相关联的数据中的一些包括变量值,并且这些数据中的一些包括测试结果。图5示出数据填充器200可能从图4所示EDL文件304的内容创建的示例性分级树结构500。树结构500包括两个批次对象502、504(其中每个批次对象可以维护到父亲“晶片对象”506的指针)和六个器件对象508、510、512、514、516、518(其中每个器件对象维护着到批次对象502、504中相应的一个的指针)。如图所示,可用测试结果与器件对象508、510、512、514、516、518中的每一个相关联。
根据方法100,数据填充器200可以将与数据对象502、504、506、508、510、512、514、516、518中的某些数据对象相关的变量值存储在与这些数据对象相对应的多个变量列表520、522、524、526、528、530、532、534、536中。在图5中,变量列表维护到它们的相应数据对象的指针,并且由于它们的相应数据对象而彼此相关。但是,图6示出了另一个实施例600,其中变量列表利用它们自己的分级树结构(即,不同于其中存储有数据对象502、504、506、508、510、512、514、516、518的分级树结构之外)彼此相关。图7示出了又一个实施例700,其中变量列表702、704、706、708、710、712、714、716、728被存储在它们的相应数据对象502、504、506、508、510、512、514、516、518内。也可以采用用于存储变量列表的其他手段和用于将它们与数据对象关联起来和/或与彼此关联起来的其他手段。
除了在存储器212中存储个体数据项目之外,数据填充器200还可以积累数据统计量(例如测试数据统计量),然后将数据统计量与某些数据对象相关(例如通过将数据统计量存储在数据对象内,或者通过将数据统计量存储在与数据对象相关的数据结构中)。在一个实施例中,数据统计量可由数据填充器积累,然后在被完全编译时与数据对象相关。在另一实施例中,可以使不完全的数据统计量与数据对象相关,然后再对其进行更新。与数据统计量类似,数据填充器200可以积累数据解释(例如测试数据内插)并将它们与某些数据对象相关。
关于是由数据填充器200还是个体的数据格式化器202、204、206、208编译统计量和/或解释数据的选择可以基于统计量或解释在不同数据格式中的用途。就是说,如果统计量或解释可能会是多个数据格式化器202、204、206、208所需要的,则通常最好由数据填充器200编译统计量或解释一次。另一方面,特定于格式的统计量和解释可能最好由数据格式化器202、204、206、208中的一个特定数据格式化器来编译。
数据格式化器202、204、206、208可以访问数据填充器200创建的数据对象和数据的方法有很多种。在一个实施例中,数据格式化器202、204、206、208可以简单地监视数据对象。但是,这可能需要大量存储器带宽,并且通常不是非常有效。在优选实施例中,数据填充器200生成到其创建的数据对象的指针,然后将该指针传递到通知管理器214。通知管理器214随后将某些指针分发给数据格式化器202、204、206、208中的某些。
注意,通知管理器214仅需要接收指向每个数据对象的一个指针。通知管理器214随后可以复制该指针或将其广播到数据格式化器202、204、206、208中的每一个。或者,通知管理器214可以不为数据格式化器202、204、206、208中的每一个复制指针或将指针广播到数据格式化器202、204、206、208中的每一个,而是可以仅为数据格式化器202、204、206、208中已经预订了数据对象代表的一类数据的某些数据格式化器复制指针或将指针广播到这些数据格式化器。
通常,数据填充器200的操作将被赋予比数据格式化器202、204、206、208的操作更高的优先级。为了进一步控制对存储了数据对象和数据的存储器212的访问,数据填充器200(或创建多个数据对象并将数据存储在存储器212中的其他进程)可以具有对数据对象和数据的直接访问权限。但是,这若干个数据格式化器202、204、206、208可以具有经由协调/仲裁数据格式化器对数据对象和数据的访问的结构化接口访问多个数据对象的权限。
为了减少在存储器212中维护的数据对象的数目,数据填充器200可以监视数据对象的预留,并且可以删除引用或者访问数据对象的任何对象或进程不再预留的数据对象和变量列表。在一个实施例中,当生成用于引用数据对象的指针时,认为该数据对象被预留。数据填充器200可以在创建数据对象后生成一个这样的指针,并且通知管理器214可以生成该指针的附加拷贝并将其分发到数据格式化器202、204、206、208。数据填充器200还可以在数据对象的子对象被创建时生成到该对象的指针。当指针被生成时,对引用特定数据对象的指针的数目的计数可以被维护(可能在数据对象本身之内)。数据格式化器202、204、206、208和其他进程随后可被编程为在它们完成对数据对象的访问时放弃它们的指针,并且数据填充器200可以在所有这样的指针都已被释放时删除该数据对象。由于存在引用父亲的子对象,父对象在其所有孩子都先被删除之前无法被删除。变量列表可以与它们的相应数据对象一起被删除,或者以与它们的相应数据对象被删除的方式类似的方式被删除。
图3所示数据格式化器可以采取各种形式,包括诸如ASCII(美国信息交换标准代码)格式化器202、XML(可扩展标记语言)格式化器204、EDL格式化器206和/或STDF(标准测试定义格式)格式化器208之类的形式。
取决于它们的实现方式,这里公开的数据模型(即其中数据对象是基于数据的逻辑分组创建的,和/或其中数据对象以分级树结构彼此相关)可以提供若干优点,尤其是在电路测试的情境中。例如,通过提供单独的进程来组织存储器中的数据,然后使数据可用于多个数据格式化器,从而消除了数据格式化器用于读取和组织数据的大部分开销;并且通过“在存储器中”创建数据对象,它们就能比存储在盘上的数据更快地被访问。这使得数据格式化器的代码更轻巧,并且还提供了可以由新数据格式化器影响的标准数据模型。并且还(1)使得数据填充器和个体数据格式化器更易修订和修补,(2)使得这些功能单元中的每一个可以并行且更快的编码,并且(3)减小了编码每个功能单元时出现差错的可能性(例如由于每个功能单元更轻巧,因而对于每个单元要测试的代码更少)。此外,它使得测试器能够生成这样的数据,该数据的形式对于生成运行时间测试环境更高效,同时使得测试数据能够以更用户友好并且逻辑上划分开的形式被用于数据格式化器(及其作者)。
这里公开的数据模型以及填充和删除数据的方式还有助于平衡(1)多个数据格式化器格式化公共数据集合的速度(即它们可以并行地分别格式化数据集合中的数据)与(2)在存储器、存储设备和/或处理资源方面的真实世界极限。在电路测试领域,尤其当利用SOC测试器执行参数测试时,生成如此多的数据,以至于在测试仅仅10-20个芯片之后,就会达到即使是配设良好的计算机系统的资源极限。但是,通过使用这里公开的数据模型并且删除不再需要的数据对象,通常可以避免资源极限。

Claims (21)

1.一种用于存储和格式化数据的装置,包括:
数据填充器,用于i)接收与至少一个被测器件上的多个测试的执行相对应的有序事件序列,ii)创建多个数据对象,所述数据对象中的至少一部分与由一个或多个所述事件暗示的测试结果的逻辑分组相对应,iii)按分级树结构将一个或多个所述数据对象与其他所述数据对象相关,iv)将包括所述测试结果在内的与一个或多个所述事件相对应的数据与所述分级树结构中的一个或多个所述数据对象相关,v)将与一个或多个所述数据对象相关的变量值存储在与这一个或多个所述数据对象相对应的多个变量列表中,以及vi)将所述变量列表中的每个变量列表与所述数据对象中的相应一个数据对象相关联;
若干个数据格式化器,用于检索与所述分级树结构相关联的测试结果并格式化所述测试结果,所述测试结果是响应于由所述数据格式化器接收到的通知检索出的;以及
通知管理器,用于接收来自所述数据填充器的事件指示,并且将关于一个或多个所述事件的通知提供给所述数据格式化器中的一个或多个数据格式化器。
2.如权利要求1所述的装置,其中,所述数据填充器除了将所述数据对象彼此相关之外,还将所述变量列表中的分级变量列表彼此相关。
3.如权利要求2所述的装置,其中,所述数据格式化器中的一个数据格式化器在检索所述测试结果中的一个测试结果时,通过访问所述变量列表中与所述变量列表中的两个或更多个分级变量列表相关联的变量列表,来获得所述测试结果的上下文信息。
4.如权利要求1所述的装置,其中,所述变量列表仅被与所述数据对象中的一部分数据对象相关。
5.如权利要求1所述的装置,其中,所述数据填充器在存储器中存储所述分级树结构和变量列表。
6.如权利要求1所述的装置,其中,由一个或多个所述事件暗示的测试结果的逻辑分组包括批次、晶片和被测器件。
7.如权利要求6所述的装置,其中,所述测试结果的逻辑分组还包括测试和子测试。
8.如权利要求1所述的装置,其中,所述数据格式化器中的一个数据格式化器在检索所述测试结果中的一个测试结果时,通过访问所述变量列表中与所述测试结果被关联到的数据对象相关联的一个变量列表,来获得所述测试结果的上下文信息。
9.如权利要求1所述的装置,其中,所述数据格式化器中的一个数据格式化器在检索所述测试结果中的一个测试结果时,通过访问所述变量列表中与所述测试结果被关联到的数据对象的父对象相关联的一个变量列表,来获得所述测试结果的上下文信息。
10.如权利要求1所述的装置,其中,所述数据格式化器中的一个数据格式化器在检索所述测试结果中的一个测试结果时,通过访问所述变量列表中与所述数据对象中的两个或更多个相关数据对象相关联的变量列表,来获得所述测试结果的上下文信息。
11.如权利要求1所述的装置,其中,所述数据填充器从所述事件的属性中提取与一个或多个所述事件相对应的数据,所提取的数据包括所述测试结果。
12.如权利要求1所述的装置,其中,所述数据填充器从所述有序事件序列中提取所述变量值。
13.如权利要求1所述的装置,其中:
所述数据填充器生成到其创建的数据对象的指针,然后将所述指针传递给所述通知管理器;并且
所述通知管理器接收所述指针,并且将一个或多个所述指针分发给所述若干个数据格式化器中的一个或多个数据格式化器。
14.如权利要求1所述的装置,还包括事件管理器,用于i)针对所述有序事件序列中的接下来的一个或多个事件对共享库进行方法调用;以及ii)将所述有序事件序列中的所述接下来的一个或多个事件传递给所述数据填充器。
15.如权利要求1所述的装置,其中,所述数据填充器还i)监视存储在所述分级树结构中的数据对象的预留,ii)删除引用或访问所述数据对象的任何对象或进程不再预留的数据对象;以及iii)删除与所删除的数据对象相关联的变量列表。
16.一种用于存储和格式化数据的方法,包括以下步骤:
响应于与至少一个被测器件上的多个测试的执行相对应的有序事件序列,
创建多个数据对象,所述数据对象中的至少一部分与由一个或多个所述事件暗示的测试结果的逻辑分组相对应;
按分级树结构将一个或多个所述数据对象与其他所述数据对象相关;
将包括所述测试结果在内的与一个或多个所述事件相对应的数据与所述分级树结构中的一个或多个所述数据对象相关;
将与一个或多个所述数据对象相关的变量值存储在与这一个或多个所述数据对象相对应的多个变量列表中;以及
将所述变量列表中的每个变量列表与所述数据对象中的相应一个数据对象相关联;以及
向若干个数据格式化器提供对与所述分级树结构相关联的所述多个数据对象和数据的访问权限。
17.如权利要求16所述的方法,还包括除了将所述数据对象彼此相关之外,还将所述变量列表中的分级变量列表彼此相关。
18.如权利要求16所述的方法,其中,所述变量列表仅被与所述数据对象中的一部分数据对象相关。
19.如权利要求16所述的方法,还包括在存储器中存储所述分级树结构和变量列表。
20.如权利要求16所述的方法,其中,由一个或多个所述事件暗示的测试结果的逻辑分组包括批次、晶片和被测器件。
21.如权利要求16所述的方法,还包括从所述有序事件序列中提取所述变量值。
CN2007100031067A 2006-01-31 2007-01-31 存储变量值以提供要格式化的测试结果的上下文的装置 Expired - Fee Related CN101093498B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/345,196 US20070192346A1 (en) 2006-01-31 2006-01-31 Apparatus for storing variable values to provide context for test results that are to be formatted
US11/345,196 2006-01-31

Publications (2)

Publication Number Publication Date
CN101093498A CN101093498A (zh) 2007-12-26
CN101093498B true CN101093498B (zh) 2010-12-08

Family

ID=38282427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100031067A Expired - Fee Related CN101093498B (zh) 2006-01-31 2007-01-31 存储变量值以提供要格式化的测试结果的上下文的装置

Country Status (6)

Country Link
US (1) US20070192346A1 (zh)
JP (1) JP2007249949A (zh)
KR (1) KR20070079063A (zh)
CN (1) CN101093498B (zh)
DE (1) DE102007004842A1 (zh)
TW (1) TW200809221A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519887B2 (en) * 2006-01-31 2009-04-14 Verigy (Singapore) Pte. Ltd. Apparatus for storing and formatting data
US20070179970A1 (en) * 2006-01-31 2007-08-02 Carli Connally Methods and apparatus for storing and formatting data
US20070260938A1 (en) * 2006-04-24 2007-11-08 Carli Connally Method, code, and apparatus for logging test results
CN105681295B (zh) * 2016-01-11 2019-05-28 清华大学 关联大数据共享方法及装置
CN116755953B (zh) * 2023-08-22 2023-12-19 北京象帝先计算技术有限公司 测试结果分组方法、装置、电子设备及可读存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0646801B1 (en) * 1993-09-20 1999-08-11 Hewlett-Packard GmbH Testing apparatus for testing and handling a multiplicity of devices
US5485097A (en) * 1994-08-08 1996-01-16 Advanced Micro Devices, Inc. Method of electrically measuring a thin oxide thickness by tunnel voltage
US20020178184A1 (en) * 2001-05-22 2002-11-28 Allan Kuchinsky Software system for biological storytelling
US7539988B1 (en) * 2001-10-11 2009-05-26 Four J's Development Tools, Inc. System and method for deferred rebalancing of a tree data structure
US7055138B2 (en) * 2001-10-23 2006-05-30 Agilent Technologies, Inc. Test executive system with tree structure for summarizing results
US6823272B2 (en) * 2001-10-23 2004-11-23 Agilent Technologies, Inc. Test executive system with progress window
US7080083B2 (en) * 2001-12-21 2006-07-18 Kim Hong J Extensible stylesheet designs in visual graphic environments
US20030145280A1 (en) * 2002-01-25 2003-07-31 James Grey Test executive system having XML reporting capabilities
US20030145252A1 (en) * 2002-01-25 2003-07-31 James Grey Test executive system having XML object representation capabilities
US7249133B2 (en) * 2002-02-19 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a real time XML reporter
US6807506B2 (en) * 2002-03-20 2004-10-19 Agilent Technologies, Inc. Electronic test program with test triggered interactive displays
US7050921B2 (en) * 2002-04-23 2006-05-23 Agilent Technologies, Inc. Electronic test program with run selection
US7047442B2 (en) * 2002-04-23 2006-05-16 Agilent Technologies, Inc. Electronic test program that can distinguish results
US7143361B2 (en) * 2002-12-16 2006-11-28 National Instruments Corporation Operator interface controls for creating a run-time operator interface application for a test executive sequence
US7421360B2 (en) * 2006-01-31 2008-09-02 Verigy (Singapore) Pte. Ltd. Method and apparatus for handling a user-defined event that is generated during test of a device
US7676347B2 (en) * 2006-01-31 2010-03-09 Verigy (Singapore) Pte. Ltd. Systems and methods for accumulation of summaries of test data
US7519887B2 (en) * 2006-01-31 2009-04-14 Verigy (Singapore) Pte. Ltd. Apparatus for storing and formatting data
US20070179970A1 (en) * 2006-01-31 2007-08-02 Carli Connally Methods and apparatus for storing and formatting data
US7328137B2 (en) * 2006-01-31 2008-02-05 Verigy (Singapore) Pte. Ltd. Methods and systems for derivation of missing data objects from test data

Also Published As

Publication number Publication date
CN101093498A (zh) 2007-12-26
US20070192346A1 (en) 2007-08-16
TW200809221A (en) 2008-02-16
JP2007249949A (ja) 2007-09-27
DE102007004842A1 (de) 2007-08-09
KR20070079063A (ko) 2007-08-03

Similar Documents

Publication Publication Date Title
CN101030213B (zh) 用于存储和格式化数据的装置
US20110131002A1 (en) Method for automatic testing of software
CN101093498B (zh) 存储变量值以提供要格式化的测试结果的上下文的装置
US8161449B2 (en) Improving test pattern coverage through parallel discard, flow control, and quality metrics
CN101034402B (zh) 对器件测试中生成的自定义事件进行处理的方法和装置
TW200809218A (en) Methods and systems for derivation of missing data objects from test data
CN108255477A (zh) 一种通过sql编译器模拟优化数据库性能的方法及系统
CN101030212A (zh) 用于存储和格式化数据的方法和装置
CN113792026B (zh) 数据库脚本的部署方法、装置及计算机可读存储介质
CN110750435A (zh) 一种测试用例的管理方法和装置
TWI424175B (zh) 用以格式化測試資料之系統和方法及機器可讀媒體
US20070180200A1 (en) Method and system for managing access to a data store
US7403874B2 (en) Method and system for prioritizing formatting actions of a number of data formatters
CN113722234A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20130131

CF01 Termination of patent right due to non-payment of annual fee