计算机存储器测试结构的制作方法

文档序号:6001196阅读:136来源:国知局
专利名称:计算机存储器测试结构的制作方法
技术领域
本发明的多个实施方式总体上涉及计算机存储器领域,并且更具体地涉及一种用于计算机存储器测试结构的方法和装置。
背景技术
由于技术上的进步允许每个装置中存在越来越小的部件,计算机存储器装置具有日益密集的体系结构。因此对于测试而言,每个存储器装置已经变得更加复杂。存储器装置可以包括SPDRAM(串行端口动态随机存取存储器)。在某些情况中,计算机装置可以包括内置自测试(BIST)电路。这种BIST电路可以辅助用于存储器装置的某些测试的执行。然而,存储器装置可能要求多种不同类型的测试,它们可能具有不同的要求。为了支持测试而加入过多的硬件增加了存储器板的尺寸和成本,并且提高了测试的复杂性。另外,测试可能涉及对多种存储器装置相对于不同的主机系统的接口的测试,并因此过度复杂或不灵活的测试会增加存储器装置和接口的测试的成本和复杂性。

发明内容
提供了一种用于计算机存储器测试结构的方法和装置。在本发明的第一方面中,一种用于存储器板的测试的方法包括测试该存储器板的一存储器,其中测试该存储器包括使用内置自测试结构来提供用于该存储器的第一测试模式。此外,该方法进一步包括用主机来测试该存储器的10(输入输出)接口,其中该IO 接口的测试包括使用该内置自测试结构以为该IO接口提供第二测试模式。在本发明的第二方面中,装置包括存储器,其中该存储器包括第一测试结构;主机的物理层,该物理层包括第二测试结构;以及位于存储器以及物理层之间的接口。存储器以及接口将要使用第一测试结构以及第二测试结构来被测试。


在附图的图例中藉由举例而并非作为限制地展示了本发明的多个实施方式,其中相同的标号表示类似的要素。图1是包含内置自测试结构的存储器装置的实施例的图标;图2是流程图,展示了用于计算机存储器的测试的流程的实施例;图3是用于包括内置存储器测试结构的实施例的存储器装置的接口的图示存储器存储器;图4是SPDRAM存储器体系结构的实施例的图示;图5是用于一装置的命令集的图示,该装置可以包括内置自测试结构的实施例;图6是5位到6位以及6位到5位的分别的跃迁编码和解码的实施例的图示;图7是6位到7位和7位到6位的分别的跃迁编码和解码的实施例的图示;
图8是用于存储器和主机芯片的SPDRAM测试结构的实施例的图示;图9是SPDRAM接口测试体系结构的实施例的图示;图10展示了在待测单元的每个TX(发送器)信道中的测试模式生成的实施例;图11是用于测试系统或方法的实施方式的20位测试模式生成的图示;图12是用于测试系统或方法的实施方式的20位测试模式处理的图示;图13是用于存储器的SPDRAM测试结构的实施例的图示;图14是用于主机芯片的SPDRAM测试结构的实施例的图示;图15是用于串行IO接口的自身回环测试配置的实施例的图示;图16是用于存储器接口的自身回环测试配置的实施例的图示;图17是使用包括自动测试设备(ATE)的测试器的用于存储器接口的测试配置的实施例的图示存储器;图18是用于功能路径的外部回环测试配置的实施例的图示;图19是用于功能路径的自身回环测试配置的实施例的图示;图20展示了用于存储器或PHY层的SPDRAM测试结构的体系结构的实施例,存储器其采用了与单个端口耦合的测试码生成器以及用于该端口的单个差错校验器;图21是测试系统的实施例的图示;图22展示了用于差错检测的过程的实施例;图23展示了用于测试系统的实施例的测试编码函数的概念;图M展示了组合测试编码函数的实施例;图25是测试数据的类别签名的图示,该类别签名可以被用在测试系统或过程的实施例中;图沈是用于测试结构的实施例的类别签名的图示;图27是类别签名序列的实施例的图示;图观是层级测试编码函数的实施例的图示;图四展示了类别生成函数的实施例;图30和31展示了利用层级编码将测试特性嵌入测试数据流的过程的实施例;图32展示了用于在接收器上校验嵌入测试特性的测试模式的过程的实施例;图33展示了差错检测器的实施例;图34是差错指示器的实施例的行为的图示;图35是种串行IO测试结构的实施例的图示;图36和37展示了测试模式的诸个实施例;图38展示了共享测试模式源的实施例;图39展示了存储器接口测试单元的实施例;图40展示了测试数据扩展器的实施例;图41是存储体地址计算单元的实施例的图示;图42展示了用于校验优先级函数的命令生成的实施例;图43至47展示了 SPDRAM测试码生成器的诸个实施例;图48描绘了差错检测的实施例;图49和50展示了串行IO差错校验器的诸个实施例;
图51展示了用于板测试的系统的实施例;图52展示了板级测试结构的实施例;图53是串行IO互连测试结构的实施例的图示;图M展示了断路故障检测的实施例;图55展示了桥接故障检测的实施例;图56是串行IO板测试的实施例的图示;图57展示了通过主机旁路回环路径的互连测试;图58是利用起源于主机中的诸个测试模式的存储器接口测试的实施例的图示;图59是利用起源于存储器的诸个测试模式通过自身回环路径的存储器接口测试的实施例的图示;以及图60是可以在本发明的实施例中使用的计算装置的实施例的图示。 详细说明本发明的多个实施例总体上是针对一种用于计算机存储器测试结构的方法和装置。在某些实施例中提供了用于存储器的内置测试结构,该存储器包括一个随机存取存储器(DRAM)。在某些实施例中,存储器是串行端口 DRAM(SPDRAM)存储器。串行链路允许减少的引脚数目,同时藉由减少跟踪匹配和拥塞而简化了布局问题。因为每个端口都是独立的,无需维护多个端口之间的相位关系。存储器命令和定时十分类似于标准的现有技术的带有多任务地址总线的DRAM。然而,提供成本效率以及硬件效率的测试方法来降低用于SPDRAM和终端产品的测试成本可能提出了某些挑战。在装置内部,SPDRAM存储器接口测试电路的硬件开销应该被保持为较小的,这样装置的硅晶体面积中的更多部分可以被用于存储器单元。另外, SPDRAM存储器接口测试方法的测试成本可能要求悉心管理以保持价格竞争力。在某些实施例中,测试方法应当能够提供一组丰富的测试模式用于描述、生产、测试、以及诊断。例如, 就机顶盒制造商而言,板级测试和诊断能力是十分重要的。在某些实施例中,集成在SPDRAM 存储器芯片和PHY IP产品中的测试方法可以被重新用于验证系统板上的SPDRAM产品的接口,并由此而有助于增加板的产量。因为SPDRAM存储器通常是由供货商进行测试的,机顶盒制造商可随后进行较少的测试就可以确保SPDRAM存储器的功能以及在系统板上实现的高速串行IO接口的功能。在某些实施例中,同时在芯片级和板级上将低成本的测试性能结合在存储器和串行IO接口上可以为IP和IC产品提供显著的优势。在某些实施例中,系统采用内置自测试(BIST)结构来测试SPDRAM存储器、存储器接口以及高速串行IO链路。可以由片上测试电路亦或由测试器(包括ATE——自动测试设备)来测试包括端口逻辑和开关的SPDRAM存储器和存储器接口。在某些实施例中,装置可以包括低成本的硬件测试接口,该硬件测试接口可以由片上测试电路和测试器用于从内部和外部分别协调所要进行的测试。在某些实施例中,SPDRAM存储器及其接口的测试可以在串行IO链路上进行。在某些实施例中,系统可以使用提供不违反SPDRAM协议的SPDRAM命令序列的测试模式。在某些实施例中,串行IO的测试可以与存储器和存储器接口测试分开进行。可提供这种分离的测试是因为保证串行IO接口在其电气规格方面的功能的流程可能包括处于合法SPDRAM命令之外的测试模式。在某些实施例中,实施串行IO接口测试而不要求SPDRAM 协议知识还可以简化测试流程。因此,在某些实施例中,串行IO接口测试是独立于SPDRAM 协议的并且可以在没有SPDRAM协议知识的条件下进行。例如,串行IO测试的测试模式可以是随机模式。在某些实施例中,串行IO接口测试可以包括测试特性,该些测试特性被嵌入(或编码到)测试模式流或测试数据流中以便构建合法的数据流。在某些实施例中,可以利用接口测试来检测对数据流合法性产生改动的多种差错。该测试特性可被视为测试模式所满足的测试规范。因为这些测试特性可能是抽象的,这些特性可以容纳能够以简单方式来实现的大型测试模式集合。在某些实施例中,为便于进行低成本的测试,测试系统可以将测试接口电路提供给用户存储器测试模式生成器和测试器。该测试系统还可以作为独立的系统来工作,该独立的系统能够生成测试存储器接口所需的SPDRAM命令序列。在某些实施例中,测试器还可以存取可用的SPDRAM命令,以便在外部协调测试。 在某些实施例中,测试接口电路还可以用作为测试解压缩电路。在某些实施例中, 在一具有四个端口的装置的实例中,SPDRAM命令输入可以被解码或解压缩成四个20位的命令,这些命令可以被并行地加到所有四个端口上。因为存储器接口测试可以藉由相同的串行IO来执行,该串行IO测试结构在构建测试接口电路中被重新使用。可将该测试接口电路视为可被开启和关闭的层级式硬件层。在装置设计和制造中,当多个装置被置于印刷电路板上以形成一个系统时,重要的是对板上的SPDRAM接口的功能性进行验证以便减少板级成品率损失以及测试错漏。一般来讲,板级的成品率损失的代价远高于芯片级的成品率损失的代价。测试错漏板可能是代价高昂的,因为此类板可能导致系统故障和产品召回。图1是包含内置自测试结构的存储器装置的实施例的图示。在这个图示中,存储器装置105是包含多个端口(在此示出为第一端口 115、第二端口 120、第三端口 125、 以及第四端口 130)的串行端口存储器装置,其中每个端口包括串行器135和串并转换器 140(分别表示为SER和DES)。该装置进一步包括用于装置110的测试的内置自测试结构 (或BIST)。在某些实施例中,内置自测试结构被用于支持对存储器装置以及存储器接口的测试。图2是展示了用于计算机存储器测试的过程的实施例的流程图。在所示的过程中,计算机存储器装置被选择为待测装置(DUT) 202,其中存储器装置包括多个端口。为这些装置选择一组存储器测试,并且发送用于存储器204的测试的测试模式。接收这些测试模式并检查其的差错206,并且做出该存储器是否有任何故障状况的决定208。在所示的过程中,还传送用于IO接口 210的测试的测试模式。接收该测试模式并检查其的差错212,并且这里做出该接口是否有任何故障状况的决定214。图3是用于存储器装置的接口的图示,该存储器装置包括内置存储器测试结构的实施例。在所示的系统300中,主机305通过接口 350连接到存储器355。该主机305包括一个或多个端口 310以及用于与存储器355连接的连接管理器 340,该一个或多个端口包括所示的主端口 0。端口 0包括主机物理层320,该主机物理层包括接收器和发送器325,该发送器包括用于在接口 350的串行链路上进行传输的串行器330。该存储器355包括一个或多个端口 360以及用于与该主机305连接的连接管理器390, 这些一个或多个端口包括所示的存储器端口 0。存储器端口 0包括存储器物理层365,该存储器物理层包括发送器和接收器375,该接收器包括用于在接口 350的串行链路上接收传输的串并转换器380。在某些实施例中,存储器355是DRAM (动态随机存取存储器),更确切地是串行端口 DRAM(SPDRAM)。SPDRAM是一种DRAM存储器存取技术,其允许通过高速串行IO端口来访问存储器。在某些实施例中,主机305是片上系统(SOC)。在运行中,在主机305和存储器 355之间进行传输之前将并行数据串行化,并在接收端将串行化的数据串并转换为并行数据。因此,串行器一串并转换器对在主机305和主机355之间形成通信信道。图4是SPDRAM存储器体系结构的实施例的图示。在这个图示中,SPDRAM存储器 400是四信道串行存储器,对于每个端口具有独立的存储体访问。端口 405各自被示出以具有存储器物理层410,并且可以包括4线差分传输和接收链路用于发送命令或写入数据并同时以每路高达5(ibpS (每秒千兆位)的速率接收读取数据。存储器400进一步包括在一个或多个存储体420(在此示出为DRAM芯存储体0-7)中进行数据存储的端口逻辑415。 在某些实施例中,为存储器400提供了内置测试结构,其中该测试结构与对存储器以及到主机装置的接口的测试相结合来使用。图5是用于装置的命令集500的图示,该装置可包括内置自测试结构的实施例。命令包括经常用于测试DRAM存储器的存储器命令,包括预充电(PGG)、启动存储体(ABNK)、启动(ACT)、以及写入(WR)和读取(RD)命令。在这个图示中,如果为了传输而进行编码,每条命令的长度是17位或20位,且命令包括同步命令和存储命令。然而,本发明的多个实施例并不限于任何具体的命令集或者命令结构。在这个图示中,同步命令建立并恢复链路的完整性。图6和图7是为了如何对17位的存储命令进行转换或编码以用于传输的图示。图 6是分别地5位到6位和6位到5位跃迁编码和解码的实施例的图示。图7是分别地6位到7位和7位到6位跃迁编码和解码的实施例的图示。17位的命令和20位的编码命令分别被表示为d[16:0]和e[19:0]。命令的编码将更多的跃迁结合到所编码的命令之中,以便克服码间干扰(被称为“ISI”)问题,并在接收器上更为可靠地恢复所传输的命令。在某些实施例中,利用图6和7所示的转换表达式将17位命令的6位分区、5位部分以及6位分区中的每一个分别转换成7位分区、6位分区以及7位分区。例如,如果命令的5位分区包括 11000,它被转换成如图6所示的1010101。注意藉由这种转换,原始的5位分区中的跃迁数增加为6次跃迁。命令的这种6位分区可以如图7所示类似地进行转换。这种转换确保行程长度(它被定义为在所传输的比特流中的连续的0或连续的1的个数)不大于5。因此,在所传输的比特流中每6位就存在一次或多次跃迁。在某些实施例中,在接收器上对已编码命令的解码是以相反的方式进行的。在某些实施例中,SPDRAM测试结构可以经由相同的串行IO链路来测试高速串行 IO链路以及存储器接口逻辑。图8是展示了用于存储器和主机芯片的SPDRAM测试结构的实施例的图示,例如该SPDRAM测试结构可以被嵌入片上系统(SOC)之中。在某些实施例中,如上所述,串行IO的测试与存储器接口的测试是分开进行的。 存储器接口的测试可能要求测试模式符合待测存储器装置的SPDRAM协议。然而,串行IO接口的测试可以独立于SPDRAM协议。分开测试可能是有利的,因为完全串行IO接口测试可能要求比SPDRAM协议允许的更多的测试模式。分开进行串行IO测试可用来去除测试模式适应性限制并允许在串行IO测试期间使用更加多样化的测试模式。一组丰富而多样化的测试模式在实现高速测试覆盖时是一种重要因素。在图8中,以串行IO和存储器接口为目标的内置自测试(BIST)硬件分别包括串行IO测试结构815和存储器接口测试结构810。串行IO测试结构815和存储器接口测试结构810被统称为SPDRAM测试结构。如图所示,测试系统包括由串行IO接口 830所连接的SPDRAM存储器805和主机或其它装置的PHY核840。SPDRAM存储器805包括存储器接口测试结构810、串行IO测试结构815,以及经由串行IO接口 830连接到PHY核840的串行器820和串并转换器825。PHY核840包括存储器接口测试结构850、串行IO测试结构 845,以及经由串行IO接口 830连接到存储器805的串行器860和串并转换器855。图9是SPDRAM接口测试体系结构的实施例的图示。在这个图示中,SPDRAM存储器或主机PHY层905包括SPDRAM接口测试结构910。在这个图示中,测试结构910包括测试生成器915和四个差错校验器920,且图9中每个差错校验器被标识为EC。测试生成器915 包括共享的测试模式源940以及四个测试特性嵌入(TPE)单元945。在某些实施例中,TPE 单元945专用于每个PHY信道以便独立地调制从共享测试源生成的测试模式,从而以可管理的硬件开销来对所有的PHY信道提供多样化的测试模式。在某些实施例中,每个TPE单元 945的硬件开销远小于芯片上所有PHY信道所共享的测试模式源940的硬件开销。在某些实施例中,每个差错校验器920与多个端口 925中的一个相连接,每个端口包括通过用于经由接口进行通信的串行器930和串并转换器935。在一示例性实现方式中,测试生成器915 用于生成20位的测试模式、将20位测试模式扩展为80位测试模式、并且直接地或通过存储器接口来将每个20位模式分发到所有四个端口 925。每个端口中的差错校验器920能够独立地校验输入的测试模式流中的差错或者在串并转换器上观测到的测试数据中的差错。图10展示了待测单元的每个TX信道中的测试模式生成的实施例。在这个图示中, 共享的测试模式源1005生成了 20位的测试数据或者测试信号。取决于测试模式,20位或 17位的数据包含有意义的测试信息。该17位或者20位的测试信号在传输之前被编码为 20位。该共享的测试模式源与测试特性嵌入单元(TPE) 1010相耦合。对TPE进行编程以调制20位和17位的测试信号。对TPE还进行编程以旁路连接20位测试信号。经由TPE的共享的测试模式源为跃迁编码单元(TE) 1015提供了 20位的测试信号。17位测试信号被用于跃迁编码以生成20位信号,并且3位测试信号被用于代替在旁路连接时跃迁编码所生成的3个位。基于旁路信号的状态,启动或者绕过该测试编码。如果旁路=0,那么由跃迁编码来产生20位的输出测试信号。否则,禁用跃迁编码并且将17位和3位输入测试信号合并以生成20位输出测试信号。所生成的20位测试信号被提供给复用器1020,复用器1020 还可经由第二测试编码单元1030从系统逻辑1025接收信号,其中测试信号是根据控制该复用器1020的控制信号testl来选择的。然后由串行器1035将测试模式(E[19:0])进行串行化处理用于通过接口进行传输。图11和12是在测试的实施例中在发送器上的20位数据生成并在接收器上进行处理的过程的详细示图。图11是用于测试系统或方法的实施例的20位测试模式生成过程的图示。在这个图示中,将所生成的17位测试模式1105提供给跃迁编码逻辑1110,并且3位测试信号被提供给复用器1115。在某些实施例中,生成器可以直接地或通过跃迁编码单元(TE)来生成20位的数据模式。例如,如果旁路=0,由TE将17位数据转换为20位。否贝U,该17位输入在TE中被旁路连接并且与由测试生成器所提供的3位输入相合并以组成 20位。在某些实施例中,该旁路信号是从测试模式信号中导出的。图11是用于测试系统或方法的实施例的20位测试模式过程的图示。在某些实施例中,旁路开启和关闭在该转换表达式中实施的求补运算。如果该旁路=0,如图12中所示,从由TE执行的17/20转换中获得20位数据,并将来自测试生成器的3位输入忽略。 17/20转换表示由TE进行的从17位转换到20位的数据转换。然而,如果旁路=1,在给定的转换表达式中的左侧的第三列被来自测试生成器的3位输入中的一位所替代。由于在17 位数据中存在3个分区(即6位、5位和6位),三个对应的列被3位输入替代。除了列的替代之外,转换过程中的求补运算被禁用,这样可以在TE的输出中生成原始数据。图11所示的复用器在位于发送器内的测试生成器中实现这种列替代。图12是在接收器处可以如何类似地处理所恢复的20位数据的图示。在经过串并转换器1205之后,如果旁路=1,则禁用转换并将该20位数据提供给差错校验器1215。否则,经由跃迁解码单元(TD) 1210将 20位数据解码为17位数据。所解码的17位数据被提供给差错校验器1215并且与17/20 转换所引入的列相对应的3位数据在差错校验器1215处被忽略。类似地,由TD1210实现的从20位到17位转换可被标识为20/17转换。在一实施例中,为了减少硬件开销并增加测试的灵活性,系统或者过程可以使用面向特性的测试方法。在某些实施例中,该测试方法是基于非PRBS(PRBS是伪随机二进制序列)的测试方法,并且与基于PRBS的常规BIST相比可以极大地减小测试硬件的尺寸。因为这样的测试系统或过程的实施例独立于PRBS多项式,在制造、描述、以及硅除错阶段的 SPDRAM装置的测试也可以是更加灵活的。PRBS模式和非PRBS模式都可以被应用于待测装置。图13是用于存储器的SPDRAM测试结构的实施例的图示,图14是用于主机芯片的SPDRAM测试结构的实施例的图示。图13所示的SPDRAM存储器测试结构可以用于直接地或通过存储器逻辑来测试存储器芯片的串行IO接口。如图所示,SPDRAM存储器1300包括存储体1305、开关和端口逻辑1310、SPDRAM测试生成器1315、差错校验器1320、串行器 1325、以及串并转换器1330。在这个图示中,从测试生成器1315生成的测试模式(该测试模式由使用者测试模式1350所形成)可以根据特定控制信号输入(显示为testl、test2 和test; )而被应用到串行IO或内部存储器接口上。在这个图示中,测试生成器包括共享测试模式源,该共享测试模式源被存储器或者主机芯片的所有PHY层上的测试生成电路所共享。在某些实施例中,TPE专用于每个PHY层上的测试生成电路。差错校验器1320可以检查输入测试数据以查找差错。串并转换器1330与跃迁解码单元1360相耦合,跃迁解码单元通过复用器而耦合到开关和端口逻辑1310上。在某些实施例中,该测试结构可提供从串并转换器1330到串行器1325的旁路回环路径1355。例如,如果testl = 1并且test2 = 1,旁路可以起作用。旁路回环路径1355 可以允许对串行IO链路从外部进行测试,并且可以被用于提高诊断分辨率。例如,如果串行IO链路在使用内部测试结构时失败,但通过旁路回环路径被验证有效,那么可以得出结论该串行IO链路并不是失败的原因。相反,这种失败可能是包含内部BIST测试结构的内部测试路径所导致的。在一实施例中,可以在旁路测试模式期间启动差错校验器1320。差错校验器1320可以进一步提高对通向串并转换器1330的串行IO测试路径的诊断分辨率。 在某些实施例中,系统还可以容纳被用于SPDRAM存储器的非兼容的BIST电路。例如,在板级测试中,PHY核(或S0C)中的BIST测试结构可以通过内部旁路回环路径来验证SPDRAM 存储器装置中的串行IO连接的有效性。类似地,可以如图14所示在SPDRAM主机中实现存储器接口测试结构。如图所示, 主机1400包括SPDRAM测试码生成器1420、接收用户测试模式1422、差错校验器1415、串行器1425、以及与FIFO 1432相耦合的串并转换器1430,FIFO 1432与跃迁解码单元1480 相耦合。主机1400还包括到系统逻辑1475的链路,该系统逻辑与跃迁编码单元1485相耦合。在此类装置中,可以为特定的测试而引入旁路回环1470。在主机芯片中提供存储器接口测试能力可以为板级测试或SPDRAM存储器芯片的制造测试提供优势。SPDRAM存储器芯片可能受到芯片面积的限制,并因此全部存储器接口测试特性的实施可能是不可行的。在这种情况下,可以在主机芯片中实现存储器接口测试结构并且可以将其用于验证系统板上的SPDRAM存储器的存储器接口的有效性。在某些实施例中,可以使用相同的主机芯片来生成用于SPDRAM存储器芯片的多种测试。所生成的测试模式可以经由串行IO链路被传送到存储器芯片。根据信号(如test5和teste)的设置,测试结构可以参与测试或可以被旁路。 在不同的实现方式中,可以在芯片上或者不在芯片上实施用户测试模式。图15是用于串行IO接口的自身回环测试配置的实施例的图示。如图15所示,例如,如果控制信号testl和test2被分别设置为逻辑“ 1”和“0”,就可以经由自身回环连接来测试串行IO接口。图15中展示了自身回环串行IO测试。在这个图示中,SPDRAM存储器 1500包括存储体1305以及开关和端口逻辑1310。在串行IO测试期间,测试生成器1315 可提供20位的测试数据流,并且串行器1325经由自身回环路径1550将所生成的测试模式串行地传送至串并转换器1330。串并转换器1330可以将接收到的串行位流重构为20位测试模式,并且差错校验器1320确定重构的测试模式是否有效。在某些实施例中,可以由测试器1540提供测试控制。在某些实施例中,存储器接口测试结构可以将由存储器和存储器接口逻辑(如端口逻辑和开关)中的物理缺陷所引发的差错作为目标。图16是用于存储器接口的自身回环测试配置的实施例的图示。在这个图示中,SPDRAM存储器1600包括存储体1305以及开关和端口逻辑1310,并且SPDRAM测试生成器1315可以接收用户测试模式1350。存储器还可以包括SPDRAM差错校验器1320以便基于差错状况来生成输出。在这个图示中,当测试模式输入test4被设置为“0”并且测试模式输入test3被设置为“1”时,可以开始存储器接口测试。所生成的一系列SPDRAM命令或测试模式可以被发送给端口逻辑以便测试存储器接口。测试响应可以被差错校验器1320上直接捕获并校验,而不经过串行IO自身回环。 这种直接的观测可以提高诊断分辨率,因为可以独立于串行IO来执行存储器和存储器接口电路的测试。取代直接地在测试结构中提供DRAM存储器测试能力,所提出的测试结构可提供硬件接口来容纳用于存储器测试的用户定义测试模式。存储器接口测试结构可以将用户定义的存储器测试模式转化为可被用于实施相同测试的SPDRAM命令序列。在不同的实施例中,例如,用户定义的测试模式1350可以在芯片上实现或者可以由提供测试控制的外部测试器来提供。在某些实施例中,一种体系结构允许DRAM存储器的制造商们使用他们自己的测试模式通过目标存储器接口来验证他们的存储器。然而,在某些实施例中,如果不提供用户定义的存储器测试模式,存储器接口测试结构可以在内部生成用于存储器接口逻辑的 SPDRAM测试模式。还可以从该外部测试器上通过存储器接口测试结构对同一存储器接口逻辑进行测试。图17是用于存储器接口的测试配置的实施例的图示,该存储器接口使用包括ATE 的测试器。在这个图示中,SPDRAM存储器1700包括存储体1305以及开关和端口逻辑1310、 以及SPDRAM差错校验器1320,还有串行器1325和串并转换器1330。另外,可以将测试器连接到串并转换器1330上,该串并转换器与跃迁解码单元1360相耦合。在某些实施例中, 可以从测试器1540提供测试模式,并由芯片上的差错校验器1320校验差错,如图17所示。 测试模式信号(test3和test4)可以被设置为逻辑“0”,以便配置存储器或者存储器接口测试。在这种测试模式中,是否测试存储器或者存储器接口取决于由测试器1540提供的测试模式。图18和19是用于测试功能路径的测试配置的图示。在某些实施例中,因为由于面积的限制,SPDRAM存储器芯片可能无法容纳标准数字测试(如结构测试),可以用所提出的测试结构来测试功能路径。图18是用于功能路径的外部回环测试配置的实施例的图示。 在这个图示中,SPDRAM存储器1800包括存储体1305以及开关和端口逻辑1310,以及测试生成器1315和差错校验器1320。该存储器进一步包括串行器1325和串并转换器1330。 在图18中,藉由将测试模式信号设置为testl =“0”,test3 =“1”和test4 =“1”,测试从存储器接口的输出通过跃迁编码单元I860到串行器1325的功能路径。在这种测试配置中,所生成的测试命令被提供给存储器接口,并且测试响应经由待测功能路径和串行IO自身回环路径1550被传送到差错校验器1320。图19是用于功能路径的自身回环测试配置的实施例的图示。在这个图示中, SPDRAM存储器1900包括存储体1305以及开关和端口逻辑1310,以及测试生成器1315和差错校验器1320。该存储器进一步包括串行器1325和串并转换器1330,该串并转换器1330 被耦合到跃迁解码单元1360。可以藉由设置测试模式信号为testl =“1”,test2 =“0”, test3 =“0”和test4 =“0”来建立从串并转换器1330到存储器接口的功能路径测试。所生成的测试模式可以通过串行IO自身回环1550、待测功能路径以及存储器接口而被传送到差错校验器1320。一种存储器接口测试结构可以用于为外部测试器提经济的测试接口。该测试器可以通过所提出的测试接口将希望的测试模式应用于该存储器接口。然后该测试结构如上所述地起到测试解压缩硬件的作用。例如,如果测试器提供READ SPDRAM测试,存储器测试接口单元将READ命令解码成具有不同的存储体地址的四个相同的READ命令。所扩展的READ 命令可以并行地被发送到四个存储体上。如果希望额外的硬件优化,可以在所有端口中共享测试生成器和差错校验器。图 20展示了用于存储器或PHY层905的SPDRAM测试结构的体系结构的实施例,该存储器或PHY层使用了与单个端口以及用于该端口的单个差错校验器2020相耦合的测试生成器 2015。在图20中,所有的串行IO信道都以串行方式连接,其中第一端口的串行器930连接到第二端口的串并转换器935上,该串并转换器环路连接到第二端口的串行器上,而第二端口的串行器930被连接到第三端口上,如此下去。尽管图20的图示提供了一个实例,但很多不同的配置也是可能的。在所示的系统中,所生成的测试数据可以被施加到串联信道的一端2050上并且可以在另一端2060上校验测试响应。图20中提出的体系结构还可以有效率地应用于常规BIST系统以减少硬件开销。在某些实施例中,SPDRAM串行IO测试结构可以将串行IO链路中的差错作为目标。在某些实施例中,这种测试结构可以采用例如像题为“接口测试电路和方法(Interface Test Circuitry and Methods) ”的美国专利申请号11/742,358中提供的测试那样的测试编码概念。在某些实施例中,串行IO测试结构并不识别SPDRAM命令,并且可以将任何的测试编码的20位测试模式应用于串行IO测试。图21是测试系统的实施例的图示。该系统包括测试特性生成器2105和模式源2110,它们与用于发送侧的串行器2120相耦合。信号在信道2125上传输,并且由用于接收侧的串并转换器2130进行并行化处理,并且由测试特性校验器2140进行检查以检出差错。如图所示,该系统可以将测试特性2105嵌入或编码到所传输的测试模式2110中。然后测试特性可从所接收的测试模式流中提取出来,并且可由测试特性校验器2140来校验是否存在差错。在某些实施例中,可以使用串行IO测试结构在发送器(TX)和接收器(RX)处均提供用于描述、制造测试、以及硅除错的一组丰富的可编程设计测试模式。在图21中,分别使用大写和小写类型的字符来表示发送器(TX)和接收器(RX)的动作。TX包括串行器2120, 而RX包括串并转换器2130。符号K*可例如表示同步命令SYNC或者SYNC2的重复次数。 每个测试模式被加以同步命令序列的前缀以使同步于测试模式的起点。因此,并不明确地提及同步命令的前缀序列。在某些实施例中,RX上的差错校验与TX的串行IO测试生成器是去耦合的。也就是说,差错校验器是独立于用于生成随机测试模式的PRBS多项式的。在这类系统中,测试特性指明了在RX上可以校验何种测试模式以验证待测装置(DUT)。从这个意义上说,测试特性充当了通信协议的作用。在某些实施例中,系统可以指定测试过程中在信道上所传输的测试模式的类型。所嵌入的特性可以从测试模式的输入流中提取,而所接收的测试模式可以至少部分地基于所提取的测试特性来进行校验,以确定是否存在差错。在某些实施例中,测试特性可以被嵌入或者编码到测试模式源中。测试模式源包括ATE向量、PRBS模式、 以及任何其它的外部模式源。图22展示了用于差错校验的过程的实施例。在这个图示中,带有所期望的测试特性的测试模式2205可以由串行器2210作串行化处理并在信道2215上传输,所接收的测试模式由串并转换器2225进行串并转换,生成模式e 2230。如果差错校验器能够使嵌入在传输的数据流中的测试特性失效,那么在接收器中可以校验并检出差错。在此实例中,发生差错2220,由此导致所接收的数据存在缺陷,或者导致有效代码2235转变成无效代码2240。测试模式可被视为17位或者20位数据序列。测试模式的序列被称为测试模式序列。藉由将每个测试模式解析为承载一些函数的输入和输出的η元组,可以从测试模式序列得出测试特性。图23展示了用于测试系统的实施例的测试编码函数的概念。图23提供了以3位数据为例的测试编码的实施例示意图。对于3位数据或代码字,如图23的(a)所示,存在8种可能的代码字。然后,代码字e[2:0]被解析为三元组(a,b,y),该三元组承载了某个函数f的输入输出使得y = f(a,b)。可以使用任意的布尔函数来解析该代码字。在此实例中,如图23(b)所示,2输入AND函数被用于解析代码字。如图23(c)所示,3位代码字空间被分为2个子集;一个子集满足7 = €( 13) =3胁,而另一子集满足7= €仏,13)= (a&b),其中 f表示函数f的求补运算。列S的每个列元素是类别签名,列S表示函数f (a, b)和给定的输出y是否进行了求补运算。也就是说,如果y = f(a,b),那么S = 0,并且如果 y = f(a,b),那么 S = I0 例如,如果 E[2:0] = 000, y = 0,并且 f(a,b) = 0&0 = 0。 因为 y = f(a, b),S = 0。然而,如果 E[2:0] = 001,那么 y = 1 并且 f(a,b) = 0。因为 y兴f (a,b),那么y = f (a,b),并因此S = 1。测试模式的类别签名序列被定义为测试特性。如果测试模式包括(000 — 110 — 010 — 101 — 100 — 011 — 111 — 001)*,相应的签名序列是(0 —1)*,其中*表示重复。因这些等测试特性可以比原始测试模式更加紧凑,它们可以极大地简化差错校验任务。如果需要的话,可以使用多个测试编码函数。如以下所示的一个实例,在测试数据流、…^^购 >中的每个力[19:0]可以被解析为承载三个函数的输入输出的20元组。符号&表示函数fk的输入,其中k = 2,l,0。符号yk表示解析函数fk的输出,该解析函数被称为测试编码函数。测试编码函数可以在模式序列中提供对每个ei[19:0]的解析。例如,可以将η位数据解析为承载某些函数的输入和输出的η元组向量。例如,对于20位ei[19:0],可以将ei[19:0] = (X1, x0x2, X1, x0x2, X1, X0X2' X1, XqX2,X1, XqX2,X1, X0Y2' Yi' Yo)认为是包含三个任意函数的输入和输出的20元组向量。这些输入和输出根据施加在它们的位位置的标号上的模3运算进行划分。一般来讲, 如果考虑有η个函数,可以应用模η运算。根据模3运算的对输入和输出的划分总结如下。
X0 = e[19:0]丨{3k11 ≤ k ≤ 6}
X1 = e[19:0] {3k+l 11 ≤ k ≤ 6}
X2 = e[19:0] {3k+2 11 ≤ k ≤ 5}
其中投影操作数丨被定义为如果i i eX,则从e[19:0]中选择e[i],其中集合X包含在0彡i彡19范围内的位位置的集合。例如,e[19:0] {15,12,9,6,3,0} =e[15,12,9, 6,3,0]。生成了输出tog的编码函数fk的每个输入集合可以藉由投影操作数来获得,该投影操作数被定义为e[19:0]丨I,其中I表示代码字的标号的集合。例如,如上所示,藉由将e [19:0]投影到与测试编码函数相关的标号上来获得每个测试编码函数的输入和输出。 以&表示的每个编码函数的输入集合可以如以上实例那样使用投影操作数来定义。基于标号的模3运算可以对函数的输入进行划分。基于模N运算的划分可提供改进的差错校验能力。在某些实施例中,如果任何双差错相距不是NK位,就可以检出它们,其中K > 0并且 N表示所使用的编码函数的数目。例如,如果两个差错相距是3、6、9、12、15和18位。两个掩码差错之间的最少的位数被定义为差错掩码距离δ,Βρδ=Ν。被掩码的双差错η的数目可被定义为n =W-δ,其中符号W表示代码字的宽度。对于具有3个测试编码函数的 20位代码字,W = 20, δ = 3,那么η = W- δ = 20-3 = 17。由于差错经常猝发地发生, 分开距离固定的两个差错并不常见。在某些实施例中,猝发差错被定义为e[19:0]中的连续多个位差错。例如猝发差错可能作为e[7:4]而发生。在某些实施例中,除了 |n-m|+l = 2NK的情况外,可以检出e[n:m]的任何猝发差错。例如,如果使用三个编码函数,除了 6、12和18连续差错外,所有的猝发差错都将被检出。长度为2N的最小猝发差错被定义为猝发差错掩码长度λ,Β卩λ =2Ν或2δ。如果要求更加强健的差错混淆预防方案,可以引入增大数目的测试编码函数,或者可以考虑测试编码函数的层级排列。在某些实施例中,测试编码函数可以是组合的或者顺序的[2]。为了使论述简单, 本说明书中假定采用了组合的测试编码函数。图对展示了组合测试编码函数的实施例。在这个图示中,存在三个测试编码函数,f0 2410、2420、以及f2 2430。这些函数不必是相同的。在图15中,编码函数Vf1和&或者它们的互补函数的输出可以被计算得出并置于 e[2:0]中以构成所希望的20位代码字。在某些实施例中,根据有待处理的差错的类型,可以使用任何测试编码函数。为了识别是否对测试编码函数输出进行了求补运算,可以在系统中引入所提及的类别签名。图25是可以被用在测试系统或者过程的实施例中的测试数据的类别签名的图示。如图所示,函数fQ 2510、2520以及f2 2530的输出是由类别签名函数2540进行处理的,从而生成可能的类别签名2550。在某些实施例中,类别签名可以用于表示所计算的函数f(X2)、f (Xl)和f (XO)的输出如何与e[2:0] = (y2,Υι,Υ(1)相关。为了得出所期望的关系,可以使用一些函数来解析它们的关系。这些函数被称为类别签名函数。在本实例中,XOR函数被用于计算类别签名。 在这种情况下,类别签名函数输出的逻辑0和1分别表示Ji = f (Xi)和yi = ^f(Xi)0。
符号,表示逻辑非或者互补。类别签名函数可以总结为 S[i] = fi (Xi) e[i],0 l-v, I
/ ) =十0</<2
k=\
其中IxiI表示&中的元素的数目。类别签名函数可以表示为S[i] Zfi(Xi) e[i]。XOR运算表示函数的输出与代码字中对应位的内容之间的关系。S[i] =0表示e[i]包含测试编码函数输出,即e[i]= fi(Xi)。否则,e[i]包含测试编码函数的互补运算输出。图沈是用于测试结构的实施例的类别签名的图示。基于以上实例中的类别签名函数,可以存在8个类别签名,示出为签名沈05-2640。任何代码字或测试模式必须生成这 8个签名中的一个。换言之,这些类别签名函数可以将所有可能的代码字的集合划分成许多子集。在此实例中,子集的个数为2N,其中N是类别签名函数或测试编码函数的数目。在此实例中,存在3个类别签名函数,表示为S [2 0],并因此存在8 (23)个类别签名,如图沈所
7J\ ο可以将测试模式视为实施所希望的测试的测试数据的有序列表。测试模式序列可以由对应的类别签名序列来代表。图27是类别签名序列的实施例的图示。在一个实例中, 两个代码字 e [19 0] = 10000000000001000000 和 10011111111111111111 在测试模式中重复。然后,测试编码函数输出对于第一代码字是001,对于第二代码字是110。藉由在fk(Xk) 和e[k](其中k = 2,1,0)上执行逐位的XOR函数就可以计算出对于每个测试数据的类别签名。所得的类别签名序列是图27所示的(001 — 100)*。符号*表示任何次数的重复。 在图中,函数输出f2 (X2)、fi (X1)和fQ (X0)被表示为f21Q (X210)。可以类似地获得第二实例的测试模式的S [2:0]序列。
在某些实施例中,还可以将类别签名函数考虑为一种等价关系。每个类别签名可以被视为每个类的代表。例如,在图沈中,由e[2:0]代表的每个类中存在217个代码字。 具有相同类别签名的任何两个测试模式将会是等价的。类似地,任何测试模式序列可以由它们的类别签名序列来代表。为此原因,类别签名序列可以指定一类的测试模式。在提出的方法中,可以利用类别签名序列来表示测试特性。在某些实施例中,系统可以降低的硬件开销来增加一组可用的测试模式,其不利方面是,与常规的基于PRBS的测试方法相比可能增加差错掩码。差错有可能将有效的测试模式序列变为产生相同签名序列的无效序列。基于所讨论的测试编码函数,可能被掩码的差错的实例可以包括任何两个差错,这两个差错在20位代码字和前面提及的2NK猝发差错中恰好相距NK,其中N表示所用的测试编码函数的数目,并且整数K > 0。如果对于目标测试应用而言差错掩码是不可接受的,那么在某些实施例中,可以使用一组不同的测试编码函数以满足系统要求。例如,可以将两组奇偶数的测试编码函数分层级地进行组织以便将测试特性嵌入测试模式中。图观是层级式测试编码函数的实施例的图示。在图观中,利用一个实例来概述层级测试编码函数及其解析,该实例采用函数 g(具有奇偶输入)和f。类似于使用测试编码函数fu,ο观20来解析[2:0],还可分别使用独立的测试编码函数gl和g0 2810来解析e[3]和e[4]。gl和g0的输入由e[17:5]的模2 划分来获得。这就是说,g!的输入是e [17,15,13,11,9,7,5],而g0的输入是e [16,14,12, 10,8,6]。在测试期间,每组测试编码函数可以独立地操作。还可以为代码字e[17:3]的一部分也定义单独的类别签名。层级式测试编码方案可以表示为TE(W,N1,N2,…,Nm),其中 W和Ni分别表示在层级等级i中代码字的宽度和测试编码函数的个数。例如,图观中的测试编码方案可以表示为TEQ0,3J)。层级等级是由结合在所考虑的测试编码中的代码字的宽度来确定的。第(i+Ι)个层级等级中代码字的宽度(以W(i+1)表示)可以递归地被确定为W(i+1) =W⑴-Ni,其中W(I) =W并且i >0。代码字的第(i+Ι)级(以CW(i+l) 表示)被定义为带有多个位的代码字,这些位承载被去除的测试编码信息。例如,图28所示的测试编码的第一和第二等级的代码字宽度分别是W(I) = 20和W(2) = 20-3 = 17。类似地,可以获得的层级代码字是CW(I) =E[19:0]和CWO) =E[19:3]。由于在每个层级等级中独立地观察差错,因此如果CW(maX(i))中两个差错为〒M位,那么差错掩码就能发生, 其中丨⑽表示层级测试编码方案中所有Ni相乘,并且其中max (i)表示最低的层级等级。因此,对于层级测试编码TE (W,Ni,N2,…,Nm),差错掩码距离S = ^M,掩码的双差错的总数 η =W(maX(i))-S,并且猝发差错掩码长度λ = 2 δ。在图观中,例如,在CW⑵中δ = NlxN2 = 3x2 = 6 位距离,η = 17-6 = 11,并且 λ = 2 δ = 12。相比于表示为 TEQ0,5) 的非层级测试编码(其中δ = 5,η = 15,并且λ = 2δ = 10),层级编码可提供改进的差错掩码能力。由于双差错掩码是可能的,在CW(maX(i))中还可能存在具有2"个差错的差错掩码,其中n = 2,3,等等。为了避免双差错掩码,测试编码方案可以增强为TEQ0,5, 3)。在这种编码方案中,CWO) =Ε[19:5],并且WQ) = 15。掩码的差错可以在15位的距离上生成,这是在CW[2]之外,因为在Ε[19:5]中第一个位和最后一个位相距14位。因此差错不会被掩码。为了确保差错掩码容差,测试编码方案满足以下情况。对于测试编码方案 TE(W,Ni,Ν2,...,Nm),1.Ni和Nj之间没有公约数,其中i兴j ;
2.min (Ni) = Nm,其中min (χ)表示χ的最小值;
3.从测试编码函数的总数可以确定测试编码方案中的层级数,如果是N,那么 Y = 并且γ M是最大值。
例如,如果将十个测试编码函数结合进入20位代码字中的编码方案中,那么编码方案 TE(20,6,4)可能不会同TEQ0,7,3) —样有效。这是因为6和4的公约数是2,它将差错掩码距离减少到12,而非Μ。由于差错掩码距离小于\^2) = 14,因此可以存在2个掩码的双差错。另一方面,在TEQ0,7,3)中,7和3之间没有公约数,差错掩码距离保持为21。 因为差错掩码距离超出了 W(2) = 13或者=-8,(它小于零),在TEQ0,7,3)中不可能存在差错掩码。最低的层级等级中代码字的宽度,比如W(m),可以影响差错校验能力。因为在W(m)-差错掩码距离<0时没有掩码差错,W(m)在所有的W(Ni)中应该是最小的。在测试编码函数总数的划分方面进行的改进还可以减少差错掩码的几率或者增加差错校验的能力。例如,一个30位代码字中的十个编码函数可以在3个等级的层级中实现, 该3个等级的层级由第一等级中的5个编码函数、第二等级中的3个函数和第三等级中的 2个函数所组成,从而导致TE (30,5,3,2)。例如,TE (30,5,3,2)可以比TE (30,7,3)检出更多的差错。这是因为TE(30,5,3,2) = 5x3x2 = 30并且W(3) = 30-5-3 = 22的差错掩码距离导致W(3)-30 =-8,这表明不可能有差错掩码。然而,TE(30,7,3)中掩码的双差错的数目可以是= 23-21 = 2,表明相距21位的2个掩码的双差错。不允许差错掩码的20位SPDRAM代码字测试编码方案是TE 00,5,3,幻。在TE Q0,5,3,幻中不可能掩码双差错,因为δ =30远大于W(3) = 12。可能没有猝发差错掩码,因为猝发差错掩码长度入为λ = 2δ =60。藉由测试编码函数可以在每个层级等级中检出任何奇数的差错。在不同等级的测试编码层级上可以检出偶数个差错,偶数个差错可以出现为被无差错位所间隔开的多组较小猝发差错。例如,可以在测试编码层级的一个或多个等级上检出由CW(3)= e[ll:0]内的无差错位隔开的任何数目的差错组。可以藉由等级3中的测试编码方案检出 N2(或者3)数目的差错,这些差错相距m-N2 = 2个无差错位。可以藉由等级1中的测试编码方案检出N2数目的差错,这些差错相距N2-N3 = 1个无差错位。实际上,层级测试编码系统或者过程的实施例对相同的代码字可以生成不同的和独立的解析。因此,由一种解析方式所掩码的差错可以被另一个检出。以此方式,层级测试编码可以减少差错掩码的可能性。因为层级测试编码处理的实施例可以采用与非层级处理相同的方式来实施,因此在此假定采用非层级测试编码流程来描述基本的概念。在本说明书中,只是在必要或适当的时候才单独叙述层级编码系统或者过程,但也可以使用层级过程。以下总结了以测试模式的类别签名序列所表示的测试特性
從g(测试模式)seq{S[A 3]) λ seq(S[2 0]) 其中Seq(S[4:3]) Λ seq(S[2:0])表示测试模式所满足的测试特性的交集。测试特性可以被理解为测试模式的说明。测试特性可以专指一类别或者一类型的测试模式序列,而不是具体的测试模式序列。有含义的逻辑等式说明测试模式序列是对应的类别签名序列的实现方式(或者成员)。可为类别签名定义合成运算。类别签名的大小取决于生成类别签名的编码函数的数目。例如,在本文档中考虑的是3位签名,但多个实施例并不限于任何具体的位数。在具体的实施例中,如果采用TEQ0,5,3,2)层级编码实现方式,那么可能还需要满足由5位、3位以及2位层级类别签名序列(它们是从利用对应的测试编码函数的解析中获得)所组成的10位签名序列。为了在测试模式流中嵌入或校验测试特性,所希望的类别签名序列可能要求操作处理。在某些实施例中,可以利用类别生成函数将任何所希望的类别签名嵌入在测试模式序列中。图四展示了类别生成函数的实施例。函数& 2910,^四20和&四30的输出由类别签名生成器四40进行处理。作为一个实例,在图四中描述了使用M)R门的类别生成函数的实施例。另外,控制输入C[2:0]被用于操控签名S[2:0]
C
= f0(X0) e
= S
C[l] = f! (X1) e[l] = S[l] C [2] = f2 (X2) e[2] = S [2]
可任选地,20位数据E[19:0]的奇偶性还可以从如下所示的C[2:0]计算得到而不考虑实际的20位数据本身。测试编码确保了计算的有效性。 奇偶性(所 19 0]) =,(C[2] θ C[l] Θ Cm图四提供了可以直接地由C[2:0]控制的任何类别签名,S[2:0]。在某些实施例中,由于C[2:0]可以被用于直接地控制S[2:0]用于选定的类别生成函数,通过将相同的 S[2:0]应用到C[2:0]就可以生成任何希望的S[2:0]。在本说明书中,出于解说的目的,假定采用类别生成函数的XOR实现方式。然而,根据测试应用,还可以使用其它函数来生成类别签名。图30和31展示了利用层级编码将测试特性嵌入测试数据流的过程的实施例。 图30包括与测试特性生成器3005相耦合的模式源3010。在这个图示中,测试特性生成器3005包括采用函数^ia 3020和CJ4:3]生成器3025的层级编码3015,以及CE[2:0]生成器3035和函数f^u 3030。因为嵌入测试特性通常是由发送器TX提供的动作,所以使用大写字母下标E。如图30所示,E[17:5]由函数3020解析。函数的输出可以经由 XOR逻辑由CJ4:3]生成器3025提供的类别签名进行修改,以产生所要求的类别签名序列 seq6j4:3])。Cj4:3]生成器3035可以是有限的状态机(FSM)并且可以被编程以生成所要求的Seq6j4:3])。所生成的类别签名序列可以嵌入E[4:3]中。E[17:5]和SEW:3]可以类似地由函数fu,。3030进行解析,并且签名序列seq(&[2:0])也可被嵌入E[2:0]中。 还可以使用XOR函数和反相器从类别签名中计算出e[19:0]的奇偶性。图31展示了一个类似于图30的结构3105,但缺少CJ4:3]生成器3025和Ce[20] 生成器3035。在某些实施例中,签名序列可以从所生成的测试模式中提取,如图31所示。所提取的类别签名序列可以用于差错校验。例如,当待测装置同时包括串行器和串并转换器时,就可以使用这种方法。当将被传输的测试模式正在被生成时,也可以生成将被接收的测试模式的所预期的类别签名。测试模式源和差错校验器可以相对于类别签名序列而同步。图32展示了在接收器上校验嵌入测试特性的测试模式的过程的实施例。在这个图示中,测试特性校验器3205可以包括示出为函数3220和生成器3225的层级编码,以及函数fcM 3230, Ce(4:3)生成器3225和差错校验器3250。嵌入的测试特性可以从输入的测试数据流中提取,并对照预期的签名序列进行校验。以seq(SM[2:0])所表示的所接收的类别签名序列可以在接收器上藉由测试编码函数进行构建。所构建的可以被用于计算奇偶性并且可以与预期的类别签名进行比较以确定是否存在差错。在某些实施例中,预期的类别签名序列seq^^hO])可以从Ce[2:0]生成器 3235生成。所提取的Seq(Sn[2:0])可以对照8叫(^[2:0])进行校验以检测差错。如果Seq((U2:0])与Seq(CE[2:0])相同,如以上所概述的,在没有差错出现的前提下 seq(&[2:0])包含了零类别签名序列,S卩 seq(&[2:0]) =< (000) (000) (000)丨<。换言之,任何非零的类别签名都可以被认为是差错。因此,藉由对类别签名的位进行OR运算就可以检出差错。如果采用层级测试编码,可以将相同的差错校验流程并行地应用于层级编码部件,如图M所示。测试编码函数和类别生成函数不必与模式源中的那些相同。它们通常是独立的,并且如果不同的测试编码函数和类别生成函数可提供更好的优化,则可以是不相同的。
权利要求
1.一种测试存储器板的方法,包括测试所述存储器板的存储器,所述存储器的测试包括使用内置自测试结构来提供用于所述存储器的第一测试模式;以及用主机来测试所述存储器的IO(输入输出)接口,所述IO接口的测试包括使用所述内置自测试结构来提供用于所述IO接口的第二测试模式。
2.如权利要求1所述的方法,其中所述存储器是串行端口动态随机存取存储器 (SPDRAM)。
3.如权利要求1所述的方法,其中所述存储器的测试与所述IO接口的测试是分开进行的。
4.如权利要求1所述的方法,其中所述第一测试模式符合用于所述存储器的协议。
5.如权利要求4所述的方法,进一步包括藉由使能对用于所述存储器的合法命令的检测来执行对所述存储器测试的差错校验。
6.如权利要求4所述的方法,其中所述第二测试模式不符合用于所述存储器的所述协议。
7.如权利要求1所述的方法,进一步包括将测试特性编码进入所述第二测试模式。
8.如权利要求1所述的方法,其中所述内置自测试结构的至少一部分被包括在所述存储器以及所述主机中。
9.如权利要求1所述的方法,进一步包括检查所接收的测试模式以确定在所述存储器或者所述IO接口中是否已经发生一个或多个差错。
10.如权利要求1所述的方法,进一步包括基于校验所述第一测试模式的提取的测试特性对存储器进行测试。
11.如权利要求1所述的方法,其中提供所述第一测试模式以及所述第二测试模式包括生成测试信号。
12.如权利要求1所述的方法,其中提供所述第一测试模式以及所述第二测试模式包括从外部测试器接收测试信号。
13.如权利要求1所述的方法,进一步包括将所述内置自测试结构中的至少一部分旁路连接以便回环一信号用于测试。
14.如权利要求1所述的方法,其中所述存储器包括多个端口,并且进一步包括将所述端口耦合在一起用于测试。
15.如权利要求14所述的方法,其中每个端口包括串行器和串并转换器,其中将所述端口耦合在一起包括将第一端口的串行器连接到第二端口的串并转换器上。
16.如权利要求15所述的方法,其中测试包括将测试模式应用于所述第一端口的串行器上,并且在用于所述第一端口的串并转换器上接收测试模式。
17.如权利要求1所述的方法,进一步包括利用多个层级式组织的测试编码函数生成测试模式以便将测试特性嵌入所述测试模式之中。
18.如权利要求1所述的方法,其中所述存储器的测试以及用于所述存储器的接口的测试是在所述存储器板内部进行的,测试包括配置所述存储器板以便回环所述存储器板中的一信号。
19.如权利要求1所述的方法,其中测试所述IO接口包括从所述存储器板的输出将信号回环到所述存储器板的输入上。
20.如权利要求1所述的方法,其中测试所述IO接口包括将所述主机内的信号从所述主机的输入回环到所述主机的输出上。
21.如权利要求1所述的方法,其中所述装置包括多个存储元件,并且其中所述存储器的测试包括测试用于所述多个存储元件中的每一个的界面。
22.如权利要求21所述的方法,其中用于所述多个存储元件中的每一个的接口的测试包括将每个接口的一个或多个连接切换为打开或者关闭以生成用于传输测试模式的测试路径。
23.如权利要求22所述的方法,其中一个或多个连接的切换包括进行切换以生成非功能性的测试路径。
24.如权利要求22所述的方法,其中一个或多个连接的切换包括切换连接来测试开路故障和桥接故障中的一个或多个。
25.一种装置,包括存储器,所述存储器包括第一测试结构; 主机的物理层,所述物理层包括第二测试结构;以及位于所述存储器以及所述物理层之间的接口;其中所述存储器以及所述接口是有待使用所述第一测试结构以及所述第二测试结构来进行测试的。
26.如权利要求25所述的装置,其中所述存储器以及所述接口的测试是分开进行的。
27.如权利要求25所述的装置,其中所述存储器的测试包括使用第一测试模式,所述第一测试模式符合用于所述存储器的协议,并且所述接口的测试包括使用不符合用于所述存储器的所述协议的测试模式。
28.如权利要求25所述的装置,其中所述存储器是串行端口动态随机存取存储器 (SPDRAM)。
29.如权利要求28所述的装置,其中所述存储器包括多个端口,每个端口具有串行器和串并转换器。
30.如权利要求四所述的装置,其中测试生成器为所述存储器的每个端口提供测试模式。
31.如权利要求四所述的装置,其中每个端口包括差错校验器,每个差错校验器校验由用于所述对应端口的串并转换器所接收的所述测试模式。
32.如权利要求四所述的装置,其中所述存储器板包括用于所述多个端口的单个差错校验器。
33.如权利要求四所述的装置,其中所述端口被串行连接在一起用于所述装置的测试ο
34.如权利要求25所述的装置,其中所述第一测试结构包括存储器测试接口单元。
35.如权利要求34所述的装置,其中所述存储器测试接口单元包括串行IO测试生成ο
36.如权利要求34所述的装置,其中所述存储器测试接口单元包括命令生成器以及数据和地址生成器。
37.如权利要求36所述的装置,其中所述存储器测试接口单元进一步包括命令扩展器以创建多条命令并将所述多条命令并行地分发到多个端口上。
38.一种计算机可读媒质,其上存储有代表指令序列的数据,所述指令序列在由处理器执行时致使所述处理器执行操作,所述操作包括测试串行端口动态随机存取存储器(SPDRAM)板的存储器,所述存储器的测试包括使用内置自测试结构来提供用于所述存储器的第一测试模式;以及用主机来测试所述存储器的IO (输入输出)接口,所述IO接口的测试包括使用所述内置自测试结构来提供用于所述IO接口的第二测试模式,其中,所述存储器的测试与所述IO 接口的测试是分开进行的。
全文摘要
一种用于计算机存储器测试结构的方法和装置。用于存储器板的测试方法的实施方式包括测试该存储器板的存储器,其中测试该存储器包括使用内置自测试结构来提供用于该存储器的第一测试模式。该方法进一步包括用主机来测试该存储器的IO(输入输出)接口,其中该IO接口的测试包括使用该内置自测试结构来提供用于该IO接口的第二测试模式。
文档编号G01R31/317GK102473462SQ201080030348
公开日2012年5月23日 申请日期2010年6月18日 优先权日2009年7月2日
发明者薛真成, 金成骏 申请人:晶像股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1