CN111426935B - 自动化测试设备装置 - Google Patents
自动化测试设备装置 Download PDFInfo
- Publication number
- CN111426935B CN111426935B CN201910919801.0A CN201910919801A CN111426935B CN 111426935 B CN111426935 B CN 111426935B CN 201910919801 A CN201910919801 A CN 201910919801A CN 111426935 B CN111426935 B CN 111426935B
- Authority
- CN
- China
- Prior art keywords
- data
- tester
- fpga
- dut
- test
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
-
- 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/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31908—Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R1/00—Details of instruments or arrangements of the types included in groups G01R5/00 - G01R13/00 and G01R31/00
- G01R1/02—General constructional details
- G01R1/025—General constructional details concerning dedicated user interfaces, e.g. GUI, or dedicated keyboards
-
- 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/26—Testing of individual semiconductor devices
- G01R31/2601—Apparatus or methods therefor
-
- 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/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31907—Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2257—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C2029/5602—Interface to device under test
Abstract
一种自动化测试设备(ATE)装置包括:包含系统控制器的计算机系统,其中,所述系统控制器通信地耦合到测试器处理器和FPGA。所述系统控制器可用于从自所述系统控制器接收的指令生成命令和数据以用于协调被测器件(DUT)的测试,其中,所述DUT支持多个非标准扇区大小和多种保护模式。所述FPGA通信地耦合到所述测试器处理器,其中,所述FPGA包括至少一个硬件加速器电路,所述至少一个硬件加速器电路可用于在内部从所述测试器处理器透明地生成命令和数据以用于测试所述DUT,并且其中,所述至少一个硬件加速器电路能够执行运算以计算与所述多种保护模式相关联的保护信息并且生成被调整大小以适合所述多个非标准扇区大小中的每一个的可重复的测试图案。
Description
技术领域
本公开一般地涉及电子器件测试系统的领域,并且更具体地涉及用于测试被测器件(DUT)的电子器件测试设备的领域。
背景技术
自动化测试设备(ATE)可以是对半导体器件或电子组件执行测试的任何测试组件。ATE组件可以用于执行自动化测试,该自动化测试快速地执行测量并生成然后可被分析的测试结果。ATE组件可以是从耦合到仪表的计算机系统到复杂的自动化测试组件的任何东西,该复杂的自动化测试组件可以包括定制专用的计算机控制系统以及能够自动地测试电子零件和/或半导体晶圆测试(诸如片上系统(SOC)测试或集成电路测试)的许多不同的测试仪器。ATE系统既减少在测试器件以确保该器件按设计运行上花费的时间量,又用作诊断工具来在给定器件到达消费者之前确定在它之内是否存在有故障的部件。
图1是用于测试某些典型的DUT(例如,诸如DRAM这样的半导体存储器设备)的常规自动测试设备主体100的示意框图。ATE包括具有硬件总线适配器插槽110A-110N的ATE主体100。特定于特定通信协议例如PCIe、USB、SATA、SAS等的硬件总线适配器卡110A-110N连接到设置在ATE主体上的硬件总线适配器插槽并且经由特定于相应的协议的电缆与DUT对接。ATE主体100还包括具有关联的存储器108的测试器处理器101以控制内置到ATE主体100中的硬件部件并且以生成通过硬件总线适配器卡与被测DUT进行通信所必需的命令和数据。测试器处理器101通过系统总线130与硬件总线适配器卡进行通信。测试器处理器可以被编程为包括某些功能块,所述功能块包括图案生成器102和比较器106。可替代地,图案生成器102和比较器106可以是安装在插入ATE主体100中的扩展卡或适配器卡上的硬件部件。
ATE主体100测试通过插入到ATE主体100的硬件总线适配器插槽中的硬件总线适配器连接到ATE主体100的DUT 112A-112N的电气功能。因此,测试器处理器101被编程为使用硬件总线适配器特有的协议来将需要被运行的测试程序传送到DUT。同时,内置到ATE主体100中的其他硬件部件根据在测试器处理器101中操作的测试程序来与彼此并与DUT一起传送信号。
由测试器处理器101运行的测试程序可以包括功能测试,所述功能测试涉及将由图案生成器102创建的输入信号写入到DUT、从DUT读出所写入的信号并且使用比较器106来将输出与所期望的图案相比较。如果输出与输入不匹配,则测试器处理器101将把DUT识别为有缺陷的。例如,如果DUT是诸如DRAM这样的存储器设备,则测试程序将使用写入用于将由图案生成器102生成的数据写入到DUT,使用读取用于从DRAM读取数据并且使用比较器106来将所期望的比特图案与所读取的图案相比较。
在常规系统中,测试器处理器101需要包含用于生成在测试DUT时使用的命令和测试图案的功能逻辑块,诸如直接地在处理器上用软件编程的图案生成器102和比较器106。然而,在一些情况下可以在现场可编程门阵列(FPGA)上实现诸如比较器106这样的某些功能块,所述FPGA是可根据用户的需求对逻辑电路进行编程的专用集成电路(ASIC)型半导体器件。
常规系统中使用的FPGA依靠测试器处理器101来将命令和测试图案转移到FPGA,FPGA进而将所述命令和测试图案中继到DUT。因为测试器处理器而不是FPGA负责生成命令和测试图案,所以可利用给定ATE主体测试的DUT的数量和类型受到测试器处理器的处理能力和编程限制。在测试器处理器生成所有命令和测试图案的情况下,将测试器处理器连接到各种硬件部件(包括任何FPGA器件和硬件总线适配器插槽)的系统总线130上的带宽约束也对可被同时地测试的DUT的数量设置上限。
另外,在常规系统中,用于与DUT进行通信的通信协议是固定的,因为插入到ATE主体100中的硬件总线适配器卡是被设计成在仅一种协议中通信而无法被重新编程以在不同协议中通信的单一目的器件。例如,被配置为测试PCIe设备的ATE主体将使仅支持PCIe协议的硬件总线适配器卡被插入到主体中。为了测试支持不同协议(例如,SATA)的DUT,用户将通常需要用支持SATA协议的总线适配器卡替换PCIe硬件总线适配器卡。除非以物理方式用支持其他协议的卡取代PCIe硬件总线适配器卡,否则这样的系统仅能测试支持PCIe协议的DUT。因此,在测试平台上,当需要测试运行与现有适配器卡支持的协议不同的协议的DUT时,替换硬件总线适配器卡消耗关键的时间。
当前的测试器系统的另一缺点是测试系统目前不支持支持保护模式和奇数扇区大小的DUT(例如,SSD)的测试。例如,市场上可买到的大多数固态驱动器(SSD)是针对标准扇区大小(例如,4K本机、512本机)进行格式化的。4K本机是具有包含4096(4K)个字节(每扇区4096个逻辑字节)的扇区的驱动器。512本机是具有包含512个字节(每扇区512个逻辑字节)的扇区的驱动器。大多数现代的硬盘驱动器使用以下两个扇区大小中的一个:每扇区512个字节或每扇区4096个字节。然而,某些供应商还支持非标准扇区大小,例如,尤其用于要在企业级系统中使用的驱动器的每扇区520个字节(BPS)或每扇区528个字节(BPS)。此外,某些供应商在每个扇区中包括附加字节的元数据以支持奇偶校验、校验和和/或循环冗余校验和(CRC)(例如,512+8BPS,其中512个字节是为数据而保留的并且8个字节是为元数据而保留的)。换句话说,包括在每个扇区内的附加元数据可针对SSD启用保护模式。常规ATE受限制,因为它不支持支持非标准扇区大小的驱动器的测试。此外,常规ATE也不支持启用保护模式的SSD(例如,每扇区包含附加元数据以便支持奇偶校验和/或校验和的SSD)的测试。
发明内容
因此,存在对于一种可解决上述系统的问题的测试器架构的需要。所需要的是一种测试架构,由此可将命令和测试图案生成功能性转移到FPGA上,使得可使测试器处理器上的处理负载和系统总线上的带宽需求保持在最低水平。这将比测试器处理器承担整个处理负载并且系统总线为连接到ATE主体的所有DUT输送测试数据和命令的在先配置更高效。进一步地,所需要的是一种测试架构,由此可在FPGA器件上对通信协议引擎进行编程,使得用于与DUT进行通信的协议是可重新配置的。
另外,所需要的是一种测试器系统,由此在软件级和固件级两者上支持按奇数扇区大小的所有组合和保护模式的所有组合而测试DUT(例如SSD)。例如,SSD可以具有520BPS、4104BPS、528BPS和4224BPS的非标准扇区大小。此外,SSD还可能每扇区具有额外的8个或更多个字节的元数据以启用某些保护模式。所需要的是一种能够无缝地且更效地测试具有非标准扇区大小并启用了各种保护模式的SSD的测试器系统。
在一个实施例中,呈现了一种自动化测试设备(ATE)装置。所述装置包括包含系统控制器的计算机系统,其中,所述系统控制器通信地耦合到测试器处理器和FPGA,其中,所述系统控制器可用于将指令发送到所述测试器处理器,并且其中,所述测试器处理器可用于从所述指令生成命令和指令以用于协调被测器件(DUT)的测试。所述DUT支持多个奇数扇区大小和多种保护模式。所述FPGA通信地耦合到所述测试器处理器,其中,所述FPGA包括至少一个硬件加速器电路,所述至少一个硬件加速器电路可用于在内部从所述测试器处理器透明地生成命令和数据以用于测试所述DUT,并且其中,所述至少一个硬件加速器电路能够执行运算以计算与所述多种保护模式相关联的保护信息并且生成被调整大小以适合所述多个奇数扇区大小中的每一个的可重复的测试图案。进一步地,所述测试器处理器被配置为在多种功能模式中的一种下操作,其中,每种功能模式被配置为以不同的方式在所述测试器处理器与所述FPGA之间分配用于生成命令和用于生成数据的功能性。
在另一实施例中,公开了一种用于使用自动化测试设备(ATE)来测试的方法。所述方法包括:将指令从计算机系统的系统控制器发送到测试器处理器,其中,所述系统控制器通信地耦合到所述测试器处理器和FPGA,其中,所述测试器处理器可用于从所述指令生成命令和数据以用于协调多个DUT的测试,其中,所述多个DUT中的每一个均支持多个奇数扇区大小和多种保护模式。所述方法进一步包括:使用在FPGA内编程的硬件加速器电路来从所述测试器处理器透明地生成命令和数据以用于多个DUT的测试,其中,所述FPGA通信地耦合到所述测试器处理器,并且其中,所述硬件加速器电路可用于测试所述多个DUT,并且其中,所述硬件加速器电路能够执行运算以计算与所述多种保护模式相关联的保护信息并且生成被调整大小以适合所述多个奇数扇区大小中的每一个的可重复的测试图案。所述方法附加地包括:在多种功能模式中的一种下操作所述测试器处理器,其中,每种功能模式被配置为以不同的方式在所述测试器处理器与所述FPGA之间分配用于生成命令和用于生成数据的功能性。
在另一实施例中,公开了一种测试器。所述测试器包括系统控制器,所述系统控制器用于控制用于测试多个DUT的测试程序,其中,所述多个DUT中的每一个均支持多个奇数扇区大小和多种保护模式。进一步地,所述测试器包括包含多个测试器片的图元,其中,每个测试器片包括:测试器处理器,其耦合以与所述系统控制器进行通信以根据所述测试程序从其中接收指令和数据;以及至少一个可编程实例化测试器块,其耦合到所述测试器处理器,其中,所述至少一个可编程实例化测试器块可用于以对所述测试处理器透明的方式生成用于应用于所述多个DUT的测试数据,进一步地可用于以对所述测试器处理器透明的方式接收并比较由所述多个DUT生成的测试数据。所述实例化测试器块进一步地还可用于被编程为在与所述多个DUT兼容的通信协议中与所述多个DUT进行通信。附加地,所述至少一个可编程实例化测试器块包括硬件加速器电路,所述硬件加速器电路可用于执行运算以计算与所述多种保护模式相关联的保护信息并且生成被调整大小以适合所述多个非标准扇区大小中的每一个的可重复的测试图案。所述测试器还包括:本地存储器,所述本地存储器耦合到所述可编程实例化测试器块以用于在其中存储测试数据;以及器件接口板,所述器件接口板用于将所述多个测试器片耦合到所述多个DUT。此外,每个可编程的实例化测试器块可在多种功能模式中的一种下操作,其中,每种功能模式被配置为以不同的方式在所述测试器处理器与所述可编程实例化测试器块之间分配用于生成命令和用于生成数据的功能性。
以下详细描述以及附图将提供对本发明的性质和优点的更好理解。
附图说明
在附图的图中,本发明的实施例通过实施例而不通过限制来图示,并且在附图中,相似的附图标记指代相似的元件。
图1是用于测试典型的被测器件(DUT)的常规自动测试设备主体的示意框图。
图2是根据本发明的一个实施例的系统控制器、站点模块和DUT之间的互连的高级示意框图。
图3是根据本发明的实施例的站点模块及其与系统控制器和DUT的互连的详细示意框图。
图4是根据本发明的实施例的图2的实例化FPGA测试器块的详细示意框图。
图5是根据本发明的实施例的测试DUT的示例性方法的高级流程图。
图6是图5的继续并且是本发明的一个实施例中的在旁路模式下测试DUT的示例性方法的流程图。
图7是图5的继续并且是本发明的一个实施例中的在硬件加速器图案生成器模式下测试DUT的示例性方法的流程图。
图8是图5的继续并且是本发明的一个实施例中的在硬件加速器存储器模式下测试DUT的示例性方法的流程图。
图9是图5的继续并且是本发明的一个实施例中的在硬件加速器分组构建器模式下测试DUT的示例性方法的流程图。
图10图示根据本发明的实施例的与器件接口板(DIB)对接的图元。
图11是根据本发明的实施例的自动测试设备装置的示例性高级框图,其中主机控制器连接到多个图元并控制针对多个图元的测试操作。
图12A图示根据本发明的实施例的可由自动化测试设备(ATE)平台支持的各种保护模式和奇数扇区大小。
图12B图示针对由各种SSD支持的保护模式在元数据中编码的信息。
图13描绘根据本发明的实施例的测试支持非标准扇区大小和保护模式的DUT的示例性过程的流程图。
在图中,具有相同名称的元件具有相同或类似的功能。
具体实施例
现在将详细地参考实施例,其实施例被图示在附图中。虽然将结合附图描述实施例,但是应理解的是,它们不旨在限制实施例。相反,实施例旨在涵盖替代方案、修改和等同物。此外,在以下详细描述中,阐述了许多具体细节以便提供透彻理解。然而,本领域的普通技术人员应认识到,可以在没有这些具体细节的情况下实践实施例。在其他情况下,尚未详细地描述众所周知的方法、程序、组件和电路,以免不必要地模糊实施例的各方面。
表示法和命名法部分
在对计算机存储器内的数据比特的操作的程序、逻辑块、处理和其他符号表示方面呈现以下详细描述的某些区域。这些描述和表示是由数据处理领域的技术人员使用来将其工作的实质最有效地传达给本领域的其他技术人员的手段。在本申请中,程序、逻辑块、过程等被设想为导致期望结果的步骤或指令的自洽序列。这些步骤是要求对物理量进行物理操纵的那些步骤。通常,尽管不一定,然而这些量采取能够在计算机系统中被存储、转移、组合、比较并以其他方式操纵的电或磁信号的形式。
然而,应该记住的是,所有这些和类似的术语将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非如从以下讨论中显而易见的那样另外具体地陈述,否则应领会的是,贯穿本发明,利用诸如“访问”、“添加”、“调整”、“分析”、“应用”、“组装”、“指派”、“计算”、“捕获”、“组合”、“比较”、“收集”、“创建”、“调试”、“定义”、“描绘”、“检测”、“确定”、“显示”、“建立”、“执行”、“生成”、“分组”、“识别”、“启动”、“修改”、“监视”、“移动”、“输出”、“执行”、“放置”、“呈现”、“处理”、“编程”、“查询”、“移除”、“重复”、“恢复”、“采样”、“模拟”、“排序”、“存储”、“减去”、“挂起”、“跟踪”、“变换”、“解锁”、“使用”等这样的术语的讨论指代计算机系统或类似的电子计算设备的动作和过程,所述计算机系统或类似的电子计算设备将被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据变换成被类似地表示为计算机系统存储器或寄存器或其他这样的信息存储装置、传输或显示设备内的物理量的其他数据。
以下描述提供可以包括一个或多个模块的计算机和其他设备的讨论。如本文所使用的,术语“模块”或“块”可以被理解为指代软件、固件、硬件和/或其各种组合。注意的是,块和模块是示例性的。块或模块可以被组合、集成、分离和/或复制以支持各种应用。另外,代替或者除了在所描述的特定模块或块处执行的功能之外,还可以在一个或多个其他模块或块处和/或通过一个或多个其他设备来执行在本文中描述为在特定模块或块处执行的功能。进一步地,可以跨越彼此本地或远程的多个设备和/或其他组件来实现模块或块。附加地,模块或块可以被从一个设备移动并添加到另一设备,并且/或者可以被包括在两个设备中。本发明的任何软件实施例可以被有形地具体实现在一个或多个存储介质中,所述存储介质诸如例如存储设备、软盘、紧致盘(CD)、数字通用盘(DVD)或可以存储计算机代码的其他设备中。
本文使用的术语仅用于描述特定实施例的目的,而不旨在限制本发明的范围。如贯穿本公开所使用的,除非上下文另外清楚地规定,否则单数形式“一”、“一个”和“该”包括复数形式。因此,例如,对“一模块”的引用包括多个这样的模块以及单个模块及其为本领域的技术人员已知的等同物。
用于固态设备(SSD)奇数扇区大小和保护模式的自动化测试设备(ATE)支持框架
本发明的实施例允许通过在用于测试支持不同的(奇数或非标准)扇区大小和保护模式的DUT(例如,SSD)的测试器内包括操作系统(OS)支持而无需重新配置硬件来改进测试吞吐量。更具体地,可以通过在FPGA器件上实现的硬件加速器来执行支持奇数扇区大小(也称为非标准扇区大小)和各种保护模式所需要的核算和计算。换句话说,以前在通用测试器处理器上用软件执行的计算功能性被转移到在FPGA器件上实现的硬件加速器。另一方式是通过增加可在主要硬件和时间约束下测试的被测器件(DUT)的数量和类型,例如,通过配置硬件使得可用同一硬件来测试支持许多不同类型的保护模式和扇区大小的DUT,而无需替换或者取代任何硬件组件。本发明的实施例致力于在自动测试设备的硬件中改进测试效率。
图2是根据本发明的实施例的自动测试设备(ATE)装置200的示例性高级框图,其中测试器处理器通过具有内置功能模块的FPGA器件连接到被测器件(DUT)。在一个实施例中,可以在能够同时地测试多个DUT的任何测试系统内实现ATE装置200。例如,在一个实施例中,可以如图10中所示在图元内部实现装置200。
参考图2,根据本发明的实施例的用于更高效地测试半导体器件的ATE装置200包括:系统控制器201;网络交换机202,其将系统控制器连接到站点模块板230A-230N;FPGA器件211A-211M,其包括实例化FPGA测试器块210A-210N;存储器块模块240A-240M,其中这些存储器块中的每一个均连接到FPGA器件211A-211M中的一个;以及被测器件(DUT)220A-220N,其中每个被测器件220A-220N连接到实例化FPGA测试器块210A-210N中的一个。应该注意的是,DUT 220A-220N在一个实施例中可以是固态驱动器(SSD)。此外,如图2中所示的单个实例化FPGA测试器块可以同样连接到多个DUT。
在一个实施例中,系统控制器201可以是计算机系统,例如,为ATE的用户提供用户界面以装载测试程序并针对连接到ATE 200的DUT运行测试的个人计算机(PC)。在一个实施例中,系统控制器201可以正在运行Windows操作系统(OS)。在Windows环境中执行的VerigyStylus软件是通常在器件测试期间使用的测试软件的一个实施例。它给用户提供用来配置并控制测试的图形用户界面。它还可包括用于控制测试流程、控制测试程序的状态、确定哪一个测试程序正在运行并且记录与测试流程有关的测试结果和其他数据的功能性。
在一实施例中,系统控制器可通过网络交换机(诸如以太网交换机)连接到站点模块板230A-230N。在其他实施例中,网络交换机可以与诸如例如TCP/IP、光纤通道、802.11或ATM这样的不同协议兼容。
在一个实施例中,站点模块板230A-230N中的每一个均可以是用于评估和开发目的的单独的独立板,其附连到在上面装载DUT 220A-220N的定制负载板固定装置,并且还附连到从那里接收测试程序的系统控制器201。在其他实施例中,站点模块板可以作为插入式扩展卡或者作为直接地插入到系统控制器201的机箱中的子板被实现。可替代地,站点模块板可以被收容在图元的外壳内(如图10中所示)并且可以使用器件接口板(DIB)连接到各种DUT。
站点模块板230A-230N可各自包括至少一个测试器处理器204和至少一个FPGA器件。在一个实施例中,测试器处理器及其关联的存储器可以位于附到相应的站点模块的单独的板(未示出)上。此单独的板可以被称作模块上计算机(或COM)板。换句话说,FPGA可以位于单独的站点模块板上,然而测试器处理器(具有关联的存储器)位于COM板上。
站点模块板上的测试器处理器204和FPGA器件211A-211M根据从系统控制器201接收到的测试程序指令针对每个测试用例运行测试方法。在一个实施例中,测试器处理器可以是市场上可买到的Intel x86 CPU或任何其他众所周知的处理器。进一步地,测试器处理器可以正在Ubuntu OS x64操作系统上操作并运行核心软件,其允许它与在系统控制器上运行的软件进行通信,以运行测试方法。在一个实施例中,测试器处理器204可以是运行Linux OS或Linux OS的修改版本的x86处理器。在一个实施例中,在测试器处理器上运行的Linux OS能够从在系统控制器上运行的Windows OS接收命令和数据。测试器处理器204基于从系统控制器接收到的测试程序来控制站点模块上的FPGA器件和连接到站点模块的DUT。
测试器处理器204通过总线212连接到FPGA器件并可与FPGA器件进行通信。在一个实施例中,测试器处理器204通过单独的专用总线与FPGA器件211A-211M中的每一个进行通信。在一个实施例中,例如在标准或旁路模式下,测试器处理器204可利用分配给FPGA器件的最小处理功能性通过FPGA透明地控制DUT 220A-220N的测试。在此实施例中,因为由测试器处理器生成的所有命令和数据都需要通过总线被传送到FPGA器件,所以总线212的数据业务容量可被迅速地耗尽。在其他实施例中,例如,在如将在下面进一步讨论的协议独立数据加速(PIDA)或全加速(FA)模式下,测试器处理器204可通过向FPGA器件分配用于控制DUT的测试的功能性来分担处理负载。在这些实施例中,因为FPGA器件可生成它们自己的命令和数据,所以减少了总线212上的业务。
在一个实施例中,FPGA器件211A-211M中的每一个均连接到它自己的专用存储器块240A-240M。这些存储器块尤其可用于存储被写出到DUT的测试图案数据。在一个实施例中,FPGA器件中的每一个均可包括具有用于执行功能的功能模块的两个实例化FPGA测试器块210A-210B,所述功能包括如本文进一步地描述的通信协议引擎和硬件加速器的实施例。存储器块240A-240M可各自包含一个或多个存储器模块,其中存储器块内的每个存储器模块可专用于实例化FPGA测试器块210A-210B中的一个或多个。因此,实例化FPGA测试器块210A-210B中的每一个均可连接到存储器块240A内的它自己的专用存储器模块。在另一实施例中,实例化FPGA测试器块210A和210B可共享存储器块240A内的存储器模块中的一个。在不同的实施例中,每个FPGA器件可具有多个实例化FPGA测试器块,各自具有相应的存储器块。
进一步地,系统中的DUT 220A-220N中的每一个均可按照“每DUT测试器”配置连接到专用的实例化FPGA测试器块210A-210N,其中每个DUT得到它自己的测试器块。这对于每个DUT允许单独的测试执行。这样的配置中的硬件资源是以用最小硬件共享来支持单独的DUT的方式而设计的。此配置还允许并行测试许多DUT,其中每个DUT可连接到它自己的专用FPGA测试器块并运行不同的测试程序。在不同的实施例中,每个实例化FPGA测试器块也可以连接到多个DUT并且被配置为测试多个DUT。
图2中描绘的本发明的实施例的架构有若干优点。首先,因为可在FPGA器件内的实例化FPGA测试器块上直接地对通信协议模块进行编程,所以在系统中消除了对于协议特定硬件总线适配器插槽和卡的需要。实例化测试器块可被配置为在DUT支持的任何协议中与DUT进行通信。因此,如果需要测试具有不同的协议支持的DUT,则可将它们连接到同一系统并且可对FPGA进行重新编程以支持所关联的协议。结果,一个ATE主体可被容易地配置为测试支持许多不同类型的协议的DUT。
在一个实施例中,可在没有任何种类的硬件交互的情况下经由简单的比特流下载从系统控制器201上的高速缓存下载并直接地在FPGA上安装新协议。FPGA将通常包括可编程以为DUT提供一个或多个基于协议的接口的功能性并且可编程以与DUT对接的可配置接口核心(或IP核心)。例如,ATE装置200中的FPGA 211A-211M将包括可被配置有PCIe协议以最初测试PCIe设备并随后经由软件下载重新配置以测试SATA设备的接口核心。另外,如果发布了新协议,则FPGA可容易地经由比特流下载被配置有该协议,而不必物理上切换系统中的所有硬件总线适配器卡。最后,如果需要实现非标准协议,则FPGA可仍然被配置为实现这样的协议。
在另一实施例中,FPGA 211A-211M可被配置为运行多于一种通信协议,其中也可从系统控制器201下载并通过软件来配置这些协议。换句话说,每个FPGA实现定制固件和软件映像以在单个芯片中实现一个或多个基于PC的测试器的功能性。所需要的电信令和基于协议的信令由FPGA中的片上IP核心提供。如上面所提及的,每个FPGA可用预先验证的接口或IP核心编程。这确保根据给定接口标准的符合性和兼容性。FPGA的可编程性质被利用来针对来自SSD、HDD和其他基于协议的存储设备的存储测试应用优化灵活性、成本、并行性和可升级性。
例如,实例化FPGA测试器块210A可被配置为运行PCIe协议,然而实例化FPGA测试器块210B可被配置为运行SATA协议。这允许测试器硬件同时地测试支持不同协议的DUT。现在可连接FPGA 211A以测试支持PCIe协议和SATA协议两者的DUT。可替代地,可连接FPGA211A以测试两个不同的DUT,一个DUT支持PCIe协议而另一个DUT支持SATA协议,其中每个实例化功能模块(例如210A、210B)被配置有用于测试它连接到的相应的DUT的协议。
在一个实施例中,FPGA中的接口或IP核心可被从第三方供应商获取,但是可能要求一些定制与本文描述的实施例兼容。在一个实施例中,接口核心提供两个功能:a)将存储命令包装成标准协议以便在物理信道上传输;以及2)是电信号生成器和接收器。
图2中呈现的架构的另一个主要优点是它通过将命令和测试图案生成功能性分发给FPGA器件来减少测试器处理器204上的处理负载,其中每个DUT有运行特定于它的测试程序的专用FPGA模块。例如,实例化FPGA测试器块210A连接到DUT 220A并运行特定于DUT220A的测试程序。这样的配置中的硬件资源是以用最小硬件共享来支持单独的DUT的方式而设计的。这种“每DUT测试器”配置也允许每处理器测试更多的DUT并且允许并行测试更多的DUT。此外,利用能够在某些模式下生成它们自己的命令和测试图案的FPGA,也降低了将测试器处理器与其他硬件组件(包括FPGA器件、器件电源(DPS)和DUT)连接的总线212上的带宽要求。结果与在现有配置中相比,可同时地测试更多的DUT。
图3提供根据本发明的实施例的站点模块及其与系统控制器和DUT的互连的更详细示意框图。
参考图3,在一个实施例中ATE装置的站点模块可被机械地配置到测试器片340A-340N上,其中每个测试器片包括至少一个站点模块。在某些典型的实施例中,每个测试器片可包括两个站点模块和两个器件电源板。在其他实施例中,测试器片可以包括更多或更少的站点模块和/或电源板。例如,图3的测试器片340A包括站点模块310A和310B以及器件电源板332A和332B。然而,对可被配置到测试器片上的器件电源板或站点模块的数量没有限制。测试器片340通过网络交换机302连接到系统控制器301。系统控制器301和网络交换机302分别执行与图2中的元件201和202相同的功能。网络交换机302可用32位宽总线连接到站点模块中的每一个。
如上面所提及的,在一个实施例中,系统控制器301可以是计算机系统,例如,提供用于ATE的用户装载测试程序并针对连接到ATE 300的DUT运行测试的用户界面的个人计算机(PC)。通常系统控制器将运行Windows操作系统。Advantest触控笔是通常在器件测试期间使用的测试软件的一个实施例。它给用户提供用来配置并控制测试的图形用户界面。它还可包括用于控制测试流程、控制测试程序的状态、确定哪一个测试程序正在运行并且记录与测试流程有关的测试结果和其他数据的功能性。
可从站点模块310A-310B中的一个控制器件电源板332A-332B中的每一个。在测试器处理器304上运行的软件可被配置为将器件电源指派给特定站点模块。在一个实施例中,例如,站点模块310A-310B和器件电源332A-332B被配置为使用高速串行协议(例如,外围组件互连快速(PCIe)、串行AT附件(SATA)或串行附连SCSI(SAS))相互通信。
在一个实施例中,如图3中所示每个站点模块被配置有两个FPGA。图3的实施例中的FPGA316和318中的每一个均由测试器处理器304控制并执行与图2中的FPGA211A-211M类似的功能。测试器处理器304可使用诸如如通过图3中的系统总线330和332所指示的PCIe这样的8通道高速串行协议接口来与每个FPGA进行通信。在其他实施例中,测试器处理器304还能使用不同的高速串行协议(例如,串行AT附件(SATA)或串行SCSI(SAS))来与FPGA进行通信。
FPGA 316和318分别连接到存储器模块308和304,其中这些存储器模块执行与图2中的存储器块240A-240N类似的功能。这些存储器模块与FPGA器件和测试器处理器304耦合并且可由FPGA器件和测试器处理器304控制。
FPGA 316和318可分别通过总线352和354连接到负载板380上的DUT 372A-372M。负载板380是在对用于在线路352和354上与DUT进行通信的协议不可知的站点模块端处允许通用高速连接的物理线束。然而,在DUT端处,需要设计负载板以便具有特定于正在由DUT使用的协议的连接器。
在本发明的一个实施例中,DUT 372A-372M被装载在被放置在热室390内的负载板380上以供测试。DUT 372A-372M和负载板380从器件电源332A和332B得到电力。
可连接到每个FPGA的DUT的数量取决于FPGA中的收发器的数量以及由每个DUT需要的I/O通道的数量。在一个实施例中,FPGA 316和318可各自包括32个高速收发器并且总线352和354可各自是32位宽的,然而,可取决于应用实现更多的或更少的。如果每个DUT需要8个I/O通道,则例如,在这样的系统中仅4个DUT可连接到每个FPGA。
在一个实施例中,用于在测试器处理器304与DUT 372A-M之间进行通信的通信协议可有利地是可重新配置的。这样的实现方式中的通信协议引擎被直接地编程到测试器片上的一个或两个FPGA中。FPGA(例如,316或318)因此可被配置为在DUT支持的任何协议中与DUT进行通信。这有利地消除了对于每次需要测试具有不同协议的DUT时换出测试器的需要。在一个实施例中,协议可以是高速串行协议,包括但不限于SATA、SAS或PCIe等。可在没有任何种类的硬件交互的情况下通过测试器处理器从系统控制器经由简单的比特流下载新的或修改的协议并将它们直接地安装在FPGA上。另外,如果发布了新协议,则可容易地经由软件下载用该协议配置FPGA。
在本发明的一个实施例中,每个FPGA包括许多协议引擎模块,其中FPGA器件内的协议引擎模块中的每一个均可被配置有不同的通信协议。因此,可连接一个FPGA器件以测试多个DUT,每个DUT同时地支持不同的通信协议。可替代地,FPGA器件可连接到支持多种协议的单个DUT并且同时地测试在该器件上运行的所有模块。例如,如果FPGA被配置为运行PCIe协议和SATA协议两者,则可连接它以测试支持PCIe协议和SATA协议两者的DUT。可替代地,可连接它以测试两个不同的DUT,一个DUT支持PCIe协议而另一个DUT支持SATA协议。
图4是根据本发明的实施例的图2的实例化FPGA测试器块的详细示意框图。
参考图4,实例化FPGA测试器块410通过PCIe上游端口270连接到测试器处理器并且通过PCIe下游端口480连接到DUT。
实例化FPGA块410可包括协议引擎模块430、逻辑块模块450和硬件加速器块440。硬件加速器块440可进一步地包括存储器控制模块444、比较器模块446、分组构建器模块445和算法图案生成器(APG)模块443。
在一个实施例中,逻辑块模块450包括:解码逻辑,其用于对来自测试器处理器的命令进行解码;路由逻辑,其用于将来自测试器处理器304的所有传入命令和数据以及由FPGA器件生成的数据路由到适当的模块;以及仲裁逻辑,其用于在实例化FPGA测试器块410内的各种通信路径之间仲裁。
在一个实施例中,用于在测试器处理器与DUT之间通信的通信协议可有利地是可重新配置的。这样的实施例中的通信协议引擎被直接地编程到实例化FPGA测试器块410的协议引擎模块430中。实例化FPGA测试器块410因此可被配置为在DUT支持的任何协议中与DUT进行通信。例如,可将上面提及的预先验证的接口或IP核心编程到协议引擎模块430中。这确保根据给定接口标准的符合性和兼容性。进一步地,IP核心允许测试员获得灵活性,因为IP核心启用接口的基于软件的改变。实施例提供独立于硬件总线适配器插槽而测试多种类型的DUT的能力。利用这样的接口灵活性,可以将新接口装载到可编程芯片的IP核心中,从而消除对于硬件总线适配器插槽(关于图1讨论)的需要。
在一个实施例中,例如,对于存储装置/SSD/HDD,每个FPGA包括连接到SSD并且可编程以通过诸如SATA或SAS这样的存储专用接口来提供基于存储的图案的可配置IC。
在一个实施例中,FPGA可以是使用基于协议的通信来与DUT或模块对接的基于SSD模块的测试器。在一个实施例中,可配置接口核心可以被编程为提供任何标准化基于协议的通信接口。例如,在一个实施例中,在基于SSD模块的测试的情况下,接口核心可以被编程为提供诸如SATA、SAS等这样的标准化基于协议的通信接口。
因此,从电气角度来看,FPGA利用IP核心而不是硬件总线适配器插槽。通过对FPGA的可编程芯片资源的软件编程来启用,给定IP核心可以被容易地重新编程并用另一IP核心替换,而无需改变物理FPGA芯片或其他硬件组件。例如,如果给定基于FPGA的测试器当前支持SATA,则能够连接到SAS DUT所需要做的是让FPGA被重新编程以使用SAS IP核心而不是针对SATA配置的现有IP核心。
这有利地消除了对于硬件总线适配器卡的需要,并且不需要替换协议特定硬件来测试具有不同协议支持的DUT。在一个实施例中,协议可以是高速串行协议,包括但不限于SATA、SAS或PCIe等。可在没有任何种类的硬件交互的情况下通过测试器处理器从系统控制器经由简单的比特流下载新的或修改的协议并且将它们直接地安装在FPGA上。另外,如果发布了新协议,则可容易地经由软件下载用该协议配置FPGA。
在图4中,如果耦合到PCIe下游端口480的DUT是PCIe设备,则包含PCIe协议的实例化的比特文件可通过PCIe上游端口470来下载并安装在协议引擎模块430上的IP核心中。每个FPGA器件316或318可包括一个或多个实例化FPGA测试器块,并且因此,包括一个或多个协议引擎模块。任何一个FPGA器件可支持的协议引擎模块的数量仅受FPGA的大小和门计数限制。
在本发明的一个实施例中,FPGA器件内的协议引擎模块中的每一个均可被配置有不同的通信协议。因此,可连接一个FPGA器件以测试多个DUT,每个DUT同时地支持不同的通信协议。可替代地,FPGA器件可连接到支持多种协议的单个DUT并且同时地测试在该器件上运行的所有模块。例如,如果FPGA被配置为运行PCIe协议和SATA协议两者,则可连接它以测试支持PCIe协议和SATA协议两者的DUT。可替代地,可连接FPGA以测试两个不同的DUT,一个DUT支持PCIe协议而另一个DUT支持SATA协议。
与在测试器处理器上的软件中可以做的相比,图4的硬件加速器模块440可用于加快FPGA硬件上的某些功能。硬件加速器块440可供应在测试DUT时使用的初始测试图案数据。它还可包含用于生成用于控制DUT的测试的某些命令的功能性。为了生成测试图案数据,加速器块440使用算法图案生成器模块443。
硬件加速器块440可使用比较器模块446来将从DUT读取的数据与在在先周期中被写入DUT的数据相比较。比较器模块446包括用于将失配标记给测试器处理器304以识别不符合的器件的功能性。更具体地,比较器模块446可包括跟踪失配并将它们传送到测试器处理器304的错误计数器。
硬件加速器块440可连接到本地存储器模块420。存储器模块420执行与存储器块240A-240M中的任一个内的存储器模块类似的功能。存储器模块420可由硬件加速器块440和测试器处理器304两者控制。测试器处理器304可控制本地存储器模块420并将初始测试图案数据写入本地存储器模块420。
存储器模块420存储要写入DUT的测试图案数据并且硬件加速器块440访问它以将存储的数据与在写入周期之后从DUT读取的数据相比较。本地存储器模块420还可用于记录故障。存储器模块将存储具有DUT在测试期间经历的所有故障的记录的日志文件。在一个实施例中,加速器模块440具有不可由任何其他实例化FPGA测试器块访问的专用的本地存储器模块块420。在另一实施例中,本地存储器模块块420与另一实例化FPGA测试器块中的硬件加速器块共享。
硬件加速器块440还可包括存储器控制模块444。存储器控制模块444与存储器模块420交互并控制对存储器模块420的读取和写入访问。
最后,硬件加速器模块440包括分组构建器模块445。分组构建器模块由硬件加速器模块在某些模式下使用以构造要写出到DUT的包括报头/命令数据和测试图案数据的分组。
在某些实施例中,硬件加速器块440可由测试器处理器304编程以在硬件加速的若干模式中的一种下操作。
在旁路或标准模式下,硬件加速器被旁路并且命令和测试数据由测试器处理器304通过路径472直接地发送到DUT。
在硬件加速器图案生成器模式下,测试图案数据由APG模块443生成,然而命令由测试器处理器304生成。测试分组通过路径474被发送到DUT。这种模式也被称为协议独立数据加速(PIDA)模式。
在硬件加速器存储器模式下,在由测试器处理器304生成命令的同时从本地存储器模块420访问测试图案数据。测试图案数据通过路径476被发送到DUT。需要路由逻辑482以在路径472、474和476之间仲裁以控制数据到DUT的流动。
在硬件加速器分组构建器模式下,测试图案数据可以由APG模块443生成并且分组构建器模块445用于构造要写出到DUT的包括报头/命令数据和测试图案数据的分组。测试分组通过路径474被发送到DUT。这种模式也被称为全加速(FA)模式。
站点模块可包括通用连接器481。因为协议引擎模块430可被配置为运行任意数量的各种通信协议,所以在站点模块上需要通用高速连接器481。因此,如果需要改变在协议引擎模块430上实现的协议,则不需要在站点模块上进行伴随的物理修改。站点模块使用负载板380连接到DUT,所述负载板380可连接到站点模块端上的通用连接器,但是特定于在DUT端上实现的协议。支持不同的通信协议的DUT将需要不同的配置。因此,如果协议被重新编程以适应需要不同的配置的DUT,则需要关掉并替换负载板。
图10图示根据本发明的实施例的与器件接口板(DIB)1000对接的图元1010。与图3中所示的测试器片(例如,340A等)类似,图10的图元是一种类型的离散测试模块,其适合测试头并包括测试电路,所述测试电路根据测试计划对DUT执行测试。图元包括外壳1050,所有各种电子装置(例如,站点模块、电源等)都被收容在所述外壳1050中。DIB 1000可使用针对DUT 1020调整大小的定制连接器来与多个DUT 1020连接。DUT以物理方式对接并电子地对接到DIB 1000。图元还可包括外壳1070。DIB 1000(通过与图3中所示的负载板380类似的负载板(未示出)对接到图元1010的通用背板(未示出)。图元1010包含用于对DUT 1020执行测试计划的测试电路(与图3中所示的测试器片340A类似)。图元1010可独立于任何其他图元而操作并连接到控制服务器(与图3中所示的系统控制器301类似)。
应该注意的是,连接到任何给定测试器片(例如,340A-340N)或任何给定图元的DUT能够运行与连接到同一相应的测试器片或图元的一个或多个其他DUT不同的协议。例如,图元1010可连接到多个DUT 1020并用于测试多个DUT 1020,其中的每一个都可运行不同的协议,例如SATA、ATA、SCSI等。在一个实施例中,图元1010可以连接到SSD驱动器并用于主要测试SSD驱动器。
图11是根据本发明的实施例的自动测试设备(ATE)装置的示例性高级框图,其中主机控制器连接到多个图元并控制针对多个图元的测试操作。图11图示用于测试支持各种奇数扇区大小(或非标准扇区大小)和保护模式的SSD的整体集成系统或测试框架1105。
在一个实施例中,基于Windows的主机控制器1110可以通信地耦合到若干不同的图元,例如1130A和1130B。基于Windows的主机控制器1110能够向用户显示图形用户界面以用于显示信息并且以用于接受用户输入。通信背板1120耦合在主机控制器1110与一个或多个图元1130A和1130B之间。每个图元包括许多测试器片(例如,测试器片340A-340N)。在一个实施例中,每个图元可以包括经由驱动器1160耦合到许多FPGA测试器片1150的许多COM板1140(包括测试器处理器和关联的存储器)。(如先前所提及的,在一个实施例中,测试器处理器可以位于作为与包含FPGA的测试器片分开的板的COM板上)。在一个实施例中,测试器片经由器件接口板1165耦合到DUT(例如,SSD)。不同的DIB可用于支持不同形状因数和连接类型的SSD。在机架内可以有若干图元,其中每个图元耦合到主机控制器并由主机控制器控制。这允许同时地测试大量的DUT。
在一个实施例中,COM板1140可以包含根据本发明的嵌入式OS平台的实例。COM板1140可以控制图元内的测试器片1150。嵌入式OS平台被配置为在一侧与主机控制器1110进行通信并且在另一侧与被填充在图元内的各种FPGA测试器片1150进行通信。在一个实施例中,嵌入式OS平台可以是Linux OS的重度修改版本。可以有在系统1105内并由主机控制器1110控制的嵌入式OS平台的多达32个实例。各种OS平台提供用于与FPGA测试器板1150进行通信同样直接地与DUTS 1170进行通信的功能性。
图12A图示根据本发明的实施例的可由ATE平台支持的各种保护模式和奇数扇区大小。如先前所提及的,常规测试器系统仅包含用于测试具有标准扇区大小(例如,512BPS或4096BPS)的SSD的支持。然而,某些SSD供应商还支持非标准扇区大小,例如,尤其用于要在企业级系统中使用的驱动器的每扇区520个字节(BPS)或每扇区528个字节(BPS)。同时,其他SSD供应商在其驱动器中启用每扇区需要附加字节的元数据(例如,8个字节的保护信息)的各种保护模式(以得到更高的弹性、可靠性和完整性)。当前,在市场上没有支持以高速度测试具有保护模式和非标准扇区大小的SSD的测试器系统。
本发明的实施例支持对可能启用了各种保护模式的驱动器的测试。例如,某些SSD每扇区可以具有额外8个字节的元数据(例如,512+8、4096+8)。应该注意的是,在图12A中的表中提供的值仅仅是示例性的。数据和元数据字段可以有附加变化。例如,对于某些保护模式来说可以有超过8个字节的元数据。
图12B图示针对由各种SSD支持的保护模式在元数据中编码的信息。如上面所提及的,某些保护模式将支持多达8个字节的元数据或保护信息。保护信息通常将包括2个字节的保护循环冗余校验(CRC)1254、用于应用标签1256的2个字节和用于参考标签1258的4个字节。在数据完整性字段(DIF)规范中详述了可能被支持的各种不同的保护模式。
本发明的实施例还支持具有非标准扇区大小的驱动器的测试。例如,如图12A的表中所示,由本发明的实施例支持的奇数扇区大小可以是520+0(每扇区520个字节,同时元数据为0字节)、4104BPS、528BPS和4224BPS。这里应该注意的是,用于非标准扇区大小的值仅仅是示例性的。取决于供应商,可以有通过各种驱动器支持的许多不同的奇数扇区。
本发明的实施例有利地允许保护模式的所有组合和可变扇区大小的所有组合以便在所有各种硬件加速模式下灵活地支持各种DUT。例如,在PIDA模式下,命令由COM板上的测试器处理器生成,但是测试图案数据由FPGA生成。在这种情况下,嵌入式OS允许由测试器处理器生成支持各种保护模式和奇数扇区大小的命令。此外,FPGA可针对保护模式和各种奇数扇区大小比常规测试器系统更快地生成数据。类似地,在全加速模式下,FPGA以比常规测试器系统快得多的速率生成命令和数据两者以支持各种保护模式和奇数扇区大小。例如,用于确定保护信息的各个字段(如图12B中所示)的核算和计算在FPGA中与在测试器处理器正在针对所有连接的SSD执行计算的情况下相比被更快地执行。类似地,FPGA可比测试器处理器更快地针对非标准扇区大小(例如,520、4104)生成数据。
在提供可变扇区大小支持时,嵌入式OS允许使用基于“C”的测试器脚本语言,其可针对正在测试的各种SSD更改扇区大小。因此,可将任何扇区大小(例如,从512到4k)应用于跨越各种DUT 1170进行测试。这种扇区大小配置可源自主机计算机并被应用于所有图元,随后应用于任何或所有DUT 1170。关于保护模式支持,保护模式支持的任何组合可跨越DUT1170被应用并且可源自主机计算机1110。如上面所提及的保护模式影响通过软件或固件来生成元数据的方式。特别地,保护模式配置的应用更改遵循或者以其它方式与数据分组相关联的元数据字节的组成。可从主机控制器1110跨越图元1130A、1130B应用保护模式的任何组合以及扇区大小的任何组合。换句话说,系统的固件允许将硬件加速应用于保护模式的所有组合以及奇数扇区大小的任何组合。应用硬件加速允许SSD被更快测试,因为FPGA串行化数据并以比测试器处理器它本身高得多的速度将它发送到DUT,例如,在PIDA和FA模式下,FPGA生成所有数据并将它发送到DUT。进一步地,固件还允许使用FPGA来以高速度计算用于保护模式的保护信息。附加地,因为FPGA被定位为与DUT极为接近,所以数据被更快地发送到DUT并从DUT接收。
通过比较,常规测试器系统没有能够测试支持保护模式和奇数扇区大小的驱动器的机制。此外,常规测试器系统不能够使用固件加速来以高速度测试支持保护模式和奇数扇区大小的驱动器。常规测试器系统仅具有测试针对标准扇区大小(例如,512BPS)格式化的驱动器的能力。
在一个实施例中,测试器框架1105还支持在无需交换设备的情况下以高速度针对SSD支持的各种扇区大小和保护模式来测试SSD。例如,图中的DUT 1170可以支持若干不同的扇区大小和保护模式。DUT可以例如支持512+0、512+8(8个字节的保护信息元数据),并且还支持528的奇数扇区大小。测试器框架1105在各种扇区大小和保护模式之间循环并使用硬件加速模式来针对所有可能的配置测试DUT。例如,测试器框架可以首先针对512BPS测试DUT。测试器框架可以被配置为然后重新格式化驱动器并针对512+8BPS测试它们,其中用于生成保护信息并用于生成用于测试的数据的计算由FPGA在硬件加速模式中的一种(例如PIDA或FA)下执行。随后,测试器框架可以再次重新格式化驱动器并在FPGA级别下(在加速模式中的一种下)生成数据以针对528的非标准扇区大小测试SSD。以这种方式,本发明的实施例可在无需断开或者替换设备的情况下以高速度针对所有支持的扇区大小和保护模式测试所有连接的DUT。
如上面所提及的,常规测试器系统也确实没有任何能力来测试针对非标准扇区大小格式化的驱动器。本发明的实施例在有和没有硬件加速的情况下允许针对非标准扇区大小(例如,520+0、4104+0等)格式化的驱动器。换句话说,测试器处理器304中的嵌入式OS例如能够生成用于在标准(或旁路)模式下测试针对奇数扇区格式化的驱动器的命令和测试图案。换句话说,本发明的实施例可绕过所有FPGA测试针对奇数扇区格式化的驱动器。此外,本发明的实施例还可在三种硬件加速模式(例如,硬件加速器图案生成器或PIDA模式、硬件加速器存储器模式和全加速模式)中的任一种下测试针对奇数扇区大小格式化的驱动器。
本发明的实施例在标准模式且在三种硬件加速模式下都需要能够执行大量计算以针对非标准扇区大小(其不是2的幂)生成可重复的测试数据。为测试而生成的数据必须是可重复的,使得可按照与它被读取的次序不同的次序将它写入到扇区。换句话说,如果数据不是以与它被写入的次序相同的次序读取的,则它是可验证的仍然很重要。因此,写入成奇数扇区大小的测试图案需要是可重复的。
本发明的实施例被配置为执行计算以针对任意扇区大小生成可重复的随机或伪随机数据。测试器处理器(用于标准模式)和FPGA(用于硬件加速模式)都将被编程有使用扇区号作为种子来生成随机数的算法。换句话说,生成的随机数据将是扇区地址的函数。使用扇区号作为种子,算法将生成任何长度(例如,奇数扇区大小的长度)的可再现序列。当需要读回数据时,可再次重新生成它(使用扇区地址作为种子),使得可将它与从DUT读回的数据相比较以便确保DUT的完整性。
图5描绘根据本发明的实施例的测试DUT的示例性过程的流程图500。然而,本发明不限于通过流程图500提供的描述。相反,根据本文提供的教导对于相关领域的技术人员而言将显而易见的是,其他功能流程在本发明的范围和精神内。
将继续参考上面参考图2、图3和图4描述的示例性实施例来描述流程图500,但是方法不限于那些实施例。
现在参考图5,在块502处用户启动设置并将测试程序装载到系统控制器中。启动设置可包括从可用协议的库中选取一种或多种协议以被配置到ATE装置200中的FPGA器件上。这些协议被作为文件缓存在系统控制器301上并且可作为比特文件被下载到FPGA上。用户可从可通过图形用户界面获得的发行版的列表中选择协议。在作为选项提供协议之前,它必须被构建、测试并集成到发行版中。发布的FPGA配置尤其包含有关所支持的协议和可用于连接DUT的收发器的数量的定义。然后可通过系统或主机控制器上的图形用户界面来给用户提供发行版的库。
在块502处,用户还通过图形用户界面将测试程序装载到系统控制器301中。测试程序定义需要在DUT上运行的测试的所有参数。在块504处,系统控制器将指令发送到站点模块310A上的测试器处理器。此步骤包括要编程到FPGA上的协议引擎用的比特文件的传输。系统控制器可包括用于将用于特定测试程序的指令路由到连接至通过测试程序控制的DUT的测试器处理器的路由逻辑。
在块506处,在从系统控制器接收到指令之后,测试器处理器304可确定用于在连接到站点模块310A的DUT上运行测试的硬件加速模式。
在一个实施例中,测试器处理器304可在四种不同的硬件加速模式中的一种下操作。每种功能模式被配置为分配用于在测试器处理器304与FPGA 316和318之间生成命令和测试数据的功能性。在一个实施例中,测试器处理器可被编程为在旁路或标准模式下操作,其中用于测试DUT的所有命令和测试数据都由测试器处理器304生成并且FPGA 316和318被旁路。
在另一实施例中,测试器处理器304可被编程为在硬件加速器图案生成器模式(或PIDA模式)下操作,其中要在DUT的测试中使用的伪随机或随机数据由FPGA 316和318产生并且比较也由FPGA完成,但是测试器处理器处理命令生成。
在又一个实施例中,测试器处理器304可被编程为在硬件加速器存储器模式下操作,其中测试图案由测试器处理器在初始设置期间预先写入到连接至每个FPGA 316和318的存储器模块上。FPGA在这种模式下访问专用存储器设备以检索要写入到DUT的测试数据,从DUT读取测试数据并将所读取的数据与在存储器设备上写入的数据相比较。在这种模式下,FPGA中的每一个响应于来自DUT的读取和写入操作而控制存储器设备。然而,测试器处理器在这种模式下仍然负责命令生成。
在再一个实施例中,测试器处理器304可被编程为在硬件加速器分组构建器模式(或全加速模式)下操作,其中数据和基本读取/写入/比较命令由FPGA 316和318生成。
在块508处,测试器处理器分支出到将据此运行测试的模式。
应该注意的是,可按上面讨论的四种功能模式(即,旁路模式、硬件加速器图案生成器模式、硬件加速器存储器模式和硬件加速器分组构建器模式)中的任一种而对图10的FPGA 1035进行编程。在一个实施例中,测试器卡1000经由连接器1010连接到的计算机或系统控制器将执行测试器处理器304的功能。
图6描绘根据本发明的实施例的在旁路模式下测试DUT的示例性过程的流程图600。然而,本发明不限于通过流程图600提供的描述。相反,根据本文提供的教导对于相关领域的技术人员而言将显而易见的是,其他功能流程在本发明的范围和精神内。
将继续参考上面参考图2、图3和图4描述的示例性实施例来描述流程图600,但是方法不限于那些实施例。
现在参考图6,在旁路模式下,在块602处测试器处理器304为要路由到DUT的测试分组生成命令和分组报头。测试器过程在块604处还为要路由到DUT的分组生成测试图案数据。在这种模式下因为测试器处理器生成它自己的命令和测试数据,所以没有硬件加速。
在块606处,测试器处理器与实例化FPGA块410和下游端口480进行通信以将包含测试图案数据的测试分组路由到DUT。旁路模式是直通模式,其中,在一些有限的异常情况下,命令和数据通过实例化FPGA块410透明地直接地传递到DUT。DUT由测试器处理器304在旁路模式下直接地控制。虽然实例化FPGA块可包括用于将分组路由直到下游端口的逻辑,但是它不参与命令生成(也称为“发信号通知”)或数据生成。
在块608处,测试器处理器304与下游端口480进行通信以启动从DUT对先前在块606处被写入到DUT的数据的读取操作。在块610处,测试器处理器将从DUT读取的数据与在块606处写入的数据相比较。如果在块606处写入的数据与在块610处读取的数据之间不存在任何失配,则在块612处由测试器处理器304向系统控制器301发送标志。系统控制器然后将失配标记给用户。
在旁路模式下,测试器处理器304在它可支持的DUT的数量上受约束,因为其处理能力可从为DUT生成所有命令和测试数据被快速地最大化。另外,可由站点模块310A支持的DUT的数量进一步受到系统总线330和332上的带宽约束限制。在旁路模式下,由于由测试器处理器304发送到DUT的大量数据,总线330和332的带宽被相对快速地耗尽。因此,提供具有更多硬件加速的其他模式,其中FPGA器件具有更多功能性来生成测试数据和命令。
图7描绘根据本发明的实施例的在硬件加速器图案生成器模式下测试DUT的示例性过程的流程图700。然而,本发明不限于通过流程图700提供的描述。相反,根据本文提供的教导对于相关领域的技术人员而言将显而易见的是,其他功能流程在本发明的范围和精神内。
将继续参考上面参考图2、图3和图4描述的示例性实施例来描述流程图700,但是方法不限于那些实施例。
现在参考图7,示出了硬件加速的方法,其中FPGA器件共享数据生成功能性以便减轻测试器处理器304上的处理负载以及系统总线330和332上的数据负载。在硬件加速器图案生成器模式的块702处,测试器处理器304为要路由到DUT的分组生成命令和分组报头。测试器过程保留用于在这种模式下发信号通知的功能性。在块704处硬件加速器块440内的算法图案生成器模块443生成要写入到DUT的伪随机测试数据。逻辑块模块450包括用于路由所生成的数据并将它添加到要写出到DUT的分组的功能性。
该模式被认为是“硬件加速的”,因为与通过测试器处理器在软件中相比可通过FPGA器件的算法图案生成器在硬件中更快地完成用于生成数据的功能性。另外“每DUT测试器”架构允许DUT直接地连接到它自己的专用的实例化FPGA测试器块,从而如图4中所示为DUT生成测试图案数据,这优于测试器处理器304通过系统总线330和332将所有命令和数据供应给DUT的旁路模式而在带宽上产生显著增加。在FPGA器件在数据生成功能性方面共享的情况下,系统总线330和332被释放,如此可以比在旁路模式下更快的速率将命令传送到FPGA。进一步地,对于诸如需要测试的多次迭代的固态驱动器这样的器件,具有通过实例化FPGA测试器块的专用数据路径优于测试器处理器的资源被多个DUT共享的数据路径大大加速测试。它还允许DUT以接近满性能运行,因为它不必等待测试器处理器向它分配处理资源。
在一个实施例中,算法图案生成器模块443可被编程为及时生成数据。APG模块可生成增量图案、伪随机图案或某种类型的恒定图案。APG模块还可具有某些门控能力以生成带条纹、对角条纹或交替图案的测试图案。在一个实施例中,APG模块可使用有限状态机、计数器或线性反馈移位寄存器等来生成测试图案。
在一些实施例中,可给APG模块提供起始种子作为初始值以生成更复杂的随机图案。如上面所提及的,例如,使用扇区号作为种子,APG模块将生成任何长度(例如,奇数扇区大小的长度)的可再现序列。当需要读回数据时,可以再次重新生成它(使用扇区地址作为种子),使得可将它与从DUT读取的数据相比较以便确保DUT的完整性。
在步骤706处,实例化FPGA块410与下游端口480进行通信以根据由测试器处理器生成的命令和分组报头将测试图案数据路由到DUT。在步骤708处,实例化FPGA块410与下游端口进行通信以根据由测试器处理器生成的命令从DUT读取测试图案数据。硬件加速器块440的比较器模块446然后用于在块710处将所读取的数据与写入到DUT的数据相比较。APG模块443被设计为使得比较器模块可按用于生成伪随机数据的相同参数而对它执行读取操作并且接收在块704处被写入到DUT的相同数据。APG模块443及时重新生成被写入到DUT的数据并将它传送到比较器模块446。在块712处任何失配由存储器控制模块444记录在存储器模块420上或者由实例化FPGA块传送到测试器处理器。测试器处理器在接收到错误日志之后随后在块714处将失配标记给系统控制器。
图8描绘根据本发明的实施例的在硬件加速器存储器模式下测试DUT的示例性过程的流程图800。然而,本发明不限于通过流程图800提供的描述。相反,根据本文提供的教导对于相关领域的技术人员而言将显而易见的是,其他功能流程在本发明的范围和精神内。
将继续参考上面参考图2、图3和图4描述的示例性实施例来描述流程图800,但是方法不限于那些实施例。
现在参考图8,示出了硬件加速的方法,其中FPGA器件共享数据生成功能性以便减轻测试器处理器304上的处理负载以及系统总线330和332上的数据负载。与硬件加速器图案生成器模式相比较,在硬件加速器存储器模式下,实例化FPGA测试器块访问本地存储器模块420以得到要写入到DUT的数据,而不使用APG模块443。
在硬件加速器图案存储器模式的块800处,测试器处理器304为要路由到DUT的分组生成命令和分组报头。测试器过程保留用于在这种模式下发信号通知的功能性。在块802处,测试器处理器用要写出到DUT的测试图案来初始化实例化FPGA测试器块410的本地存储器模块420。硬件加速器存储器模式的一个优点是与由APG模块443在硬件加速器图案生成器模式下生成的伪随机数据相反,由测试器处理器生成的测试图案可以构成真实随机数据。测试器处理器和实例化FPGA测试器块都具有对本地存储器模块420的读取和写入访问。然而,测试器处理器仅在初始设置期间访问存储器模块420。在加速器模式期间,测试器处理器不访问存储器模块,因为测试器处理器304上的附加处理负载以及系统总线330和332上的附加数据负载大大使加速度慢下来。
在块804处,实例化FPGA测试器块从存储器模块420读取要路由到DUT的测试图案数据。因为存储器模块420专用于FPGA测试器块或者与仅一个其他FPGA测试器块共享,所以存在位于两者之间产生快速读取操作的高带宽连接。逻辑块模块450包括用于路由所生成的数据并将它添加到要写出到DUT的分组的功能性。
在已将数据添加到分组之后,在块806处,实例化FPGA测试器块与下游端口480进行通信以根据由测试器处理器生成的命令和分组报头将测试图案数据路由到DUT。在步骤808处,实例化FPGA块410与下游端口进行通信以根据由测试器处理器生成的命令从DUT读取测试图案数据。硬件加速器块440的比较器模块446然后用于在块810处将所读取的数据与写入到DUT的数据相比较。在块812处任何失配被记录在存储器模块420上或者由实例化FPGA块传送到测试器处理器。测试器处理器在接收到错误日志之后随后在块814处将失配标记给系统控制器。
图9描绘根据本发明的实施例的在硬件加速器分组构建器模式下测试DUT的示例性过程的流程图900。然而,本发明不限于通过流程图900提供的描述。相反,根据本文提供的教导对于相关领域的技术人员而言将显而易见的是,其他功能流程在本发明的范围和精神内。
将继续参考上面参考图2、图3和图4描述的示例性实施例来描述流程图900,但是方法不限于那些实施例。
现在参考图9,示出了硬件加速的方法,其中FPGA器件共享数据和命令生成功能性以便减轻测试器处理器304上的处理负载以及系统总线330和332上的数据负载。这种模式也被称为“全加速”(FA)模式,因为用于运行器件测试的大多数控制被转移到FPGA器件并且测试器处理器304保留用于仅除读取和写入及比较以外的命令的控制。
在硬件加速器分组构建器模式的块902处,测试器处理器304生成要传送到实例化FPGA块410以生成它自己的分组的命令。测试器处理器在这种模式下保留用于仅非读取/写入/比较命令的功能性。用于诸如读取、写入和比较操作这样的命令的功能性被输送到实例化FPGA块。在块904处,实例化FPGA测试器块的分组构建器模块445构建要传送到DUT的具有报头和命令信息的分组。这些分组包括至少命令类型、器件的块地址和测试图案数据。
在块906处硬件加速器块440内的算法图案生成器模块443生成要写入到DUT的伪随机测试数据。逻辑块模块450包括用于路由由实例化FPGA块生成的数据和命令并将它们合并到要写出到DUT的分组中的功能性。
在块908处,实例化FPGA测试器块与下游端口480进行通信以将测试图案数据路由到DUT。在步骤910处,实例化FPGA块410与下游端口进行通信以从DUT读取测试图案数据。硬件加速器块440的比较器模块446然后用于在块912处将所读取的数据与写入到DUT的数据相比较。在块916处任何失配被记录在存储器模块420上或者由实例化FPGA块传送到测试器处理器。测试器处理器在接收到错误日志之后随后在916处将失配标记给系统控制器。
图13描绘根据本发明的实施例的测试支持非标准扇区大小和保护模式的DUT的示例性过程的流程图1300。然而,本发明不限于通过流程图1300提供的描述。相反,根据本文提供的教导对于相关领域的技术人员而言将显而易见的是,其他功能流程在本发明的范围和精神内。
在块1310处,主机控制器耦合到测试器处理器和FPGA。主机控制器可以是如上所述的基于Windows的操作系统。进一步地,测试器处理器可以正在运行Linux或Linux OS的修改版本。FPGA通信地耦合到测试器处理器并且可用于根据上面讨论的各种加速模式中的一种生成用于测试多个DUT的命令和数据。
在块1312处,加速模式被选择用于生成用于测试多个连接的DUT的命令和数据。加速模式可以是测试器过程生成所有命令和数据并且FPGA被旁路的标准模式或旁路模式。可替代地,加速模式可以是如上面所讨论的PIDA、FA或硬件加速器存储器模式。
在块1314处,确定要针对所连接的多个DUT中的每一个测试的许多扇区大小和保护模式。例如,每个SSD可以具有它支持的多个奇数扇区大小并且需要针对这些扇区大小中的每个进行测试。
在块1316处,根据所选择的加速模式生成用于针对所支持的扇区大小和保护模式测试多个DUT的命令和数据。
出于说明的目的,已参考具体实施例描述了前面的描述。然而,以上说明性讨论不旨在为详尽的或者将本发明限于所公开的精确形式。许多修改和变化鉴于以上教导是可能的。实施例被选取和描述以便最好地说明本发明的原理及其实际应用,从而使得本领域的其他技术人员能够最好地利用本发明以及具有如可以适于设想的特定用途的各种修改的各种实施例。
Claims (23)
1.一种自动化测试设备(ATE)装置,所述ATE装置包括:
包括系统控制器的计算机系统,其中,所述系统控制器通信地耦合到测试器处理器和FPGA,其中,所述系统控制器可用于将指令发送到所述测试器处理器,并且其中,所述测试器处理器可用于从所述指令生成用于协调被测器件(DUT)的测试的命令和数据,其中,所述DUT支持多个非标准扇区大小和多种保护模式;
所述FPGA通信地耦合到所述测试器处理器,其中,所述FPGA包括至少一个硬件加速器电路,所述至少一个硬件加速器电路可用于在内部生成用于测试所述DUT的命令和数据,并且其中,所述至少一个硬件加速器电路能够执行运算以计算与所述多种保护模式相关联的保护信息并且生成被调整大小以适合所述多个非标准扇区大小中的每个非标准扇区大小的可重复的测试图案;以及
其中,所述测试器处理器被配置为在多种功能模式中的一种功能模式下操作,其中,每种功能模式被配置为以不同的方式在所述测试器处理器与所述FPGA之间分配用于生成命令和用于生成数据的功能性。
2.根据权利要求1所述的装置,其中,所述系统控制器可用于提供图形用户界面(GUI),所述GUI可用于允许用户选择所述多种功能模式中的一种。
3.根据权利要求1所述的装置,其中,所述系统控制器可用于将所述测试器处理器和所述FPGA配置为针对所述多种保护模式中的每种保护模式和所述多个非标准扇区大小中的每个非标准扇区大小测试所述DUT。
4.根据权利要求1所述的装置,其中,所述功能模式包括四种功能模式,所述四种功能模式包括旁路模式、硬件加速器图案生成器模式、硬件加速器存储器模式和硬件加速器分组构建器模式。
5.根据权利要求4所述的装置,其中,在所述旁路模式下,所述测试器处理器被配置为生成用于协调所述DUT的测试的所有命令和数据,并且其中,所述数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
6.根据权利要求5所述的装置,其中,在所述硬件加速器图案生成器模式下:所述测试器处理器被配置为生成用于协调所述DUT的测试的所有命令;并且所述FPGA的所述至少一个硬件加速器电路生成测试图案数据,其中,所述测试图案数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
7.根据权利要求5所述的装置,其中,在所述硬件加速器存储器模式下:所述测试器处理器被配置为生成用于协调所述DUT的测试的所有命令;并且所述FPGA的所述至少一个硬件加速器电路执行选自包括以下步骤的组的步骤:从所述存储器设备读取所述测试图案数据,将所述测试图案数据写入所述DUT并且比较从所述DUT读取的数据,其中,存储在所述存储器设备中的所述测试图案数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
8.根据权利要求5所述的装置,其中,在所述硬件加速器分组构建器模式下,所述FPGA的所述至少一个硬件加速器电路被配置为生成用于协调所述DUT的测试的测试数据和命令数据两者,其中,所述测试图案数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
9.根据权利要求1所述的装置,其中,所述系统控制器可用于执行Windows操作系统。
10.根据权利要求1所述的装置,其中,所述测试器处理器被配置为执行Linux操作系统。
11.根据权利要求1所述的装置,其中,所述FPGA包括IP核心,其中,所述IP核心可用于被编程以仿真协议,其中,所述协议选自由SATA或SAS构成的组。
12.根据权利要求11所述的装置,其中,所述IP核心可用于被重新编程以仿真不同的协议。
13.根据权利要求1所述的装置,其中,所述DUT是固态器件(SSD)。
14.根据权利要求13所述的装置,其中,所述多个非标准扇区大小选自由以下项构成的组:520+0、4104+0、528+0和4224+0。
15.根据权利要求13所述的装置,其中,所述多种保护模式选自由以下项构成的组:512+8和4096+8。
16.一种用于使用自动化测试设备(ATE)进行测试的方法,所述方法包括:
从计算机系统的系统控制器向测试器处理器发送指令,其中,所述系统控制器通信地耦合到所述测试器处理器和FPGA,其中,所述测试器处理器可用于从所述指令生成用于协调多个DUT的测试的命令和数据,其中,所述多个DUT中的每个DUT均支持多个非标准扇区大小和多种保护模式;
使用在FPGA内编程的硬件加速器电路生成用于多个DUT的测试的命令和数据,其中,所述FPGA通信地耦合到所述测试器处理器,并且其中,所述硬件加速器电路可用于测试所述多个DUT,并且其中,所述硬件加速器电路能够执行运算以计算与所述多种保护模式相关联的保护信息并且能够生成被调整大小以适合所述多个非标准扇区大小中的每个非标准扇区大小的可重复的测试图案;以及
在多种功能模式中的一种功能模式下操作所述测试器处理器,其中,每种功能模式被配置为以不同的方式在所述测试器处理器与所述FPGA之间分配用于生成命令和用于生成数据的功能性。
17.根据权利要求16所述的方法,其中,所述功能模式包括四种功能模式,所述四种功能模式包括旁路模式、硬件加速器图案生成器模式、硬件加速器存储器模式和硬件加速器分组构建器模式。
18.根据权利要求17所述的方法,其中,所述旁路模式还包括使用所述测试器处理器生成用于协调所述多个DUT的测试的所有命令和数据,并且其中,由所述测试器处理器在旁路模式下生成的所述数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
19.根据权利要求17所述的方法,其中,所述硬件加速器图案生成器模式包括:使用所述测试器处理器生成用于协调所述多个DUT的测试的所有命令;以及使用所述硬件加速器电路执行选自包括以下步骤的组的步骤:生成所有测试图案数据、写入所述测试图案数据以及比较从所述多个DUT读取的所述测试图案数据,其中,所述测试图案数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
20.根据权利要求17所述的方法,其中,所述硬件加速器存储器模式包括:使用所述测试器处理器生成用于协调所述多个DUT的测试的所有命令;以及使用所述硬件加速器电路执行选自包括以下步骤的组的步骤:从所述存储器设备读取测试图案数据、将所述测试图案数据写入所述多个DUT以及比较从所述多个DUT读取的数据,其中,所述存储器设备中的所述测试图案数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
21.根据权利要求17所述的方法,其中,所述硬件加速器分组构建器模式包括:使用所述硬件加速器电路生成用于协调所述多个DUT的测试的所有命令和数据,其中,所述测试图案数据包括与所述多种保护模式相关联的所述保护信息以及适合所述多个非标准扇区大小中的每个非标准扇区大小的扇区数据。
22.一种测试器,包括:
系统控制器,用于控制用于测试多个DUT的测试程序,其中,所述多个DUT中的每个DUT均支持多个非标准扇区大小和多种保护模式;
包括多个测试器片的图元,其中,每个测试器片包括:测试器处理器,其被耦合以与所述系统控制器进行通信以根据所述测试程序从所述系统控制器接收指令和数据;以及至少一个可编程实例化测试器块,其被耦合到所述测试器处理器,其中,所述至少一个可编程实例化测试器块可用于生成用于应用于所述多个DUT的测试数据,还可用于接收并比较由所述多个DUT生成的测试数据,并且又可用于被编程以按照与所述多个DUT兼容的通信或存储协议与所述多个DUT进行通信,并且其中,所述至少一个可编程实例化测试器块包括硬件加速器电路,所述硬件加速器电路可用于执行运算以计算与所述多种保护模式相关联的保护信息并且生成被调整大小以适合所述多个非标准扇区大小中的每个非标准扇区大小的可重复的测试图案;
本地存储器,所述本地存储器耦合到所述可编程实例化测试器块以在所述本地存储器中存储测试数据;以及
器件接口板,所述器件接口板用于将所述多个测试器片耦合到所述多个DUT;
其中,每个可编程实例化测试器块可在多种功能模式中的一种功能模式下操作,其中,每种功能模式被配置为以不同的方式在所述测试器处理器与所述可编程实例化测试器块之间分配用于生成命令和用于生成数据的功能性。
23.根据权利要求22所述的测试器,其中,所述可编程实例化测试器块被实现在现场可编程门阵列(FPGA)器件内。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/227,389 | 2018-12-20 | ||
US16/227,389 US10976361B2 (en) | 2018-12-20 | 2018-12-20 | Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111426935A CN111426935A (zh) | 2020-07-17 |
CN111426935B true CN111426935B (zh) | 2022-07-08 |
Family
ID=71097537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910919801.0A Active CN111426935B (zh) | 2018-12-20 | 2019-09-26 | 自动化测试设备装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10976361B2 (zh) |
JP (1) | JP2020101519A (zh) |
KR (1) | KR102146198B1 (zh) |
CN (1) | CN111426935B (zh) |
TW (1) | TWI714229B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210117298A1 (en) * | 2013-02-21 | 2021-04-22 | Advantest Corporation | Use of host bus adapter to provide protocol flexibility in automated test equipment |
US20210116494A1 (en) * | 2013-02-21 | 2021-04-22 | Advantest Corporation | Software directed firmware acceleration |
WO2020063483A1 (en) * | 2018-09-28 | 2020-04-02 | Changxin Memory Technologies, Inc. | Chip test method, apparatus, device, and system |
US10884847B1 (en) * | 2019-08-20 | 2021-01-05 | Advantest Corporation | Fast parallel CRC determination to support SSD testing |
CN111880078A (zh) * | 2020-07-20 | 2020-11-03 | 上海龙旗科技股份有限公司 | 一种自动化指令测试的方法及设备 |
TWI742865B (zh) * | 2020-09-28 | 2021-10-11 | 蔚華科技股份有限公司 | 具數據處理功能的自動化測試機及其資訊處理方法 |
US11867720B2 (en) * | 2020-11-16 | 2024-01-09 | Advantest Corporation | Test system configuration adapter systems and methods |
CN112858892A (zh) * | 2021-01-15 | 2021-05-28 | 胜达克半导体科技(上海)有限公司 | 一种基于fpga在数字测试通道上实现定制模块的方法 |
CN112965458B (zh) * | 2021-02-01 | 2022-04-22 | 杭州和利时自动化有限公司 | 控制系统的控制逻辑仿真调试方法、设备及可读存储介质 |
TWI775307B (zh) * | 2021-02-04 | 2022-08-21 | 新唐科技股份有限公司 | 半導體裝置及其操作方法 |
CN112527690B (zh) * | 2021-02-10 | 2021-05-18 | 武汉精鸿电子技术有限公司 | 一种针对半导体存储器老化测试的离线调试方法及装置 |
TWI773301B (zh) * | 2021-05-07 | 2022-08-01 | 華邦電子股份有限公司 | 半導體晶圓與多晶片的並行測試方法 |
CN113189479B (zh) * | 2021-06-28 | 2021-10-22 | 杭州加速科技有限公司 | 一种提升ate芯片测试速度的方法、装置及测试系统 |
US11828793B2 (en) | 2021-08-26 | 2023-11-28 | Western Digital Technologies, Inc. | Testing apparatus for temperature testing of electronic devices |
US11698408B2 (en) | 2021-08-26 | 2023-07-11 | Western Digital Technologies, Inc. | Testing apparatus for data storage devices |
CN114546510B (zh) * | 2022-04-25 | 2022-07-08 | 芯天下技术股份有限公司 | 一种挂起功能的验证方法、装置、电子设备及存储介质 |
TWI813505B (zh) * | 2022-11-15 | 2023-08-21 | 瑞昱半導體股份有限公司 | 使用複數種儀器以進行複數種電路測試的方法以及建立可用於複數種儀器之通用格式檔案的方法 |
CN116913361A (zh) * | 2023-06-08 | 2023-10-20 | 深圳市晶存科技有限公司 | 硬盘自动测试方法、系统及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976146B1 (en) * | 2002-05-21 | 2005-12-13 | Network Appliance, Inc. | System and method for emulating block appended checksums on storage devices by sector stealing |
CN1750172A (zh) * | 2004-09-08 | 2006-03-22 | 三星电子株式会社 | 具有测试数据缓冲器的非易失性存储设备及其测试方法 |
US7873885B1 (en) * | 2004-01-20 | 2011-01-18 | Super Talent Electronics, Inc. | SSD test systems and methods |
CN101982816A (zh) * | 2009-06-08 | 2011-03-02 | Lsi公司 | 用于保护高速缓存数据完整性的方法和装置 |
TW201214456A (en) * | 2010-09-27 | 2012-04-01 | Jmicron Technology Corp | Solid-state disk with automated testing capability and automated testing method of solid-state disk |
CN102449610A (zh) * | 2009-03-27 | 2012-05-09 | 三德动力有限公司 | 存储系统逻辑块的地址释放管理和数据固化 |
CN103038751A (zh) * | 2010-05-28 | 2013-04-10 | 爱德万测试公司 | 具有可变并行性和固件可升级性的灵活存储接口测试器 |
CN103109275A (zh) * | 2010-09-07 | 2013-05-15 | 爱德万测试(新加坡)私人有限公司 | 在半导体测试环境中使用虚拟仪器的系统、方法和设备 |
CN105008943A (zh) * | 2013-02-28 | 2015-10-28 | 爱德万测试公司 | 对在fpga块内分组创建加速的测试仪 |
CN105144114A (zh) * | 2013-02-21 | 2015-12-09 | 爱德万测试公司 | Fpga块具有混合协议引擎的测试器 |
CN105229481A (zh) * | 2013-02-21 | 2016-01-06 | 爱德万测试公司 | 具有存储器上的加速以及用于fpga块内自动模式生成的加速的测试器 |
CN105378494A (zh) * | 2013-02-21 | 2016-03-02 | 爱德万测试公司 | 具有用于独立测试多个dut的多个基于fpga的硬件加速器块的测试体系架构 |
CN105373493A (zh) * | 2014-08-15 | 2016-03-02 | 阿尔特拉公司 | 具有多个扇区的可编程电路 |
CN109001581A (zh) * | 2017-04-28 | 2018-12-14 | 爱德万测试公司 | 支持使用不同应用的多个用户的测试系统 |
Family Cites Families (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5497378A (en) | 1993-11-02 | 1996-03-05 | International Business Machines Corporation | System and method for testing a circuit network having elements testable by different boundary scan standards |
US5805571A (en) | 1996-03-19 | 1998-09-08 | Zwan; Bryan J. | Dynamic communication line analyzer apparatus and method |
US6429029B1 (en) | 1997-01-15 | 2002-08-06 | Formfactor, Inc. | Concurrent design and subsequent partitioning of product and test die |
US6551844B1 (en) | 1997-01-15 | 2003-04-22 | Formfactor, Inc. | Test assembly including a test die for testing a semiconductor product die |
US6026230A (en) | 1997-05-02 | 2000-02-15 | Axis Systems, Inc. | Memory simulation system and method |
US6069873A (en) | 1997-10-01 | 2000-05-30 | U S West, Inc. | Closed-loop automated testing of system equipment and management |
US7152027B2 (en) | 1998-02-17 | 2006-12-19 | National Instruments Corporation | Reconfigurable test system |
AU2801899A (en) | 1998-03-04 | 1999-09-20 | Exxon Chemical Patents Inc. | Noncoordinating anions for olefin polymerization |
US6357023B1 (en) | 1998-04-08 | 2002-03-12 | Kingston Technology Co. | Connector assembly for testing memory modules from the solder-side of a PC motherboard with forced hot air |
US6681351B1 (en) | 1999-10-12 | 2004-01-20 | Teradyne, Inc. | Easy to program automatic test equipment |
US6757845B2 (en) | 2000-11-30 | 2004-06-29 | Bitmicro Networks, Inc. | Method and apparatus for testing a storage device |
US6766475B2 (en) | 2001-01-04 | 2004-07-20 | International Business Machines Corporation | Method and apparatus for exercising an unknown program with a graphical user interface |
US7047174B2 (en) | 2001-05-02 | 2006-05-16 | Freescale Semiconductor, Inc. | Method for producing test patterns for testing an integrated circuit |
US20020184326A1 (en) | 2001-05-31 | 2002-12-05 | Andrew Thomson | System and method for providing network interfaces to instruments without networking capabilities |
EP1283422A1 (en) | 2001-08-07 | 2003-02-12 | Lucent Technologies Inc. | Testbench for the validation of a device under test |
US7370256B2 (en) | 2001-09-28 | 2008-05-06 | Inapac Technology, Inc. | Integrated circuit testing module including data compression |
JP2003156543A (ja) | 2001-11-20 | 2003-05-30 | Advantest Corp | 半導体試験装置 |
US7010782B2 (en) | 2002-04-04 | 2006-03-07 | Sapphire Infotech, Inc. | Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands |
US7099438B2 (en) | 2002-06-14 | 2006-08-29 | Ixia | Multi-protocol, multi-interface communications device testing system |
US7222261B2 (en) | 2002-06-19 | 2007-05-22 | Teradyne, Inc. | Automatic test equipment for design-for-test (DFT) and built-in-self-test circuitry |
US6714035B2 (en) | 2002-06-28 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | System and method for measuring fault coverage in an integrated circuit |
US20040168111A1 (en) | 2002-09-11 | 2004-08-26 | Arnold Ross J. | Graphic user interface for test equipment |
US6975956B2 (en) | 2002-09-19 | 2005-12-13 | Rambus Inc. | Multiple sweep point testing of circuit devices |
US6904375B1 (en) | 2003-01-22 | 2005-06-07 | Xilinx, Inc. | Method and circuits for testing high speed devices using low speed ATE testers |
US7437261B2 (en) | 2003-02-14 | 2008-10-14 | Advantest Corporation | Method and apparatus for testing integrated circuits |
US7209851B2 (en) | 2003-02-14 | 2007-04-24 | Advantest America R&D Center, Inc. | Method and structure to develop a test program for semiconductor integrated circuits |
US7184917B2 (en) | 2003-02-14 | 2007-02-27 | Advantest America R&D Center, Inc. | Method and system for controlling interchangeable components in a modular test system |
US20050159050A1 (en) | 2003-06-05 | 2005-07-21 | Hiroyuki Hama | Device interface apparatus |
US7181360B1 (en) | 2004-01-30 | 2007-02-20 | Spirent Communications | Methods and systems for generating test plans for communication devices |
WO2005085888A1 (en) | 2004-03-05 | 2005-09-15 | Vfs Technologies Limited | Testing of embedded systems |
US8161402B1 (en) | 2004-03-24 | 2012-04-17 | The Mathworks, Inc. | Methods and apparatus for graphical test and measurement |
KR100647370B1 (ko) | 2004-04-20 | 2006-11-23 | 주식회사 하이닉스반도체 | 멀티 프로토콜 시리얼 인터페이스 시스템 |
US8581610B2 (en) | 2004-04-21 | 2013-11-12 | Charles A Miller | Method of designing an application specific probe card test system |
US7269805B1 (en) | 2004-04-30 | 2007-09-11 | Xilinx, Inc. | Testing of an integrated circuit having an embedded processor |
US7444454B2 (en) | 2004-05-11 | 2008-10-28 | L-3 Communications Integrated Systems L.P. | Systems and methods for interconnection of multiple FPGA devices |
US7430486B2 (en) | 2004-05-22 | 2008-09-30 | Advantest America R&D Center, Inc. | Datalog support in a modular test system |
US7353489B2 (en) | 2004-05-28 | 2008-04-01 | Synopsys, Inc. | Determining hardware parameters specified when configurable IP is synthesized |
US20050273685A1 (en) | 2004-06-08 | 2005-12-08 | Sanjay Sachdev | Automated and customizable generation of efficient test programs for multiple electrical test equipment platforms |
US7363188B1 (en) | 2004-12-03 | 2008-04-22 | Litepoint Corp. | Apparatus and method for operating automated test equipment (ATE) |
US20060132167A1 (en) | 2004-12-22 | 2006-06-22 | Jian Chen | Contactless wafer level burn-in |
US7245134B2 (en) | 2005-01-31 | 2007-07-17 | Formfactor, Inc. | Probe card assembly including a programmable device to selectively route signals from channels of a test system controller to probes |
US20060195744A1 (en) | 2005-02-11 | 2006-08-31 | Broadcom Corporation | Method and apparatus to simulate automatic test equipment |
US7543200B2 (en) | 2005-02-17 | 2009-06-02 | Advantest Corporation | Method and system for scheduling tests in a parallel test system |
US7343558B2 (en) | 2005-03-31 | 2008-03-11 | Teradyne, Inc. | Configurable automatic-test-equipment system |
DE112006002644T5 (de) | 2005-10-07 | 2008-09-18 | Agere Systems, Inc. | Mediendatenverarbeitung unter Verwendung von charakteristischen Elementen für Streaming- und Steuerprozesse |
DE102006007993B4 (de) | 2006-02-21 | 2007-11-08 | Infineon Technologies Ag | Testhilfseinrichtung in einem Speicherbaustein |
KR101387085B1 (ko) | 2006-03-07 | 2014-04-18 | 스캐니메트릭스 인크. | 전자 구성요소에 문의하기 위한 방법 및 장치 |
US20070220380A1 (en) | 2006-03-20 | 2007-09-20 | Credence Systems Corporation | Message system for logical synchronization of multiple tester chips |
US7643239B2 (en) * | 2006-04-26 | 2010-01-05 | Seagate Technology Llc | Controller selection to reduce written-in run-out |
US7590903B2 (en) | 2006-05-15 | 2009-09-15 | Verigy (Singapore) Pte. Ltd. | Re-configurable architecture for automated test equipment |
ATE492885T1 (de) | 2006-05-18 | 2011-01-15 | Dialog Semiconductor Gmbh | Testvorrichtung für speicher |
KR100778459B1 (ko) | 2006-05-26 | 2007-11-21 | (주) 컴파스 시스템 | 복수의 전자장치를 프로그램, 소거 및 검증하는 장치 |
US7580807B2 (en) | 2006-06-15 | 2009-08-25 | Texas Instruments Incorporated | Test protocol manager for massive multi-site test |
WO2008001543A1 (fr) | 2006-06-27 | 2008-01-03 | Advantest Corporation | Appareil de test de semi-conducteur et procédé de test de mémoire semi-conductrice |
KR100736679B1 (ko) | 2006-08-09 | 2007-07-06 | 주식회사 유니테스트 | 반도체 테스트를 위한 패턴 생성 장치 및 패턴 생성 방법 |
US7788562B2 (en) | 2006-11-29 | 2010-08-31 | Advantest Corporation | Pattern controlled, full speed ATE compare capability for deterministic and non-deterministic IC data |
WO2008083265A1 (en) | 2006-12-29 | 2008-07-10 | Teradyne, Inc. | Identifying periodic jitter in a signal |
US7528623B2 (en) | 2007-02-02 | 2009-05-05 | Teradyne, Inc. | Distributing data among test boards to determine test parameters |
JP5080501B2 (ja) | 2007-02-16 | 2012-11-21 | 株式会社アドバンテスト | 試験装置および試験方法 |
KR100825811B1 (ko) | 2007-02-27 | 2008-04-29 | 삼성전자주식회사 | 고속 검사가 가능한 반도체 소자 자동검사장치 |
US7707468B2 (en) | 2007-03-22 | 2010-04-27 | Verigy (Singapore) Pte. Ltd | System and method for electronic testing of multiple memory devices |
DE102008010290A1 (de) | 2007-06-27 | 2009-02-19 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren zum Testen eines Mobilfunkgeräts |
US20090100304A1 (en) | 2007-10-12 | 2009-04-16 | Ping Li | Hardware and Software Co-test Method for FPGA |
KR100958113B1 (ko) | 2007-10-24 | 2010-05-18 | 주식회사 아이티엔티 | 반도체 테스트용 fpga 구성장치 및 이를 이용한 dut 테스트방법 |
US20090113245A1 (en) | 2007-10-30 | 2009-04-30 | Teradyne, Inc. | Protocol aware digital channel apparatus |
US20090112548A1 (en) | 2007-10-30 | 2009-04-30 | Conner George W | A method for testing in a reconfigurable tester |
US7895485B2 (en) | 2008-01-02 | 2011-02-22 | Micron Technology, Inc. | System and method for testing a packetized memory device |
US7928755B2 (en) | 2008-02-21 | 2011-04-19 | Verigy (Singapore) Pte. Ltd. | Methods and apparatus that selectively use or bypass a remote pin electronics block to test at least one device under test |
US8358147B2 (en) | 2008-03-05 | 2013-01-22 | Stmicroelectronics S.R.L. | Testing integrated circuits |
TW200947450A (en) | 2008-05-09 | 2009-11-16 | A Data Technology Co Ltd | Storage system capable of data recovery and method thereof |
JP5462453B2 (ja) | 2008-06-19 | 2014-04-02 | 富士通セミコンダクター株式会社 | 半導体装置 |
US8386209B2 (en) | 2008-06-20 | 2013-02-26 | University Of Limerick | Testing system |
WO2010004557A1 (en) | 2008-07-07 | 2010-01-14 | Quali Systems Ltd | System and method for automatic hardware and software sequencing of computer-aided design (cad) functionality testing |
JP2010055210A (ja) * | 2008-08-26 | 2010-03-11 | Hitachi Ltd | ストレージシステム及びデータ保証方法 |
KR101503812B1 (ko) | 2008-08-29 | 2015-03-19 | 엘지이노텍 주식회사 | 마그네틱을 이용한 입출력 일체형 표시 장치 및 그 방법 |
EP2342950B1 (en) | 2008-09-23 | 2014-08-27 | Aegis Industries, Inc. | Stun device testing apparatus and methods |
JP2010102791A (ja) | 2008-10-24 | 2010-05-06 | Nec Electronics Corp | 半導体装置およびそのテスト方法 |
US8838406B2 (en) | 2008-11-11 | 2014-09-16 | Advantest (Singapore) Pte Ltd | Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment |
US8175095B2 (en) | 2008-12-19 | 2012-05-08 | L3 Communications Integrated Systems, L.P. | Systems and methods for sending data packets between multiple FPGA devices |
KR101028594B1 (ko) | 2008-12-23 | 2011-04-13 | (주) 컴파스 시스템 | 프로그래머 장치 |
CN201434049Y (zh) | 2009-01-15 | 2010-03-31 | 香港多耐福有限公司 | 绳夹 |
US7884631B2 (en) | 2009-02-25 | 2011-02-08 | Kingston Technology Corp. | Parking structure memory-module tester that moves test motherboards along a highway for remote loading/unloading |
US8195419B2 (en) | 2009-03-13 | 2012-06-05 | Teradyne, Inc. | General purpose protocol engine |
KR101111482B1 (ko) | 2009-05-15 | 2012-02-21 | (주)아테코 | 모듈 번-인 테스트 시스템 |
US8170828B2 (en) | 2009-06-05 | 2012-05-01 | Apple Inc. | Test method using memory programmed with tests and protocol to communicate between device under test and tester |
US7933220B2 (en) | 2009-09-21 | 2011-04-26 | Spirent Communications, Inc. | Methods and apparatuses for generating network test packets and parts of network test packets |
US9164859B2 (en) | 2009-09-25 | 2015-10-20 | Qualcomm Incorporated | Computing device for enabling concurrent testing |
US8127187B2 (en) | 2009-09-30 | 2012-02-28 | Integrated Device Technology, Inc. | Method and apparatus of ATE IC scan test using FPGA-based system |
US8269520B2 (en) | 2009-10-08 | 2012-09-18 | Teradyne, Inc. | Using pattern generators to control flow of data to and from a semiconductor device under test |
US8731493B2 (en) | 2009-10-30 | 2014-05-20 | Apple Inc. | Wireless local area network test system with forced transmit rates during protocol-based testing |
US8545248B2 (en) | 2010-01-07 | 2013-10-01 | Life Technologies Corporation | System to control fluid flow based on a leak detected by a sensor |
JP2011220924A (ja) | 2010-04-13 | 2011-11-04 | Advantest Corp | 試験装置および接続装置 |
US8289790B2 (en) | 2010-05-13 | 2012-10-16 | Micron Technology, Inc. | Memory repair systems and methods for a memory having redundant memory |
US8660424B2 (en) | 2010-08-26 | 2014-02-25 | Cisco Technology, Inc. | Scalable high speed gigabit active bundle link and tester |
KR20120032253A (ko) | 2010-09-28 | 2012-04-05 | 삼성전자주식회사 | 데이터 저장 장치들을 시험하는 방법 및 이를 위한 젠더 |
JP2012104174A (ja) | 2010-11-08 | 2012-05-31 | Advantest Corp | 試験装置 |
WO2012070076A1 (en) | 2010-11-26 | 2012-05-31 | Microtest S.R.L. | An equipment for testing electronic devices in general |
US8694276B2 (en) | 2011-01-20 | 2014-04-08 | Texas Instruments Incorporated | Built-in self-test methods, circuits and apparatus for concurrent test of RF modules with a dynamically configurable test structure |
EP2689259A4 (en) | 2011-03-21 | 2014-12-17 | Univ Windsor | DEVICE FOR AUTOMATED TESTING AND VALIDATION OF ELECTRONIC COMPONENTS |
US9176839B2 (en) | 2011-05-20 | 2015-11-03 | Whizchip Design Technologies Pvt. Ltd. | Bus transaction monitoring and debugging system using FPGA |
JP5717567B2 (ja) | 2011-07-14 | 2015-05-13 | 日本モレックス合同会社 | ケーブルアッセンブリ、コネクタ及び半導体試験装置 |
US8639981B2 (en) | 2011-08-29 | 2014-01-28 | Apple Inc. | Flexible SoC design verification environment |
US8788886B2 (en) | 2011-08-31 | 2014-07-22 | Apple Inc. | Verification of SoC scan dump and memory dump operations |
US9430345B2 (en) | 2011-09-23 | 2016-08-30 | Roche Diabetes Care, Inc. | Command interface for communication test framework |
CN103093829A (zh) | 2011-10-27 | 2013-05-08 | 迈实电子(上海)有限公司 | 存储器测试系统及存储器测试方法 |
US10803970B2 (en) | 2011-11-14 | 2020-10-13 | Seagate Technology Llc | Solid-state disk manufacturing self test |
JP2013113665A (ja) * | 2011-11-28 | 2013-06-10 | Advantest Corp | 試験パターン生成装置、試験プログラム生成装置、生成方法、プログラム、および試験装置 |
US9230046B2 (en) | 2012-03-30 | 2016-01-05 | International Business Machines Corporation | Generating clock signals for a cycle accurate, cycle reproducible FPGA based hardware accelerator |
US8850267B2 (en) | 2012-08-02 | 2014-09-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Middleware for multiprocessor software testing |
US8842480B2 (en) | 2012-08-08 | 2014-09-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Automated control of opening and closing of synchronous dynamic random access memory rows |
KR101365428B1 (ko) | 2012-08-13 | 2014-02-20 | 주식회사 유니테스트 | 솔리드 스테이트 드라이브 테스터에서 고속 메모리 테스트장치 |
US9059736B2 (en) * | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US9116785B2 (en) | 2013-01-22 | 2015-08-25 | Teradyne, Inc. | Embedded tester |
US20140236527A1 (en) * | 2013-02-21 | 2014-08-21 | Advantest Corporation | Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems |
US20140237292A1 (en) | 2013-02-21 | 2014-08-21 | Advantest Corporation | Gui implementations on central controller computer system for supporting protocol independent device testing |
US9310427B2 (en) | 2013-07-24 | 2016-04-12 | Advantest Corporation | High speed tester communication interface between test slice and trays |
US9152520B2 (en) | 2013-09-26 | 2015-10-06 | Texas Instruments Incorporated | Programmable interface-based validation and debug |
KR101561854B1 (ko) | 2013-09-30 | 2015-10-22 | 주식회사 유니테스트 | Fpga 기반의 비실장형 스토리지 테스트 장치 |
CN105092992B (zh) | 2014-04-15 | 2020-01-07 | 爱德万测试公司 | 用于在ate上进行向量控制的测试的方法和设备 |
KR102377362B1 (ko) | 2015-07-08 | 2022-03-23 | 삼성전자주식회사 | 보조 테스트 장치, 그것을 포함하는 테스트 보드 및 그것의 테스트 방법 |
US10247773B2 (en) | 2016-07-01 | 2019-04-02 | Intel Corporation | Systems and methods for wireless device testing |
CN106569481B (zh) | 2016-11-03 | 2019-03-26 | 航天科工防御技术研究试验中心 | 一种fpga重构装置和方法 |
CN106597184A (zh) | 2016-12-30 | 2017-04-26 | 陕西海泰电子有限责任公司 | 一种基于硬件扫描技术的自动化测试系统及测试方法 |
TW201837490A (zh) | 2017-01-31 | 2018-10-16 | 美商奧克塔佛系統有限責任公司 | 用於測試在封裝裝置中之系統之自動測試設備方法 |
-
2018
- 2018-12-20 US US16/227,389 patent/US10976361B2/en active Active
-
2019
- 2019-08-22 TW TW108130073A patent/TWI714229B/zh active
- 2019-09-09 JP JP2019163662A patent/JP2020101519A/ja active Pending
- 2019-09-26 CN CN201910919801.0A patent/CN111426935B/zh active Active
- 2019-09-30 KR KR1020190120676A patent/KR102146198B1/ko active IP Right Grant
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976146B1 (en) * | 2002-05-21 | 2005-12-13 | Network Appliance, Inc. | System and method for emulating block appended checksums on storage devices by sector stealing |
US7873885B1 (en) * | 2004-01-20 | 2011-01-18 | Super Talent Electronics, Inc. | SSD test systems and methods |
CN1750172A (zh) * | 2004-09-08 | 2006-03-22 | 三星电子株式会社 | 具有测试数据缓冲器的非易失性存储设备及其测试方法 |
CN102449610A (zh) * | 2009-03-27 | 2012-05-09 | 三德动力有限公司 | 存储系统逻辑块的地址释放管理和数据固化 |
CN101982816A (zh) * | 2009-06-08 | 2011-03-02 | Lsi公司 | 用于保护高速缓存数据完整性的方法和装置 |
CN103038751A (zh) * | 2010-05-28 | 2013-04-10 | 爱德万测试公司 | 具有可变并行性和固件可升级性的灵活存储接口测试器 |
CN103109275A (zh) * | 2010-09-07 | 2013-05-15 | 爱德万测试(新加坡)私人有限公司 | 在半导体测试环境中使用虚拟仪器的系统、方法和设备 |
TW201214456A (en) * | 2010-09-27 | 2012-04-01 | Jmicron Technology Corp | Solid-state disk with automated testing capability and automated testing method of solid-state disk |
CN105144114A (zh) * | 2013-02-21 | 2015-12-09 | 爱德万测试公司 | Fpga块具有混合协议引擎的测试器 |
CN105229481A (zh) * | 2013-02-21 | 2016-01-06 | 爱德万测试公司 | 具有存储器上的加速以及用于fpga块内自动模式生成的加速的测试器 |
CN105378494A (zh) * | 2013-02-21 | 2016-03-02 | 爱德万测试公司 | 具有用于独立测试多个dut的多个基于fpga的硬件加速器块的测试体系架构 |
CN105008943A (zh) * | 2013-02-28 | 2015-10-28 | 爱德万测试公司 | 对在fpga块内分组创建加速的测试仪 |
CN105373493A (zh) * | 2014-08-15 | 2016-03-02 | 阿尔特拉公司 | 具有多个扇区的可编程电路 |
CN109001581A (zh) * | 2017-04-28 | 2018-12-14 | 爱德万测试公司 | 支持使用不同应用的多个用户的测试系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202032144A (zh) | 2020-09-01 |
CN111426935A (zh) | 2020-07-17 |
US10976361B2 (en) | 2021-04-13 |
KR20200077387A (ko) | 2020-06-30 |
JP2020101519A (ja) | 2020-07-02 |
KR102146198B1 (ko) | 2020-08-19 |
US20200200819A1 (en) | 2020-06-25 |
TWI714229B (zh) | 2020-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111426935B (zh) | 自动化测试设备装置 | |
US10288681B2 (en) | Test architecture with a small form factor test board for rapid prototyping | |
US10162007B2 (en) | Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently | |
US10161993B2 (en) | Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block | |
US9952276B2 (en) | Tester with mixed protocol engine in a FPGA block | |
US9810729B2 (en) | Tester with acceleration for packet building within a FPGA block | |
US20210117298A1 (en) | Use of host bus adapter to provide protocol flexibility in automated test equipment | |
US20210116494A1 (en) | Software directed firmware acceleration | |
TWI810523B (zh) | 自動測試裝備系統及設備、以及用於測試受測裝置的方法 | |
US11430536B2 (en) | Software-focused solution for arbitrary all-data odd sector size support | |
TWI779458B (zh) | 用於任意全資料奇特扇區大小支援之軟體為主解決方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |