专利名称:通用可访问完全可编程的存储器内置自测系统和方法
技术领域:
一般说来,本发明涉及用于测试存储器的存储器内置自测(MBIST),更确切地说,涉及改进的用于执行通用可访问及完全可编程的MBIST的系统和方法。
背景技术:
复杂的片上系统(SoC)设计,比如ASIC芯片等,典型情况下包含大量的嵌入式存储器。所述嵌入式存储器可以是静态随机存储器(SRAM)、动态随机存储器(DRAM)、高速缓存、寄存器文件以及甚至是FLASH存储器。SoC芯片的嵌入式存储器位于内部,因而不易于从外部存取以便测试。结果,位于SoC上的MBIST系统是测试SoC上嵌入式存储器阵列的通用方法。
典型情况下,常规的MBIST设计包括地址发生器、数据发生器、对在测存储器排列地址并读写测试存储器阵列的逻辑,以及用于比较写入与读出测试存储器阵列并报告结果的比较器。典型情况下,在先MBIST设计需要某种外部测试序列即指令以便初始化MBIST测试,它使得地址发生器和序列发生器产生和排序所需测试数据模式的地址,该模式将对在测存储器中每个位置进行写入和读出。写入和读出的数据(预期数据)被加以比较,并由简单的通过/失败状态报告结果,或者在更复杂的设计中,则实施更精细的逻辑,以便进行诊断、调试等。
产生测试数据模式(也称为背景模式)的常规MBIST系统和方法包括对带有逻辑电路的实际数据模式进行硬布线、在只读存储器(ROM)中存储所需的测试数据模式以及测试数据模式的算法生成。
创建测试数据模式时最简单最容易的方法是将逻辑电路硬布线到MBIST控制器引擎中,以产生所需的测试数据模式,例如1和0纵横交错的排列模式或类似的数据模式。典型情况下,采用逻辑电路将由硬布线逻辑产生的测试数据模式的存储器地址写入在测存储器中。硬布线设计需要门逻辑将每个所需的存储器测试数据模式硬布线到MBIST控制器引擎中,因此在所述SoC制造之后,对于不同的测试数据模式,硬布线的MBIST设计无法重新编程即无法发生改变。
如果需要大量的存储器测试数据模式,所述测试数据模式可以编码在只读存储器(ROM)中,它可以是MBIST控制器的一部分,也可以不是。所述MBIST的序列发生器逻辑将存储器测试数据模式从ROM加载到在测存储器,直到所用的ROM位置加载完。虽然这种设计能够增加存储器测试模式的数目,但是ROM设计要求所需的测试数据模式预先编程,同样无法重新编程以改变所述测试数据模式。
常规的MBIST算法生成设计在激活所述MBIST时,通过利用逻辑门产生若干测试数据模式,以便产生所需的测试数据即背景模式。在MBIST激活时,可以挑选测试数据模式的特定组合。运行MBIST时,动态地产生所需的若干背景模式,以便将测试数据模式写入在测存储器中。算法生成技术的明显缺点是,所需测试数据模式必须预先产生即预先编程。这种设计也受限于由逻辑门定义的测试数据模式。
更精细的算法生成设计的一个实例公开于6,452,848号美国专利,标题为“Programmable Built-in Self-Test(BIST)Data GenerationFor Semiconductor Memory Devices”,其内容在此引用作为参考。6,452,848号专利基于根据在测存储器的行列地址,使用附加的逻辑电路产生数据背景模式。虽然6,452,848号专利似乎公开了可编程的存储器测试模式发生器,但是该设计仅限于可以由扩展硬布线的XOR逻辑门产生的测试数据模式。该设计也无法接收外部编程(如MBIST控制器的外部)以产生测试数据模式。此外,扩展硬布线的逻辑门、地址扰码寄存器和数据字寄存器还必须递增和/或递减。因此,由于扩展逻辑门造成的延迟以及地址和数据字寄存器递增或递减所关联的延迟(需要至少一个时钟周期),6,452,848号专利的MBIST设计无法以在测存储器同样的速度运行。
发明内容
所以本发明的目的是提供通用可访问完全可编程的存储器内置自测(MBIST)系统和方法。
本发明的进一步目的是提供能够产生任何所需数目的用户定义测试数据模式的系统和方法。
本发明的进一步目的是提供无须硬布线所述MBIST控制器引擎而能够产生任何所需数目的用户定义测试数据模式的系统和方法。
本发明的进一步目的是提供无须ROM而能够产生任何所需数目的可编程测试数据模式的系统和方法。
本发明的进一步目的是提供无须使用算法生成而能够产生任何所需数目的可编程测试数据模式的系统和方法。
本发明的进一步目的是提供能够外部编程用户定义测试数据模式的系统和方法。
本发明的进一步目的是提供能够以在测存储器速度运行的系统和方法。
本发明实现了真正创新的通用可访问完全可编程的存储器内置自测(MBIST)技术,不再需要测试数据模式硬布线、将所述测试数据模式存储在ROM中以及利用算法生成技术去创建测试数据模式,所有这些都需要在MBIST控制器中内部预先编程或预先产生所述测试数据即背景模式。新技术通过下列手段实现对在测存储器产生地址;向所述在测存储器的选定地址递送测试数据;从所述在测存储器的所述选定地址中读出所述测试数据;对比从所述在测存储器中读出的所述测试数据和向所述在测存储器递送的所述测试数据,以识别存储器故障;对用户可编程的数据模式寄存器进行编程,以向所述在测存储器提供测试数据模式;以及利用外部模式编程设备,为用户可编程的数据模式寄存器产生所述测试数据模式。
本发明的特征在于通用可访问完全可编程的存储器内置自测(MBIST)系统,包括MBIST控制器,具有配置成对在测存储器产生地址的地址发生器、配置成向所述在测存储器的选定地址递送测试数据及读出该测试数据的序列发生器电路、配置成对比从所述在测存储器读出的所述测试数据和向所述在测存储器递送的所述测试数据以识别存储器故障的比较器电路、向所述在测存储器提供测试数据模式的外部可访问用户可编程的模式寄存器;以及外部模式编程设备,配置成向所述用户可编程的数据模式寄存器提供测试数据模式。
在一个实施例中,所述外部编程设备可以包括配置成产生用户定义的测试数据模式的计算机。所述外部编程设备可以包括配置成产生用户定义中测试数据模式的可编程硬件。所述用户可编程的模式寄存器可以包括FLASH存储器。所述通用可访问完全可编程的存储器内置自测(MBIST)系统可以包括交换设备,配置成选择计算机或可编程硬件产生用户定义的数据模式。所述用户可编程的模式寄存器可以从所述外部模式编程设备串行地接收所述测试数据。所述用户可编程的模式寄存器可以从并行配置的所述外部模式编程设备接收所述测试数据。所述用户可编程的模式寄存器可以包括1到N位。所述用户可编程的模式寄存器可以位于所述MBIST控制器之内。所述用户可编程的模式寄存器可以位于所述MBIST控制器以外。所述测试数据模式可以选自包含以下模式的组纵横交错排列模式、对角线模式、全0模式、全1模式、步进式1模式、步进式0模式。所述测试数据模式可以是用户定义的任何二进制数据模式,仅仅受限于所述用户可编程的数据寄存器的尺寸。所述测试数据模式可以包括用户定义的任何1和0的模式。所述系统可以包括多路转换器,其中测试模式信号根据所述测试模式信号的预定状态,选择所述地址发生器产生的地址或系统地址。所述系统可以包括多路转换器,其中测试模式信号根据所述测试模式信号的预定状态,选择测试数据或系统数据的模式。
本发明的特征还在于通用可访问完全可编程的存储器内置自测(MBIST)系统,包括MBIST控制器,具有配置成对在测存储器产生地址的地址发生器、配置成向所述在测存储器的选定地址递送测试数据及读出该测试数据的序列发生器电路以及配置成对比从所述在测存储器读出的所述测试数据和向所述在测存储器递送的所述测试数据以识别存储器故障的比较器电路;远离所述MBIST控制器的、向所述在测存储器提供测试数据模式的外部可访问用户可编程的模式寄存器;以及外部模式编程设备,配置成向所述用户可编程的数据模式寄存器提供测试数据模式。
本发明的特征还在于通用可访问完全可编程的存储器内置自测(MBIST)方法,所述方法包括以下步骤对在测存储器产生地址;利用外部模式编程设备,为外部可访问用户可编程的模式寄存器产生测试数据模式;以所述测试数据模式将所述用户可编程的模式寄存器编程至所述在测存储器;向所述在测存储器的选定地址递送测试数据;从所述在测存储器的所述选定地址读出所述测试数据;以及对比从所述在测存储器读出的所述测试数据和向所述在测存储器递送的所述测试数据,以识别存储器故障。
从下面优选实施例的说明和附图中,本领域的技术人员将发现其他目的、特征和优点,其中图1A-IC是典型现有技术MBIST设计的示意框图;图2是另一种现有技术算法生成MBIST的示意框图;图3是根据本发明的、通用可访问完全可编程的存储器内置自测系统的示意框图;图4A-4D是多个表格,显示了根据本发明可以产生的各种测试数据模式的实例;
图5是框图,显示了本发明的通用可访问完全可编的程存储器内置自测方法的主要步骤。
具体实施例方式
除了优选实施例或以下公开的实施例以外,本发明还能够实现其他实施例,并以多种方式实践和执行。因此应当理解,本发明不限于在其申请的以下说明中阐述的或附图展示的结构细节和部件布局。
虽然本发明的特定特征显示在某些图中,而没有显示在其他图中,这仅仅是为了方便,因为根据本发明,每种特征都可以与任何其他特征或所有其他特征进行组合。本文使用的词汇“包括”、“包含”、“具有”以及“带有”应当广泛全面地解释,而不限于任何实质的互连。此外,在本主题申请中公开的任何实施例都不应当视为仅有的可能实施例。
正如以上背景技术部分中的讨论,常规MBIST系统和方法为测试存储器而产生测试数据模式时通过在MBIST控制器上以所需测试数据模式硬布线逻辑电路、在只读存储器(ROM)中存储测试数据模式或利用算法生成技术产生所需的测试数据模式。
例如,图1的现有技术MBIST系统10包括地址发生器12,配置成对在测存储器14在线13上产生地址;以及序列发生器16,配置成在线15上向在测存储器14递送由硬布线逻辑电路18产生的测试数据模式。以及读出此测试数据。序列发生器16在线15上读取向在测存储器14写入的数据模式,比较器20对比向在测存储器14写入和读出的测试数据模式,以识别和报告存储器故障。这种设计明显的缺点是必须把所需的测试数据模式硬布线到硬布线逻辑电路18之内,它阻止了系统10对新的即不同的测试数据模式进行再编程。此外,每个硬布线的数据模式都占用了宝贵的芯片资源,限制了能够使用的测试数据模式的数目。
图1B的常规MBIST系统30采用类似于MBIST10的技术,其中相同的部件给予相同的附图标记,只不过以ROM32取代了硬布线逻辑电路18。ROM32可以利用所需的测试模式编码,序列发生器16在线15上将它读入和读出在测存储器14,并同样由比较器20进行对比,以识别故障。虽然现有技术MBIST系统30可以对在测存储器14增加测试模式的数目,但是本设计明显的缺点是一旦MBIST系统30制成,就无法对所述ROM再编程以改变所需的测试模式。
图1C的现有技术MBIST系统40采用算法发生器42为在测存储器14产生所需的测试数据模式,其中相同的部件给予相同的附图标记,当激活MBIST系统40时,采用逻辑门(未显示)产生所需的测试数据模式。通过为多种测试数据模式选择硬布线逻辑电路的多种组合,在激活MBIST系统之时,可以产生测试数据模式的特定组合。虽然这种设计在激活之时可以适应测试模式的多种组合,但是这种设计同样受限于预定义数目的测试数据模式,它们以逻辑门电路硬布线,必须预编程,因此在MBIST系统40制成之后,不能再编程。
图2的现有技术MBIST系统50,正如在以上讨论的6,452,848号美国专利中公开的,显示了现有技术算法生成设计更精细的实例。本设计采用扩展硬布线逻辑电路,比如XOR阵列52和54、地址扰码寄存器56和数据字寄存器58,以便为在测存储器60提供测试数据模式。虽然现有技术MBIST系统50的设计似乎公开了可编程存储器测试模式,但是该设计受限于可以由扩展硬布线的XOR逻辑阵列52和54产生的测试数据模式。该设计也无法接收测试数据模式的外部编程。此外,地址扰码寄存器56、数据字寄存器58以及扩展XOR阵列52和54的加入限制了MBIST系统50以在测存储器60同样速度运行的能力。
反之,图3中本发明的通用可访问完全可编程的存储器内置自测(MBIST)系统包括配有地址发生器64的MBIST控制器62,配置成在线103上为在测存储器66产生地址。MBIST控制器62还包括序列发生器电路68,配置成在线71上向在测存储器66的选定地址传递测试数据,例如由用户可编程的模式寄存器70在线67上提供的测试数据模式。控制器62还包括比较器电路72,配置成对比在线96上从在测存储器66读出的测试数据和在线81上的测试数据模式,以识别和在线77上报告存储器故障。
用户可编程的模式寄存器70向在测存储器66提供由外部编程设备75(以下将详细讨论)收到的、用户定义的测试数据模式。在一个实施例中,用户可编程的模式寄存器70包含16位,如块83所示。在其他的设计中,用户可编程的模式寄存器70可以包含从1到N位,其中在87指明的N可以是32位、64位、128位、256位,或所需的任何位数,正如本领域技术人员所熟知。虽然图3所示的用户可编程的模式寄存器70位于MBIST控制器62的内部,但是本发明不必局限于此,因为用户可编程的模式寄存器70也可以位于MBIST控制器62以外,如虚线80所示。用户可编程的模式寄存器70可以在线89上从外部编程设备75串行地接收测试数据模式,或在其他的设计中,在线89上从并行结构的外部编程设备75接收测试数据模式。
MBIST系统60还包括外部编程设备75,比如计算机76或可编程硬件78,配置成向用户可编程的模式寄存器70提供测试数据模式。典型情况下,计算机76配置(如编程)为向用户可编程的模式寄存器70产生用户定义的任何测试数据模式。可编程硬件78也可以外部编程为产生用户定义的任何测试数据模式。在一种设计中,可编程硬件78可以包括自动测试设备(未显示),它可以配置成输入用户定义的数据模式。在其他设计中,用户可编程的模式寄存器70可以包括FLASH存储器,以便存储用户定义的数据模式。此FLASH存储器后来可以使用所需的任何其他测试数据模式进行再编程。虽然图3所示的外部编程设备75可以是计算机或可编程硬件,但是本发明不必局限于此,因为外部编程设备75可以是本领域技术人员所熟知的、向用户可编程的模式寄存器70提供用户定义测试数据模式的任何设备。
在理想情况下,MBIST系统60包括转换器88,配置成选择多种外部编程设备,如计算机76和/或可编程硬件78。
MBIST系统60还包括多路转换器90,其中线92上的测试模式信号或者选择线94上的系统数据,或者选择线71上的测试数据模式。线92上的测试模式信号指明MBIST控制器62是否处于测试模式(典型情况下,由线101上的BIST起始提供),如果是,多路转换器90就选择线71上的测试数据(如测试数据模式),它在线97上写入了在测存储器66。如果线92上的测试模式信号指明MBIST系统60未活动,多路转换器90选择线94上的系统数据。
MBIST系统60还包括多路转换器100,其中线92上指示的测试模式信号或者选择线103上地址发生器64所产生的地址,或者选择线106上的系统地址。类似地,线92上的测试模式信号确定MBIST系统60处于测试模式,还是处于正常系统方式。如果线92上的测试模式信号指明MBIST系统60处于测试模式,多路转换器100就选择线103上地址发生器64的BIST地址,它然后用于在线104上作为在测存储器66的地址。否则,多路转换器100选择线106上的系统地址。
MBIST系统60提供了利用外部编程设备75对用户定义的任何测试数据模式进行外部编程(如MBIST控制器62以外)的能力。所述用户定义的测试数据模式被写入在测存储器66并读出,比较器72对比写入和读出的测试数据模式,以识别故障存储器位置。其结果是不再需要对测试数据模式硬布线逻辑电路、采用ROM存储众多测试数据模式或利用算法生成技术产生固定的数据模式。MBIST系统60可以重新配置和外部编程,以产生所需的任何测试数据模式,比如图4A所示的纵横交错排列或纵横交错排列互补测试数据模式、图4B所示的对角线或对角线互补测试数据模式、图4C所示的字节或字宽交互纵横交错排列模式、图4D所示的步进式测试数据模式或所需的任何其他模式。虽然图4A-4D显示了根据本发明可以进行外部编程的几种测试数据模式的实例,但是本发明不必局限于此,因为利用外部编程设备75或可编程硬件78可以编程用户定义的任何数据模式。此外,因为由外部编程设备75提供的、用户定义的测试数据模式存储在用户可编程的模式寄存器70中,并经由序列发生器68处理或传输到在测存储器66,所以MBIST系统60能够运行于在测存储器66相同的速度。
图5中本发明的通用可访问完全可编程的内置自测存储器方法198包括以下步骤步骤200为在测存储器产生地址;步骤202利用外部模式编程设备,为外部可访问用户可编程的模式寄存器产生测试数据模式;步骤204对外部可访问用户可编程的模式寄存器编程,向在测存储器提供测试数据模式;步骤206然后把编程的测试数据传递到在测存储器的选定地址;步骤208从在测存储器的选定地址读出测试数据之后;步骤210将在测存储器读出的测试数据与向在测存储器传递的测试数据进行对比,以识别存储器故障。
本领域的技术人员将发现其他实施例,并且在以下权利要求书限定范围之内。
权利要求
1.一种通用可访问完全可编程的存储器内置自测(MBIST)系统,包括MBIST控制器,包括地址发生器,配置成为在测存储器产生地址;序列发生器电路,配置成向所述在测存储器的选定地址递送测试数据以及读出该测试数据;比较器电路,配置成对比从所述在测存储器读出的所述测试数据和向所述在测存储器递送的所述测试数据,以识别存储器故障;以及外部可访问用户可编程的模式寄存器,用于向所述在测存储器提供测试数据模式;以及外部模式编程设备,配置成向所述用户可编程的模式寄存器提供所述测试数据模式。
2.根据权利要求1的系统,其特征在于,所述外部编程设备包括计算机,配置成产生用户定义的测试数据模式。
3.根据权利要求1的系统,其特征在于,所述外部编程设备包括可编程硬件,配置成产生用户定义的测试数据模式。
4.根据权利要求1的系统,其特征在于,所述用户可编程的模式寄存器包括FLASH存储器。
5.根据权利要求1的系统,进一步包括转换器,配置成选择计算机或可编程硬件,以产生用户定义的数据模式。
6.根据权利要求1的系统,其特征在于,所述用户可编程的模式寄存器从所述外部模式编程设备串行地接收所述测试数据。
7.根据权利要求1的系统,其特征在于,所述用户可编程的模式寄存器从并行配置的所述外部模式编程设备接收所述测试数据。
8.根据权利要求1的系统,其特征在于,所述用户可编程的模式寄存器包含从1到N位。
9.根据权利要求1的系统,其特征在于,所述用户可编程的模式寄存器位于所述MBIST控制器之内。
10.根据权利要求1的系统,其特征在于,所述用户可编程的模式寄存器位于所述MBIST控制器以外。
11.根据权利要求1的系统,其特征在于,所述测试数据模式选自包括以下模式的组纵横交错排列模式、对角线模式、全0模式、全1模式、步进式1模式、步进式0模式以及/或者其任何组合。
12.根据权利要求1的系统,其特征在于,所述测试数据模式是任何定义的二进制数据模式,仅仅受限于所述用户可编程的数据寄存器的尺寸。
13.根据权利要求1的系统,其特征在于,所述测试数据模式包括用户定义的1和0的任何模式。
14.根据权利要求1的系统,进一步包括多路转换器,其中测试模式信号根据所述测试模式信号的预定状态,选择从所述地址发生器产生的所述地址或系统地址。
15.根据权利要求1的系统,进一步包括多路转换器,其中测试模式信号根据所述测试模式信号的预定状态,选择所述测试数据模式或系统数据。
16.一种通用可访问完全可编程的存储器内置自测(MBIST)系统,所述系统包括MBIST控制器,包括地址发生器,配置成对在测存储器产生地址;序列发生器电路,配置成向所述在测存储器的选定地址递送测试数据以及读出该测试数据;以及比较器电路,配置成对比从所述在测存储器读出的所述测试数据和向所述在测存储器递送的所述测试数据,以识别存储器故障;远离所述MBIST控制器的、外部可访问用户可编程的模式寄存器,用于向所述在测存储器提供测试数据模式;以及外部模式编程设备,配置成向所述用户可编程的数据模式寄存器提供所述测试数据模式。
17.一种通用可访问完全可编程的存储器内置自测(MBIST)方法,所述方法包括为在测存储器产生地址;利用外部模式编程设备,为外部可访问用户可编程的模式寄存器产生测试数据模式;利用所述测试数据模式,将所述用户可编程的模式寄存器编程到所述在测存储器;向所述在测存储器的选定地址递送测试数据;从所述在测存储器的所述选定地址读出所述测试数据;以及对比从所述在测存储器读出的所述测试数据和向所述在测存储器递送的所述测试数据,以识别存储器故障。
全文摘要
一种通用可访问完全可编程的存储器内置自测(MBIST)系统,包括MBIST控制器,具有配置成为在测存储器产生地址的地址发生器,配置成向所述在测存储器的选定地址递送测试数据及读出该测试数据的序列发生器电路,配置成对比从所述在测存储器读出的所述测试数据和向所述在测存储器递送的所述测试数据,以识别存储器故障的比较器电路,以及向所述在测存储器提供测试数据模式的外部可访问用户可编程的模式寄存器。本系统包括外部模式编程设备,配置成向所述用户可编程的数据模式寄存器提供测试数据模式。
文档编号G11C11/00GK1806293SQ200480016889
公开日2006年7月19日 申请日期2004年3月25日 优先权日2003年5月16日
发明者路易斯·A·巴斯托 申请人:阿纳洛格装置公司