计算机存储设备和串行io端口的多点测试的制作方法

文档序号:6359307阅读:209来源:国知局
专利名称:计算机存储设备和串行io端口的多点测试的制作方法
技术领域
本发明的多个实施例总体上涉及计算机存储器以及串行输入/输出( ο)领域,并且更具体地涉及对计算机存储设备和串行IO端口进行多点测试(mult1-site testing)的方法和装置。
背景技术
随着技术的进步允许在每个装置内安装越来越小的部件,计算机存储设备具有越来越密集的体系结构。因此,对于测试而言每个存储设备已经变得越来越复杂,因为待测试的存储器已经变得更加复杂。在串行端口存储设备内,可能存在数目不断增加的存储器子部件以及串行IO端口需要进行测试。有效地对此类装置进行测试对制造商们提出了很大挑战,他们通常被迫为存储器单元而不是测 试电路腾出更多的硅面积并且被迫在板测试中付出很大努力和代价。在这种环境中,制造商们在降低成本的压力下制造出更多数目的存储器板或存储设备。由于这个原因,制造商们面临着关于如何有效率地对多个装置进行测试的问题,同时还面临着精确地确定所测试的存储设备中哪一个实际上包含瑕疵以及存在哪种类型的瑕疵的问题。

发明内容
提供一种对计算机存储设备以及串行IO端口进行多点测试的方法和装置。在本发明的第一方面中,一种测试计算机存储设备的方法包括耦合多个存储设备,每个存储设备具有串化器输出端以及解串器输入端,其中第一存储设备的串化器输出端与存储设备中的一或多个的解串器输入端相耦合。该方法进一步包括使用每个存储设备的测试生成器来产生测试信号模式、在每个存储设备处将该测试信号模式串行化、并且传送串行化的测试模式用于测试多个存储设备,其中存储设备的测试包括第一测试方式以及第二测试方式。在本发明的第二方面中,一种存储设备包括用于数据存储的一或多个存储体;输出端,该输出端包括用于将数据串行化的串化器;以及输入端,该输入端包括将数据解串行化的解串器。该装置进一步包括测试生成器,该测试生成器生成用于测试存储器的一或多个测试模式,以及错误检测器,该错误检测器用于检测所接收的数据中的错误。该设备进一步包括与存储体相耦合的切换和端口逻辑以及一或多个切换组件,该一或多个切换组件建立用于该存储设备的一或多个测试路径,测试路径包括用于第一测试方式的第一测试路径以及用于第二测试方式的第二测试路径。在本发明的第三方面中,一种存储器测试装置包括输入端,该输入端接收来自一或多个存储设备的数据,每个存储设备具有串化器输出端以及解串器输入端,其中第一存储设备的串化器输出端与一或多个其它存储设备的解串器输入端相耦合。该装置进一步包括错误校验器,该错误校验器对来自一或多个存储设备的数据进行校验,该错误校验器具有用于测试多个存储设备的第一方面的第一测试方式以及用于测试多个存储设备的第二方面的第二方式。


本发明的多个实施例是通过示例而非限制来展示在附图中的,其中类似的附图标记指代相似的要素。图1是在主机与SPDRAM存储设备之间的接口的实施例的示意图;图2是SPDRAM存储器体系结构的实施例的示意图;图3是命令集的示意图,该命令集用于包括SPDRAM测试结构的设备的实施例;图4是由检测系统的实施例所检测的生产过程缺陷的示意图;图5是SPDRAM存储器以及包含内建测试结构的主机设备的实施例的示意图;图6是SPDRAM接口测试体系结构的实施例的示意图;图7是SPDRAM测试生成器的实施例的示意图;图8是SPDRAM命令生成器的实施例的示意图,该SPDRAM命令生成器使用串行IO测试生成器;图9是测试数据命令扩展器的实施例的示意图;图10示出错误校验系统的实施例;图11是测试结构的实施例的示意图,该测试结构用于测试在差分串行IO接线的故障;图12是在差分接线进行开路故障检测的实施例的示意图;图13是用于检测设备以及在检测设备之间的时钟偏移容限的多点测试环境的实施例的示意图;图14示出设备的自循环返回(self-loop back)测试方式的实施例;图15示出在SPDRAM存储器中的自循环返回方式的实施例;图16是设备间测试路径的实施例的示意图;图17是在多点测试体系结构的实施例中的自循环返回连接的示意图;图18是多点测试体系结构的示意图;图19是藉由自循环返回测试路径对设备进行检测的多点测试配置的实施例的示意图;图20是设备间测试路径的实施例的示意图;图21是流程图,示出对计算机存储器板或其它存储设备进行多点测试的过程的实施例;以及图22是可以用于实施例中的计算设备的实施例的示意图。详细说明本发明的实施例总体上涉及对计算机存储设备以及串行IO端口进行多点测试的方法和装置。在一些实施例中,可以藉由多个存储设备或存储器板的互连对计算机存储设备进行测试。在一些实施例中,所测试的存储器包括动态随机存取存储器(DRAM)。在一些实施例中,存储设备是串行端口 DRAM (SPDRAM)设备,这种串行端口 DRAM设备具有经由高速串行IO访问的存储器。在一些实施例中,STORAM测试结构可以经由相同的串行IO链路对高速串行IO链路(第一测试方式)和存储器接口逻辑(第二测试方式)二者进行测试。串行端口存储器是允许经由高速串行IO端口访问存储器的新的存储器访问技术。串行端口存储器技术在物理(PHY)层借助了串化器-解串器(SERDES)的电路创新。高速串行IO接口在主机与存储器之间提供高带宽通信信道。并行数据可以在传输之前被串行化并且串行化的数据在接收器端可以被解串行化为并行数据。串行链路的优点是此类链路可以被用来减少引脚数目,同时通过消除迹线匹配和拥塞来简化设备的布局问题。因为每个端口是独立的,所以不需要维持端口之间的相位关系。在一些实施例中,对多个存储设备同时进行测试,这可以被称为多点测试。同时测试可以允许降低测试成本,并且降低存储器和IC部件的测试成本在降低总体部件成本中是关键性要素。因此,能够对多个部件进行并行测试的多点测试技术可以被用来帮助实现针对性的测试成本目标。然而,多点测试的经常被提及的问题(尤其是当多个设备互连用于测试时)是难以收集会在其它设备上扩散的设备错误信息,以及当检测到错误时难以确定正被测试的多个单元中的哪一单元或哪些单元是有缺陷的单元。在一些实施例中,对设备错误信息的收集(称为错误定位)是通过在测试过程中进行交互的受测试设备之间传送错误信息来获取的。测试器硬件(如中继器)的优化对于降低测试成本和测试复杂度是重要的。在一些实施例中,串行IO的多点测试包括设备之间(如在进行交互的串化器和解串器之间)的时钟偏移容限,可以利用它来提供高效率且有效的测试。图1是在主机与SPDRAM存储设备之间的接口的实施例的示意图。在所示的系统中,存储设备115是DRAM (动态随机存取存储器),并且具体地是串行端口 DRAM (SPDRAM)0STORAM是一种允许通过高速串行IO端口访问存储器的DRAM存储器访问技术。STORAM可以与主机110 (如片上系统(SOC))相耦合。在图1中,在系统级描绘了在存储器115与主机110之间的SPDRAM高速串行接口 105的实施例。在一些实施例中,STORAM高速串行接口在物理(PHY)层利用串化器-解串器(SERDES)的电路创新。在这个示意图中,主机物理层140包括发送器130,该发送器包含串化器120,并且存储器物理层145包括接收器135,该接收器包含解串器125。在一些实施例中,STORAM高速串行接口 105在主机PHY层140和存储器PHY层145之间提供高带宽通信信道。在操作中,并行数据在传输之前被串行化并且该串行化的数据在接收器端解串行化为并行数据。因此,串化器-解串器对在存储器115和主机/SOC 110之间形成了通信信道。图2是SPDRAM存储器体系结构的实施例的示意图。在这个示意图中,STORAM存储器200是对四个端口 230中的每一个具有独立存储体访问的四信道串行存储器。端口 230可以包括4线差分发送和接收链路,用于以每路例如达到5Gbps (吉位每秒)发送命令或写数据并且同时接收读数据。在一些实施例中,为存储器提供内建测试结构,其中该测试结构与对存储器和接口的测试相结合来使用。如图所示,存储器200对每个端口进一步包括物理层215,物理层215通过端口逻辑210连接到多个DRAM核芯体(DRAM core bank)205上,核芯体在此被示出为核芯体O至7。还示出用来产生参考时钟信号235的锁相环电路220或其它此类电路。图3是命令集的示意图,该命令集用于包括SPDRAM测试结构的设备的实施例。命令300包括经常被用来测试DRAM存储器的存储器命令,包括预充电、激活存储体(ABNK)、激活(ACT)、以及写和读命令。在这个示意图中,如果被编码用于传输,则每个命令的长度是17位或20位,其中这些命令包括同步命令和存储器命令。然而,多个实施例并不限于任何特定的命令集或命令结构。图4是由检测系统的实施例检测的生产过程缺陷的示意图。SI3DRAM设备400 (在此被示为包括耦合到存储器430的第一发送器或接收器410以及第二发送器或接收器420)的制造缺陷可能存在于接线或管芯(die)上。某些差分接线缺陷可能难以被检测到,因为在存在缺陷的情况下可以成功地实现数据通信。例如,多条差分线路之一上的开路缺陷可以是容许的并且可以通过其余导线进行通信。在一些实施例中,可以使用相同的内建自测试(BIST)硬件来测试管芯上(尤其是存储器上)的缺陷,这种内建自测试硬件在此被用来测试SPDRAM存储器接口以及串行IO接口。在一些实施例中,STORAM测试结构可以通过相同的串行IO链路对高速串行IO链路(第一测试方式)和存储器接口逻辑(第二测试方式)二者进行测试。图5是SPDRAM存储器以及包含内建测试结构的主机设备的实施例的示意图。图5示出用于存储器PHY层芯片和主机PHY层的SPDRAM测试结构的实施例,该测试结构例如可以被嵌入片上系统(SOC)中。在一些实施例中,相同的测试结构被用于测试串行IO链路和存储器接口逻辑。在一些实施例中,如以上所说明的,串行IO的测试与存储器接口逻辑的测试是分离的。存储器接口的测试可能要求测试模式服从用于受测试的存储设备的SPDRAM协议。然而,串行IO接口的测试可以独立于SPDRAM协议。测试的分离可以是有利的,因为全面的串行IO接口测试要求的测试模式可能比SPDRAM协议所允许的更多。串行IO测试的分离可以被用于去除测试模式的合规约束并且在串行IO测试过程中允许应用更多样化的测试模式。丰富的多样化测试模式集合在实现高测试覆盖中是重要因素。为了本申请的目的,因为串行IO测试模式可以是基于17位或20位的,所以在此使用20位来展示基本概念。在图5中,针对串行IO和存储器接口的内建自测试(BIST)硬件分别包括串行IO测试结构和存储器接口测试结构。串行IO测试结构和存储器接口测试结构可以被统称为SroRAM测试结构。如图所示,测试系统包括由串行IO接口 530连结的SPDRAM存储器505和主机或其它设备540。STORAM存储器包括存储器接口测试结构510、串行IO测试结构515、以及通过串行IO接口 530链接到PHY芯的串化器520和解串器525。主机包括存储器接口测试结构550和串行IO测试结构545、以及通过串行IO接口 530链接到存储器505上的串化器560和解串器555。图6是SPDRAM接口测试体系结构的实施例的示意图。在这个示意图中,STORAM存储器或主机600包括SPDRAM接口测试结构605。在这个示意图中,测试结构605包括SPDRAM测试生成器610和四个错误校验器620,其中每个错误校验器620在图6中被标记为EC。每个错误校验器620与端口 625之一相耦合,其中每个端口包括用于通过接口进行通信的串化器630和解串器635。在示例性实现方式中,测试生成器610包括:SH)RAM命令生成器612,该SPDRAM命令生成器可操作用于生成20位的测试模式;以及命令扩展器614,该命令扩展器用于将该20位的测试模式扩展为80位的测试模式,并且通过测试属性嵌入(TPE)单元615将每个20位模式直接地或者通过存储器接口分发到所有四个端口上。每个端口中的错误校验器620能够独立校验在解串器处观察到的测试模式或测试数据的传入流中的错误。这种错误信息被提供给测试生成器,使得它可以被传送。图7是SPDRAM测试生成器的实施例的示意图。在这个示意图中,测试生成器700由SPDRAM命令生成器705、命令扩展器715、以及四个测试属性嵌入(TPE)单元720组成。包含串行IO测试生成器710的命令生成器705可以为存储器、存储器接口、以及串行IO接口产生测试。命令扩展器715被配置为接受一个命令并且产生四个命令,每个命令被递送给每个串行10。根据addrCmd和errCmd命令的状态,命令扩展器715可以产生合适的命令用于访问存储器并且为所有4个串行端口传送错误信息。可以独立地使每个TPE单元能够对在每个信道处的测试模式进行调制,以便以可管理的硬件开销将多样化的测试模式提供给所有的PHY信道。每个TPE单元的硬件开销可以显著地小于由芯片上的所有PHY信道共享的SPDRAM测试生成器的硬件开销。图8是使用串行IO测试生成器的SPDRAM命令生成器的实施例的示意图。在这个示意图中,STORAM命令生成器的实施例包括命令生成控制器820、解码器825、以及数据和地址生成器805。在一些实施例中,命令生成单元815的命令生成控制器820在数据和地址生成器805的帮助下将希望的测试序列化,该数据和地址生成器包含串行IO测试生成器810。串行IO测试生成器810可以被用于测试串行IO接口。所生成的串行IO测试模式不需要是SPDRAM命令,而是原始数据模式。命令生成单元815可以为存储器访问命令(如READ或WRITE)生成addCmd,以便帮助命令扩展。命令生成单元815还可以与errCmd —起生成定制命令或特殊模式,以便传送由错误校验器提供的错误信息。在这个示意图中,命令生成单元815以及数据和地址生成器805从自动测试生成器830接收信号。如果没有提供外部测试模式源,那么可以使用串行IO生成器810内部地生成用于存储器和存储器接口的测试模式。图8是此类SPDRAM存储器测试生成器的示意图。因为存储器测试数据本质上是高度重复并且互补的,所以它们的类型可以由串行IO测试生成器来提供。例如,一个测试数据可以是用I写入所有存储器位置,随后读取所有位置中的1,再随后在所有位置中写入0,诸如此类。测试数据模式字段G[19:9]可以被用来提供所要求的测试数据模式。解码器825可以根据G[19:9]的内容产生所希望的测试数据模式。互补的测试数据可以由相同的串行IO测试生成器810来提供或者藉由使用模式控制输入patCtr对相应测试数据求补来获取。读/写控制信号也可以由ATE 830来提供。在一些实施例中,如果需要的话,可以增加测试数据模式字段G[19:9],因为猝发的测试数据生成要求与在G[8:0]中可获得数目小于9位的地址位。在一些实施例中,测试数据扩展器可以将单个测试数据项解码为多个测试数据项。在一实例中,测试数据扩展器可以将20位的测试数据扩展为多个20位的测试。为了展示目的,本说明书一般对使用4x测试数据扩展器的系统或过程进行说明。然而,实施例并不限于任何特定的扩展。在一些实施例中,系统可以是可扩缩的,使得4x扩展的特点对于8x扩展同样有效。图9是测试数据扩展器的实施例的示意图。图9具体地示出4x测试数据扩展器结构的实施例。在一些实施例中,所扩展的测试数据的每20位可以被分发给在STORAM存储器芯片内的每个串行IO端口或端口逻辑。图9示出测试数据扩展器900的实施例,该测试数据扩展器包括存储体地址计算单元905。在这个示意图中,SPDRAM命令携带地址,该地址可以由addrCmd=l指示。在一些实施例中,该命令可以被复制4次,除存储体地址910以外。存储体地址(在这个示意图中占据从11到8的比特位置,即E’ [11:8])被转换为四个不同的互斥的存储体地址以便进行并行存储器测试。类似地,如果errCmd=l,那么存储体地址字段可以被用来携带相应的错误校验器的错误信息。由于在测试结束时测试结果被传送,在测试完成后errCmd可以被断言为逻辑I。在一些实施例中,错误校验器可以对串行IO测试模式以及基于测试模式的SroRAM命令两者进行处理。图10示出错误校验系统的实施例。图10具体示出SPDRAM错误校验器。在这个示意图中,错误校验系统1000包括解码器(DEC)1010、SYNC检测器1020、以及错误校验器1030,其中解码器1010将20位的数据翻译为17位的数据。在一些实施例中,对于要求SPDRAM命令的测试,错误校验器1030可以识别DATA命令以及所有的同步命令。在一些实施例中,对存储器的错误校验可以在17位数据域中执行。例如,在测试过程中,可以用DATA命令或SYNC命令占据d[16:0]。如果d [16:0]在d[15:0]中携带所预期命令以外的任何其它命令或者任何无效的读数据,那么错误校验器1030运行以标记错误。在17位数据域中,DATA命令由2个字节(d[15:0])的数据以及I位的命令字段(d [16])组成。d [16]与19位编码数据域中的e [19]相等,即d [16] =e [19]。对DATA命令的检测是由e[19]=l或d[16]=l来标记的并且可以被用来唤醒错误校验器1030以便确认来自存储器的读数据。如果错误检测器1030检测到SYNC命令,那么它可以操作以维持先前的状态。 如以上所说明的,存储器测试模式可以是重复性的。例如,存储器测试模式可以在所有的存储器位置中写O (或1),然后读取O (I)。在替代方案中,可以分别将测试数据及其补码写入所有的偶数和奇数的存储器位置中。在一些实施例中,系统可以从现有的重复性测试模式中提取测试属性。在一些实施例中,该系统还可以将测试属性嵌入伪随机存储器测试模式中。测试属性可以被校验用于证实在SPDRAM错误校验器中接受测试的存储器而无需结合专用的存储器模式比较器。从测试模式中提取测试属性可以包括在2009年7月2日提交的题为“Computer Memory Test Structure (计算机存储器测试结构)”的美国专利申请N0.12/497.371中提供的过程。图11是测试结构的实施例的示意图,该测试结构用于测试差分串行IO接线的故障。在图11中,SPDRAM设备Mk 1105(包括SPDRAM测试生成器1115、错误校验器1120、以及串化器-解串器(SERDES ) 1110 )与SPDRAM设备Mk+11150 (包括SPDRAM测试生成器1165、错误校验器1160、以及SERDES 1155)相耦合。在这个示意图中,藉由打开或关闭连接控制功能(表示为SERDES 1110或1155中的晶体管),可以建立测试路径。例如,如果ser[m, 0]=1,则串化器的相应输出可以被表示为正,并且设备Mkll05的输出连接到设备Mk+11150的解串器。然而,值ser[m,0]=0将导致串化器的输出断开连接。控制功能被表示为晶体管仅是为展示目的,并且控制功能的实现方式在不同的实施例中可以采取不同的形式。例如,可以藉由将控制电路或程序结合到系统功能中来实现控制功能,以便控制信号源,使得目标信号被阻截或压制。可以在解串器中采用相同的连接控制功能以增强可控性和诊断分辨率。图12是差分接线的开路故障检测的实施例的示意图。在图12中,STORAM设备Mk1205 (包括SPDRAM测试生成器1215、错误校验器1220、以及SERDES 1210)与SPDRAM设备Mk+11250(包括SPDRAM测试生成器1265、错误校验器1260、以及SERDES 1255)相耦合。在实例中,图12中所示的损坏的接线使得接线断开。为了检测此类缺陷,可以通过使控制功能ser[m,0]=l以及ser[h,l]=l并且使其它控制输入为逻辑O来建立测试路径。在这种测试配置下,如果设备Mk 1205或设备Mk+11250的发送器通过对应的串化器向所有连接的解串器发送1010..1010的测试模式,则如果接线损坏,那么该测试模式在接收设备处无法恢复。因此,可以通过在每个解串器处检验数据恢复成功来检测并定位损坏的接线缺陷。在一些实施例中,可以类似地通过经由控制功能建立的测试路径来检测固定故障(它们对到电源或接地的差分接线建模)以及桥接故障(它们对与任何其它接线的差分接线建模)。例如,对于固定故障,在测试路径中存在常量逻辑值并且没有恢复任何测试模式。对于桥接故障的检测,如果将不同的测试模式施加到每对进行交互的发送器和接收器上,那么桥接故障防止测试模式在RX处的恢复并且被检测到。在一些实施例中,测试方法可以包括在2009年I月23日提交的题为“Fault Testing for Interconnections (用于互连的故障测试)”的美国专利申请N0.12/359,025中所提供的测试方法。图13是用于检测设备以及检测设备之间的时钟偏移容限的多点测试环境的实施例的示意图。在图13中,STORAM设备Mk 1305(包括SPDRAM测试生成器1310、错误校验器1315、串化器(SER) 1325、以及解串器(DES) 1330)与 SPDRAM 设备 Mk+11350 (包括 SPDRAM测试生成器1360、错误校验器1365、SER 1375、以及DES 1380)相耦合。DES 1330与多路复用器1335或其它切换组件相耦合并且DES 1380与多路复用器1385或其它切换组件相耦合以便控制在设备Mk 1305和设备Mk+11350之间的信号路径。然而,对设备之间信号路径的控制在不同的实施例中可以改变。对于待并行测试的任何偶数个设备,如2N个设备,如图13中所示,可以连接N对受测试的装置。在所示的连接中,可以为每个设备建立自循环返回(self-loop back)路径并且该路径可以被用来对包括该设备的存储器的设备自身进行测试。设备之间的互连路径可以被用来通过改变在设备时钟之间的时钟偏移来证实设备的偏移容限,时钟被示为用于设备Mk 1305的RefClkO以及用于设备Mk+Ι的RefClkl,其中对于被连接以便测试的一对设备,M=2。在一些实施例中,串行10测试与存储器测试是分离的。为了展示用于对设备进行测试的系统和方法的实施例,串行10测试可以在存储器测试之前分离地进行或者可以与存储器测试并发地进行而每个测试与另一测试不相干扰。设备Mk的自循环返回和时钟间偏移测试的错误信息可以分别表示为Es[Mk]和&[1&]。在一些实施例中,在自循环返回测试和互连路径测试过程中,都可以将差分接线缺陷作为目标。在一些实施例中,对于设备Mk 1305,可以将产生的错误信息寄存在Error [Mk]寄存器中,并且对于设备Mk+11350寄存在Error [Mk+Ι]寄存器中。图14示出用于设备的自循环返回测试方式的实施例。在图14中,STORAM设备Mk1405(包括SPDRAM测试生成器1410、错误校验器1415、SER 1425、以及DES 1430)与SPDRAM设备Mk+11455(包括SPDRAM测试生成器1460、错误校验器1465、SER 1475、以及DES 1480)相耦合。DES1430与多路复用器1435或其它切换组件相耦合以形成用于设备Mk 1405的回环路径并且DES 1480与多路复用器1485或其它切换组件相耦合以形成用于设备Mk+11450的回环路径。因此,每个PHY中的串化器连接到相同PHY中的解串器上。图15示出在SPDRAM存储器中的自循环返回方式的实施例。在这个示意图中,存储器1500 (如图14中的设备Mk 1405或设备Mk+11455)包括存储体1505以及切换和端口逻辑1510,该切换和端口逻辑与由信号Testl (在这个示意图中具有值‘0’)控制的第一多路复用器1540或其它切换组件相耦合以将信号送到SER 1525上,该信号循环回到DES 1530上。DES 1530耦合到线路1535和路径1555以向STORAM错误校验器1520提供信号,该错误校验器可以提供错误信号。另外,STORAM测试生成器1515与由信号Testl (在这个示意图中具有值‘I’)控制的第二多路复用器1550或其它切换组件相耦合以向切换和端口逻辑1510提供所生成的测试信号。如图15所示,在自循环返回测试方式中,可以从SPDRAM测试生成器1515生成用于测试存储器(包括存储器接口)而生成的测试模式。所生成的测试命令被提供给存储设备接口(被送往切换和端口逻辑1510以及存储体1505上)并且测试响应通过串行IO自循环返回路径(从SER 1525到DES 1530)被递送到错误校验器上。同时还可以通过提供图11所示的路径控制来以差分接线缺陷为目标。在一些实施例中,进行串行IO测试而不涉及存储器。此类串行IO测试路径可以通过在图15中提供Testl=I来建立。在串行IO测试方式过程中,所生成的测试模式被直接施加到串化器1525上并且在所连接的解串器1530处经由自循环返回路径被接收用于错误校验。图16是设备间测试路径的实施例的示意图。在这个示意图中,多点测试配置的实施例包括在测试过程中进行交互的两个互连设备。在图16中,STORAM设备Mk 1605 (包括SPDRAM测试生成器1610、错误校验器1615、SER 1625、DES 1630、以及错误寄存器1620(Error [Mk]))与SPDRAM设备Mk+11655 (包括SPDRAM测试生成器1660、错误校验器1665、SER 1675、DES 1680、以及错误寄存器1670 (Error [Mk]))相耦合。DES 1630与多路复用器1635或其它切换组件相耦合以形成从设备Mk+11655起始的路径,并且DES 1680与多路复用器1685或其它切换组件相耦合以形成从设备Mkl605起始的路径。在这个示意图中,每个设备的串化器连接到另一设备的解串器上。所生成的测试模式从一个设备的串化器发送,并且在另一设备的解串器处恢复。然后,对恢复的测试模式进行错误校验。然而,关于这种测试配置的问题是没有对错误进行定位,即,与设备的发送器相关的错误在另一设备的错误校验器处被检测到,并且可能不反应在由同一设备上的错误检测器所报告的错误中。因此,在测试之后,在设备之间(在Eiror[Mk] 1620到Error [Mk+1] 1670之间)传送错误信息以便提供错误定位。STORAM命令生成器(1610或1660)从错误校验器接收错误信息,并且将信息发送给其它的连接设备。当错误信息到达时,错误校验器(1615或1665)基于所接收的错误信息对错误信息进行更新。在一些实施例中,错误寄存器(1620和1670)在两个进行交互的设备之间进行交换。每个错误校验器基于所交换的错误寄存器的内容对最终错误进行更新。示例性的多点测试可以被概括为:1.Ctrl=O ;//自循环返回测试配置Il2.独立地测试包括存储器的每个设备;3.获取 Es [Mk];4.Ctrl=I ;//时钟间偏移测试配置//5.对于时钟间偏移容限测试的测试;6.获取 E1 [Mk];7.交换自循环返回测试和/或时钟间偏移容限测试的错误信息;并且8.基于所交换的错误信息对错误信息进行更新。以下提供的表I基于从自循环返回测试和时钟间偏移测试所获取的错误信息,概括测试决定。Error指示符Es[MkhE1 [Mk]和E’jMk+Ι]包含从测试路径获取的测试结果,测试路径涉及设备Mk的发送器(TX [Mk])和接收器(RX [Mk])。在此表中,Es [Mk]包含自循环返回测试的错误信息。时钟间偏移测试的错误信息被分布在两个进行交互的设备Mk和Mk+Ι之间。关于RX[Mk]的时钟间偏移测试的错误信息(标记为EJMk])是从设备Mk的错误校验器获取的。然而,关于TX[Mk]的错误信息(被标记为[Mk+1])在设备Mk+1处是可获得的,并且是藉由数据(如在测试完成后提供的数据)交换来获取的。在一些实施例中,设备Mk+Ι的自循环返回测试的测试结果(标记为E’s [Mk+Ι],未被包括在表I中)被结合用以细化设备Mk的测试决定。在一些实施例中,时钟间偏移在错误信息交换过程中可以被设置为零。项E’jMk+Ι]表示设备Mk+1中存在的E1 [Mk+1]的复制或交换的版本。如果在测试过程中没有检测到错误,则Es [Mk] =O^E1 [Mk] =0并且E’工[Mk+1] =0,并且该设备通过测试。然而,如果Es [Mk] =UE1 [Mk] =1并且E’工[Mk] =1,则该设备未通过该测试。在一些实施例中,如果Es[Mk]=l,则设备被确定为有故障,而伴随有非自循环返回测试失败的所有其它失败被认为是边际性的。在一些实施例中,稍后用通过的设备对被归为有边际失败的设备进行重新测试。从重新测试中淘汰的设备可以进一步使用更小的时钟偏移阈值来进行筛选。在一些实施例中,E’ s[Mk+l]被结合用以表明时钟间偏移测试的无效性。完成这一点是因为未通过自循环返回测试的设备对时钟间偏移测试而言可能是不可靠的。如果边际性失败的装置Mk (B卩,Es[Mk]=0)包含E’ s[Mk+l]=l,那么它被分离地归类并且重新进行测试。在一些实施例中,在表I中提供的单独失败情况可以被用来增加诊断分辨率。例如,受测试的设备可能在时钟间偏移测试过程中失败。在这个示意图中,如果Es[Mk]=0并且EJMk] =1,则可以推断该失败与RX[Mk]和TX[Mk+1]之间的时钟偏移或/和TX[Mk+1]的健康是相关的。在检查了对应的数据后,可以改变这种偏移以便发现失败设备可容许的阈值偏移。如果设备仅在自循环返回测试中失败,即,Es[Mk]=l并且EjMkhE’ jMk+l]=。,则一些缺陷可能已经导致TX[Mk]和RX[Mk]的通信失败。例如,一些缺陷可能增加TX[Mk]中差分信号之间的对内(intra-pair)偏移,但是减少RX[Mk]中的对内偏移容限。因此,当TX[Mk]和RX[Mk]在自循环返回测试过程中连接时,测试模式可能在RX[Mk]处没有被适当地恢复并且因此模式未通过该测试。然而,TX[Mk]和RX[Mk]可以通过时钟间偏移测试,因为连接的TX[Mk+l]或RX[Mk+l]可以帮助克服测试过程中的对内偏移。在一些实施例中,包括TX和RX 二者的失败设备可以为了诊断而进行表征。与任何其它时钟间偏移失败相组合的自循环返回测试失败可以 被推断为更确切的失败。表I中的最后三种情况指出失败的组件。在一些实施例中,仅在时钟间测试中未通过的设备可以视为边际性地通过。边际性通过的设备可以与已通过的设备分离地归类(binned)并且被应用到其中可以接受降低的时钟间偏移容限的应用中。
权利要求
1.一种测试计算机存储设备的方法,包括: 耦合多个存储设备,每个存储设备具有串化器输出端以及解串器输入端,其中第一存储设备的串化器输出端与所述多个存储设备的存储设备中的一或多个的解串器输入端相耦合; 使用每个存储设备的测试生成器产生测试信号模式;以及 在每个存储设备处将测试信号模式串行化,并且传输经串行化的测试模式用于测试所述多个存储设备,其中存储设备的测试包括第一测试方式和第二测试方式。
2.如权利要求1所述的方法,其中第一测试方式是串行IO(输入-输出)测试方式,并且第二测试方式是存储器接口测试方式。
3.如权利要求2所述的方法,其中串行IO测试方式与存储器接口测试方式是分离的。
4.如权利要求3所述的方法,其中用于串行IO测试方式的测试模式包括对存储器接口测试方式未授权的测试模式。
5.如权利要求2所述的方法,其中多个存储设备的测试包括对多个故障进行测试,所述故障包括存储设备的接线上的开路、固定以及桥接故障中的一或多个。
6.如权利要求5所述的方法,进一步包括建立测试路径以进行对存储设备的接线的测试。
7.如权利要求2所述的方法,其中多个存储设备的测试包括测试测试设备之间的时钟偏移容限。
8.如权利要求2所述的方法,存储器接口测试方式包括建立自循环返回测试,所述自循环返回测试包括将第一设备的串化器连接到所述第一设备的解串器。
9.如权利要求2所述的方法,其中存储器接口测试方式包括建立时钟间偏移测试,所述时钟间偏移测试包括将第一设备的串化器连接到所述第一设备的解串器。
10.如权利要求1所述的方法,进一步包括: 在存储设备的每一个处接收一或多个测试信号,并且使用计算机存储设备的错误校验器将所接收的测试信号进行比较以确定装置失败;并且收集针对存储设备的失败信息。
11.如权利要求10所述的方法,进一步包括测试后在存储设备之间传送所收集的失败信息。
12.如权利要求10所述的方法,进一步包括至少部分地基于所收集的失败信息标识一或多个有缺陷的存储设 备。
13.如权利要求10所述的方法,进一步包括如果设备在多个测试信号路径的一或多个之中起作用,则确定所述设备是边际性缺陷的。
14.如权利要求1所述的方法,进一步包括建立针对多个存储设备中的每一个的时间偏移。
15.如权利要求14所述的方法,进一步包括针对存储设备的多个测试改变用于存储设备的时间偏移。
16.如权利要求2所述的方法,进一步包括建立多个测试信号路径并且针对每个测试信号路径收集失败信息。
17.如权利要求16所述的方法,其中建立多个测试信号路径包括建立用于串行IO测试方式的第一测试信号路径以及用于存储器接口测试方式的第二测试信号路径。
18.如权利要求16所述的方法,其中建立多个测试信号路径包括发送用于计算机存储设备的控制信号。
19.一种存储设备,包括: 用于数据存储的一或多个存储体; 输出端,包括用于将数据串行化的串化器; 输入端,包括将数据解串行化的解串器; 测试生成器,生成用于测试存储器的一或多个测试模式; 错误检测器,检测所接收的数据中的错误; 与存储体相耦合的切换和端口逻辑;以及 一或多个切换组件,用于建立用于存储设备的一或多个测试路径,所述测试路径包括用于第一测试方式的第一测试路径以及用于第二测试方式的第二测试路径。
20.如权利要求19所述的存储设备,其中第一测试路径是用于串行IO(输入-输出)测试方式的测试路径,并且第二测试路径是用于存储器接口测试方式的测试路径。
21.如权利要求19所述的存储设备,进一步包括:错误输出端,用于将错误数据提供给存储器测试装置。
22.如权利要求21所述的存储设备,其中当存储设备与第二存储设备参与该存储设备的测试时,该存储设 备将由该存储设备生成或收集的错误数据的一或多个要素传输给第二存储设备。
23.如权利要求21所述的存储设备,其中当存储设备与第二存储设备参与该存储设备的测试时,该存储设备将从第二存储设备接收由第二存储设备生成或收集的错误数据的一或多个要素。
24.如权利要求19所述的存储设备,其中一或多个切换组件包括在输出端串化器中的一或多个切换组件。
25.如权利要求24所述的存储设备,其中在输出端串化器中的一或多个切换组件包括用于将来自输出端串化器的信号回送到输入端解串器的状态。
26.如权利要求19所述的存储设备,其中一或多个切换组件包括:切换组件,用于选择来自存储器或来自测试生成器的数据以便应用到串化器输出端。
27.如权利要求19所述的存储设备,其中一或多个切换组件包括:切换组件,用于选择来自输入端解串器或来自测试生成器的数据以便应用到存储体。
28.一种存储器测试装置,包括: 输入端,用于接收来自多个存储设备中的一或多个存储设备的数据,每个存储设备具有串化器输出端以及解串器输入端,其中第一存储设备的串化器输出端与多个存储设备的存储设备中一或多个的解串器输入端相耦合;以及 错误校验器,用于对来自一或多个存储设备的数据进行错误校验,所述错误校验器具有用于测试多个存储设备的第一方面的第一测试方式以及用于测试多个存储设备的第二方面的第二方式。
29.如权利要求28所述的存储器测试装置,其中第一方式是串行IO(输入-输出)测试方式并且第二测试方式是存储器接口测试方式。
30.如权利要求28所述的存储器测试装置,进一步包括:解码器,用于将数据从第一数据格式翻译为第二数据格式。
31.如权利要求30所述的存储器测试装置,其中第一数据格式是包含第一数目的位的格式并且第二数据格式是包含数目减少的位的格式。
32.如权利要求28所述的存储器测试装置,其中从一或多个存储设备接收的数据包括针对一或多个存储设备的失败信息,存储设备接收一或多个测试信号并且使用计算机存储器的错误校验器对所接收的信号进行比较以便确定装置失败。
33.如权利要求28项所述的存储器测试装置,进一步包括:一或多个切换组件,用于通过存储设备建立用于测试信号的路径,测试中继由控制信号控制的。
34.如权利要求28所述的存储器测试装置,进一步包括用于产生测试模式信号的测试模式源。
35.一种计算机可读介质,具有存储其上的代表指令序列的数据,当由处理器执行时这些指令使处理器进行以下操作,包括: 耦合多个存储设备,每个存储设备具有串化器输出端以及解串器输入端,其中第一存储设备的串化器输出端与多个存储设备中的存储设备的一或多个的解串器输入端相耦合; 使用每个存储设备的测试生成器产生测试信号模式;以及 在每个存储设备处将测试信号模式串行化,并且传输经串行化的测试模式用于测试多个存储设备,其中存储设备的测试包括第一测试方式以及第二测试方式; 其中第一测试方式是串行IO (输入-输出)测试方式并且第二测试方式是存储器接口测试方式。
36.如权利要求35所述的介质,其中串行IO测试方式与存储器接口测试方式是分离的。
37.如权利要求36所述的介质,其中用于串行IO测试方式的测试模式包括对存储器接口测试方式未授权的测试模式。
38.如权利要求35所述的介质,其中多个存储设备的测试包括对故障进行测试,所述故障包括在存储设备的多条接线的开路、固定以及桥接故障中的一或多个。
39.如权利要求38所述的介质,其中指令进一步包括使处理器进行以下操作的指令,包括: 建立测试路径以便进行对存储设备的接线的测试。
全文摘要
一种用于计算机存储设备的多点测试的方法和装置。一种测试计算机存储设备的方法的实施例包括耦合多个存储设备,每个存储设备具有串化器输出端以及解串器输入端,其中第一存储设备的串化器输出端与多个存储设备的存储设备中一或多个的解串器输入端相耦合。该方法进一步包括使用每个存储设备的测试生成器产生测试信号模式、在每个存储设备处将测试信号模式串行化、并且将经串行化的测试模式进行传输用于测试存储设备,其中存储设备的测试包括第一测试方式以及第二测试方式。
文档编号G06F11/267GK103140836SQ201180005563
公开日2013年6月5日 申请日期2011年1月3日 优先权日2010年1月6日
发明者薛真成 申请人:晶像股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1