CN101933098A - 使用线性反馈移位寄存器在存储器内建自测试环境中的故障诊断 - Google Patents
使用线性反馈移位寄存器在存储器内建自测试环境中的故障诊断 Download PDFInfo
- Publication number
- CN101933098A CN101933098A CN2008801165220A CN200880116522A CN101933098A CN 101933098 A CN101933098 A CN 101933098A CN 2008801165220 A CN2008801165220 A CN 2008801165220A CN 200880116522 A CN200880116522 A CN 200880116522A CN 101933098 A CN101933098 A CN 101933098A
- Authority
- CN
- China
- Prior art keywords
- test
- memory
- row
- integrated circuit
- fault
- 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.)
- Pending
Links
Images
Classifications
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/40—Response verification devices using compression techniques
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- 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
- G11C29/56008—Error analysis, representation of errors
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1208—Error catch memory
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明所公开内容为在存储器内建自测试环境中对失败的存储器测试的测试响应标记进行暂时压缩的方法和器件,其目的是即使在检测到多个与时间相关的存储器测试故障时也能够进行存储器内建自测试操作。在本发明的一些实施例中,被压缩的测试响应标记在自动化测试设备器件上与存储器位置信息一起给出。根据本发明的各种实施例,带有嵌入式存储器(204)的集成电路以及存储器BIST控制器(206)还包括用作标记寄存器的线性反馈结构(410),可在存储器测试的某一测试步骤中对来自嵌入式存储器阵列的测试响应标记进行暂时压缩。在各种实施例申,集成电路还可能包括失效字计数器(211)、失效列指示器(213)和/或失效行指示器(214),用以对失败的测试响应收集存储器位置信息。
Description
相关申请
本申请要求于2007年9月18日依照35U.S.C.§119提交的题为“在存储器BIST环境中的故障诊断”并以Nilanjan Mukherjee、Artur Pogiel、Janusz Rajski和Jerzy Tyszer作为发明人的、美国临时专利申请号为60/973,432的专利申请的优先权,在此通过参考将其整体合并入本申请中。
本发明的领域
本发明用于存储器BIST环境中的存储器故障诊断。本发明的各方面对于测试数据的采集和分析有特定的适用性,以便为集成电路器件中嵌入式存储器的连续全速测试作准备。
本发明的背景
嵌入式存储器经常是许多集成电路器件的组成部分。例如,系统级芯片(System-on-a-Chip,SoC)器件通常包含多个嵌入式存储器系统。嵌入式存储器系统包括一组存储器单元,这些存储器单元是能够保持某一状态的组件,所述状态通常由可分别表示二进制位(比特)0或1的高电压值或低电压值表征。存储器单元以阵列形式布置在嵌入式存储器内,阵列通常由行和列加以规定。数据线可以在指定单元施加或读取电压值,以分别存储或取出比特值。存储器单元通常进一步排列为字,即作为一个单位被同时寻址的固定数目的单元。
图1示出了可在嵌入式存储器中采用的存储器架构100的实施例。存储器中的每一个字均有一个地址。行解码器101a接收被寻址字的地址数据102a,在对地址数据解码时,为被寻址行占用一条数据线或互连线。类似地,列解码器101b接收被寻址字的地址数据102b。根据地址数据,列解码器101b为对应于被寻址字的列占用一条数据线或互连线。例如在收到一时钟信号时,存储器地址会被访问,以便在存储器阵列104中存储或检索数据字103。
每行包含W个字,每个字有B位,总共有R行。属于同一字的连续位既可以被依次放置,也可被交叉存取,形成如图1所示的片段105。也就是说,属于连续字的位可以在相应的存储器阵列行中被交叉存取。由此,在交叉存取形式中,各个字的对应位被 配置在一起,组成片段105。在所示的示例存储器架构中,当存储器中某一行的某一个字被寻址时,每一片段中将确实有一位被寻址。即在任何给定行中,当该行的第一个字被寻址时,该行的第一片段的第一b0、第二片段的第一b1、...,以此类推至第B片段的第一bB-1将被寻址。
近期,已观察到存储器阵列所占据的芯片区域有快速的增加。根据这一趋势,国际半导体技术路线图(International Technology Roadmap for Semiconductors)预计,在十年内某些芯片的硅片面积中有90%以上将被存储器占用。由于其极大规膜的集成,存储器阵列已开始引入新的产量损失机制,其引入速度、幅度和复杂度已经大到足够要求测试策略发生重大改变。事实上,经常无法早期发现的许多类型的故障(如与时间相关或复杂的读取故障)源自于半导体芯片的最高密度区域内。因此,与先前各代嵌入式存储器系统相比,在当前和未来的嵌入式存储器系统中,对系统进行测试的能力的要求更为重要。
然而,相比独立式存储单元,嵌入式存储器系统的测试和诊断更加困难。这种困难不仅来源于嵌入式存储器更为复杂的结构,还因为可用于访问和控制这些电路的输入和输出的数量的减少,导致测试通道带宽降低。存储器内建自测试(MBIST)已成为进行高质量测试的一种可取的解决方案。在众多理由中,MBIST通常可作为可取的被选方案的部分理由如下:(1)嵌入式存储器包括不需要应用复杂测试模式的常规结构,因此测试激励和预期测试响应可以由硬件开销小的相对简单的测试电路进行生成、压缩和存储;(2)缩减的输入/输出通道数量通常足以控制例如激活、扫描输入、扫描输出以及其他必要的BIST操作;(3)整个测试逻辑电路可以置于芯片上,这样能使测试可以全速进行,由此可检测与时间相关的故障。存储器BIST测试的一种实施例在专利号为6,421,794的美国专利中进行了说明,所述专利名为“采用自检测电路对存储器进行诊断的方法和装置”,发明人为John T.Chen和Janusz Rajski,于2002年7月16日公布,在此通过参考将其整体合并入本申请中。
尽管某些MBIST控制器被设计为硬连线有限状态机(FSM),通常还是需要一定的灵活性。因此,许多MBIST实施例是可编程(微码)器件。所述电路可以被方便地编程,以应对最新的嵌入式存储器结构的挑战。
用于嵌入式存储器的故障诊断,称为内建自诊断(BISD),通常涉及在一常规MBIST流中的特定修改,修改的主要目的是确定不正确的测试响应(有时通称为故障模式),以便由此提示有故障的存储器单元、有故障的存储器阵列列或有故障的存储器阵列行。 识别存储器阵列中故障地址的过程既可以在芯片上进行,也可以在从芯片下载经压缩的测试响应(有时称为“标记”)后在诸如自动测试设备(ATE)或其他诊断工具中离线进行。对应于不正确测试响应的标记不论是否被压缩,均可以在本文中被称为“故障标记”。进行故障诊断主要用于“修理”有故障的存储器阵列,即在内建自修理(BISR)过程中用备用的行或列替换故障行或列。进行故障诊断还用于为现有加工工艺的改进提供便利,例如,以提高未来产量。
为测试存储器电路有无与时间相关的故障,理想的方式是以“全速”即以存储器电路的额定运行速度进行测试。然而,集成电路器件输入/输出通道相对较低的带宽使快速下载故障标记或对嵌入式存储器故障地址寻址难以或无法进行。而在下载先前获得的诊断数据时又检测到另一故障的情况下,这一问题就更加严重。因此,许多经修改以测试存储器电路的BIST方案或采用“暂停和恢复”运行模式,或采用“停机和重启动”运行模式。
在“暂停和恢复”模式中,如果存在诸如仅有一个寄存器用以存储不正确的测试响应等情况,BIST控制器将在遇到故障时进入保持模式。一旦不正确的测试响应被从该单一寄存器扫描输出至ATE,BIST控制器将恢复其操作。在一些BIST方案中,配有多个寄存器以存储多个不正确的测试响应。在上述情况下,BIST控制器可以在遇到故障时继续测试,直至寄存器被填满。之后BIST控制器将进入保持模式,直至所有故障存储寄存器的内容已被完全扫描输出,随后将恢复其测试操作。
在“停机和重启动”模式中,一旦检测到故障,且相应的诊断数据被扫描输出,BIST控制器将转入初始测试状态。其根本原因在于,如果不这样,BIST控制器可能会错过从最近一次检测到故障的地址到下一目标位置(BIST控制器可在此处恢复其操作)之间涉及时序的问题。在相继的重复中,BIST控制器不会监测存储器输出,直至通过最近检测到故障的地址。
值得指出的是,某些单一故障可能产生出大量的诊断数据。例如,仅仅一条信号线或“互连线”的故障就能导致存储器阵列的一整行或一整列不正确工作,产生大量的出错数据。因此,对于常规的存储器BIST,有两个涉及大量诊断数据的主要问题。首先,将数据扫描输出可能需要相当大量的时间。其次,ATE存储器可能很快被填满,特别是在所有存储器故障均被记录的情况下。因此,或者必须对数据进行删减,或者必须停止存储器BIST控制器的工作,方可对ATE存储器进行上载。从诊断角度而言,删减数据通常不可接受。事实上,通常需要所有诊断数据来分析故障,以确定给定存储器是否可以修理。另外,由于时间限制,时间过长的ATE存储器上载经常也不可接受。
本发明的概要
本发明的各个方面涉及为在存储器内建自测试环境中对失败的存储器测试的测试响应标记进行暂时压缩的技术和器件,该发明的目的是即使在检测到多个与时间相关的存储器测试故障时也能够进行存储器内建自测试操作。在本发明的一些实施例中,被压缩的测试响应标记在自动化测试设备(ATE)上与存储器位置信息一起给出。诊断工具可以从ATE接收到经压缩的测试响应标记和存储器位置信息。此时,通过使用存储器位置信息,诊断工具可以对经压缩的测试响应标记选择合适的诊断程序,以提供用于从经压缩的测试响应标记安全恢复故障数据的时间效率非常高的离线例程。
根据本发明的各种实施例,带有嵌入式存储器的集成电路以及存储器BIST控制器还包括用作标记寄存器的线性反馈结构,该结构可在存储器测试的某一测试步骤中对来自嵌入式存储器阵列的测试响应标记进行暂时压缩。所述线性反馈结构可以是,例如线性反馈移位寄存器等。在各种实施例中,集成电路还可能包括失效字计数器、失效列指示器和/或失效行指示器。任何时候只要线性反馈结构对失效测试响应进行压缩,失效字计数器、失效列指示器和失效行指示器就会收集存储器位置信息。通过这些实施例,对诊断数据即测试响应数据和位置数据的芯片上压缩可以缩短将诊断数据传送至ATE的时间。
根据本发明的各种其他实施例,一个诊断工具会从ATE接收诊断数据,并通过使用查询表来选择合适的诊断技术。由失效字计数器、失效列指示器和失效行指示器存储的值可用作查询表的索引。此外,所述诊断工具还可以采用额外的查询表来加快从被压缩的测试响应中提取诊断数据的速度。通过这种方式,测试时间和提供给ATE并由诊断工具从ATE接收的测试数据的量能够显著减少。在考虑以下详细说明的情况下,本发明的这些乃至其他特点和方面将显而易见。
附图简要说明
图1所示为可用于嵌入式存储器的存储器架构的一个示例;
图2为包含嵌入式存储器的集成电路器件、MBIST控制器以及用于压缩测试响应标记和收集存储器位置信息的组件的框图;
图3示出了显示图2中集成电路器件运行方法的一种实施例的流程图;
图4示出了作为图2中集成电路的标记寄存器实施的多输入铃流发生器(MIRG);
图4示出了可用作具有各种实施方式的标记寄存器的多输入铃流发生器(MIRG)的一个示例;
图5示出了以0...001状态初始化的基于铃流发生器的失效字计数器,其中实心黑色处表示寄存器中一个逻辑1的位置;
图6示出了图1中集成电路的失效列指示器的实施方式;
图7示出了带有失效行检测器实施方式的图2中的集成电路器件;
图8A示出了失效行指示器的一种实现方式;
图8B示出了一种增强型失效行指示器的实现方式;
图9示出了一个带有增强型失效行指示器的存储器测试和诊断环境;
图10示出了存储器阵列中对角线单元故障的示例;
图11示出了存储器阵列中有故障的列的示例;
图12示出了一存储器阵列中同时存在一个故障行和故障列的示例;
图13示出了由于存储器单元失效而向标记寄存器进行的错误信息注入;
图14详细示出了离散对数方式的预计算阶段;
图15示出了离散对数方式中对查询表的搜索;
图16示出了一多输入铃流发生器内的标记寄存器轨迹;
图17示出了单列故障Cx和基准列C0;
图18示出了一个采用特征多项式x4+x3+1的内部异或线性反馈移位寄存器(LFSR)的快速LFSR仿真的数据结构示例;
图19示出了一个快速LFSR仿真的示例;
图20示出了一个存储器阵列内两列故障的示例;
图21所示为对应于图20中故障的一组线性方程;
图22a和图22b示出了一行和一列故障;
图23示出了用于为相邻单元内故障获取标记的MIRG拟合;
图24示出了产生相同m-序列的铃流发生器(RG)和内部异或LFSR;
图25示出了LFSR与铃流发生器两者状态之间的映射;
图26为示出存储器诊断流程实施例的简图;
图27为一种根据诊断存储器测试故障的方法的实施例的流程图;
图28示出了根据一个实施例的诊断工具。
本发明的详细说明
概述
如下文中更详细的讨论所述,本发明的各种实施例涉及一种存储器BIST环境中的嵌入式存储器电路故障诊断。首先,给出存储器BIST环境中测试和诊断流程的简述。接下来,将对一种带有嵌入式存储器的集成电路器件和一种存储器BIST控制器以及用以支持全速测试的附加组件的实施例进行讨论,并附带一种操作方法的实施例。给出一种可接收并压缩测试响应标记的标记寄存器的各种实施例。更多组件,即失效字计数器、失效行指示器以及失效列指示器也将被详细讨论,并附以支持存储器位置信息收集并为存储器测试故障数据的芯片上压缩做准备的逻辑组件。
在讨论集成电路器件之后,将对所公开的集成电路器件的运行方法的实施例进行更详细的讨论。本讨论将展示上述组件在各种实施例中如何协同工作,以便在即使存在多个与时间相关的存储器测试故障时也能实现连续、全速的存储器内建自测试运行的结果。本讨论还将展示各组件在各种实施例中如何协同工作以压缩诊断数据量(即测试响应数据和位置数据),由此缩短将诊断数据传送至自动测试设备器件的时间。
之后,给出一种对测试响应标记进行诊断的方法的实施例的详细说明。具体而言,将给出一个诊断失效测试模式的查询表,并附以一些诊断示例。本讨论还包括用以通过使用线性反馈结构确认失效单元存储器地址的附加查询表和计算的详细说明。最后,将讨论可以实施测试响应标记诊断方法的实施例的诊断工具。
以下所公开的电子电路测试技术及相关装置的实施例仅作为代表,不应理解为具有任何限定性。相反,本公开内容系面向各种所公开方法、装置及其等效物单独和以相互间的各种组合和子组合形式体现的所有新的、不明显的特点和方面。所公开的技术并不局限于任何特定方面或特征或其组合,所公开的方法和装置也不要求任何一项或多项特定优势存在,亦不要求解决任何问题。
在本中请中,除非上下文有明确规定,单数形式冠词“一个(a、an)”和“该(the)”均包含复数形式的含义。此外,术语“包含”或“包括”(include)意为“由...组成”,但并不意味着不能存在其他任何元件。此外,除非上下文有规定,“联结”(coupled)一词表示以电气或电磁方式连接或联系,包括通过一个或多个不影响电路预期运行的中间元件进行的直接连接和间接连接。
尽管为了方便表述,对一些所公开的方法和装置的操作采用了特定的顺序进行说明,但应该认为该说明包含重新安排,除非下述的特定语言要求采用特定的顺序。例如, 按顺序描述的操作在某些情况下可能会被改变顺序或同时进行。此外,为简单起见,附图可能不会示出所公开的方法及装置可能与其他方法和装置结合使用的各种方式。另外,说明中有时会使用如“确定”和“选择”等词来描述所公开的方法。这些术语是对所进行的实际操作的高度抽象。对应于这些术语的实际操作将根据具体实施例变化,但本领域的技术人员可以很容易地进行辨识。
本发明的各种实施例可采用诸如带有嵌入式存储器的集成电路(例如,专用集成电路(ASIC)(包括混合信号式ASIC)、系统级芯片(SoC)或诸如现场可编程门阵列(FPGA)等可编程逻辑器件(PLD))等多种方式实现。
此外,任何所公开器件均可在一种或多种计算机可读介质上存储为电路设计信息。例如,可以创建(或更新)和存储一种或多种包含设计信息的数据结构(例如,网表、HDL文件或GDSII文件),以包含对任何所公开装置进行说明的设计信息。所述数据结构可以在本地计算机上或通过网络进行创建(或更新),并在本地计算机上或通过网络进行存储(例如,由服务器计算机进行)。所述的计算机可读取介质被视为在所公开的技术范围内。
此外,本发明的一个或多个方面可通过执行可编程计算器件上用以完成符合本发明的一项或多项功能的软件指令的方式进行实施。作为替代或补充方式,本发明的一个或多个方面还可通过存储在计算机可读介质上、用以执行符合本发明的一项或多项功能的计算机可执行的软件指令加以实施。
再者,任何所公开方法均可用于一种计算机仿真或其他EDA环境,其中测试模式、测试响应和诊断结果通过存储在一种或多种计算机可读介质上的电路表现形式加以确定或分析。而为了表述的目的,本公开内容有时会用电路或电路组件的实际对应物指代其表现方式(例如,存储器阵列、计数器、寄存器、逻辑门,或其他此类术语)。然而应该理解的是,本公开内容中对物理组件的任何引用均包括在仿真或其他此类EDA环境中使用的此类电路组件的表现方式。
诊断流程
在一种有代表性的存储器测试和诊断流程中,通常采用一种有时被称为“行进”测试的全面测试来检查存储器阵列有无缺陷。行进测试是一个依次应用于每一存储器地址的测试步骤序列。每一个测试步骤通常由至少一个写和/或读操作组成。在对行进测试的说明中,例如表1顶行中所示,每一测试步骤均由一个圆括号内的表达式表示,该表达式规定了在测试步骤中进行的操作。每一个测试步骤由一个分号与前一步骤隔开。此外, 在测试步骤的表达式中,箭头将规定测试步骤中存储器被访问的顺序。一个测试步骤可能以地址升序(以向上箭头 表示)或地址降序(以向上箭头 表示)访问存储器。
表1的行进测试包含一个初始化步骤,以 (w0)表示,其中由“0”表示的“数据背景”字以升序写入至每一存储器字地址。所述数据背景字可以是完全由0或1组成的位模式,或可以是两者的某些组合,例如,00110011,针对某一特定8位字。相反地,“1”表示对数据背景模式的逆,例如,当数据背景字完全由0组成时,即为一个完全由1组成的字,或者采用上述另一例,当数据背景字为00110011,字则为11001100。为保证确定性,在以下讨论中,除非特别指明,数据背景字是一个完全由B个0组成的位模式,而数据背景字的逆字则为完全由B个1组成的位模式。相应地,下文中将省略0和1两边的引号。
初始化步骤之后是一个测试步骤, (r0,w1),其间将以地址升序对一目标存储器进行访问。在这一测试步骤中,对每一存储器地址依次进行两项操作。在第一项操作(r0)中,一个存储器字被读取。r之后的0表示正确的测试响应为数据背景字,即000...0,而其他任何响应均为不正确的响应。在第二项操作(w1)中,逆字即111...1被写入至存储器字。在测试步骤转至下一存储器地址之前,对一特定地址进行这两项操作。
在后续测试步骤 (r1,w0)中,将再次以地址升序对目标存储器进行访问。在这一测试步骤中,将对每一存储器地址依次进行两项操作。在第一项操作(r1)中,一个存储器字被读取。r之后的1表示正确的测试响应为数据背景字的逆字,即111...1,而其他任何响应均为不正确的响应。在第二项操作(w0)中,数据背景字000...0被写入至存储器字。在测试步骤转至下一存储器地址之前,对一特定地址进行这两项操作。
第四个测试步骤 (r0,w1)与第二个测试步骤 (r0,w1)的区别仅在于存储器访问的顺序,即以地址降序对目标存储器进行访问。类似地,第五个测试步骤 (r1,w0)与第三个测试步骤 (r1,w0)的区别也在于此,即以地址降序对目标存储器进行访问。
表1.行进测试IFA9N的故障词典
行进测试可用于检测存储器阵列中多种类型的故障。表1是将可能由行进测试观察到的错误与所观察到的错误的可能原因之间建立关联的故障词典。
通常,故障词典是行由故障标示、列由测试步骤操作标示的表。如果测试步骤操作检测到故障,该表将在对应于一特定故障和一特定测试步骤操作的表单元中包含一个1。而如果测试步骤操作未检测到故障,表单元将包含0。例如,表1中写操作下的列中被填入0,因为写操作未检测到故障。
故障词典的创建能基于诸如对存储器电路的分析、仿真或实验等。表1第一列中所列的故障包括诸如“固定0”故障(stuck-at-0 fault)SAF0和“固定1”故障(stuck-at-1 fault)SAF1。TF0和TF1为转变故障(transition fault),而命名以CF开始的故障则为耦合故障(coupling fault)。命名为SOF0、SOF1和SOF2的故障为固定开路故障(stuck-openfault)。AF0和AF1故障为地址解码器故障(address decoder fault)。由此,例如,在一个测试步骤中,在111...1被写入至一个字地址后,任何包含0的位模式均由该字地址读取,此时SAF0可被诊断。
存储器故障诊断的一个应用是构建对应于存储器阵列的二维图(位图)。构建过程使用存储器测试响应来选择每一位图像素的值,以使每一像素代表一个存储器单元的状态(即良好或失效)。在单色位图中,白色像素表示正常的单元,而黑色像素表示存储器阵列的失效之处。这些位图会从故障类型的特定类别(例如,固定故障)进行自然抽象,在进行读取操作的条件下仅提供一单元是否良好的基本信息。
另一方面,彩色位图可以采用不同的像素颜色表示不同的故障类别。例如,固定故障可能由一种颜色表示,转变故障则由另一种不同的颜色表示。彩色位图可以在诸如以BIST模式应用一组行进测试之后获得,每一行进测试中采用不同的测试步骤和/或数据背景。作为补充或替代方式,彩色位图还可以在对表示存储器阵列同一副本的一组单色位图进行的离线后处理期间获得。在某些实施例中,可以使用故障词典(例如见表1)帮助创建存储器阵列的颜色错误位图。所述词典归纳了基于一特定行进测试例程的推理过程的结果。可随所公开技术使用的词典示例及词典生成方法在L.-T.Wang、C-W.Wu、X.Wen的“VLSI Test Principles and Architectures.Design for Testability”(VLSI测试原理和架构.可测试性设计,摩根考夫曼出版公司,纽约,2006年)中进行了介绍。应该理解的是,除行进测试外的其他存储器测试也可应用于存储器内建自测试环境,例如,Galpat、Walking、Butterfly、Sliding diagonal、NPSF及其他测试。已有数百种算法变种被提出。介绍测试算法的文献包括:AJ.van de Goor,“Testing Semiconductor Memories:Theory and Practice”(测试半导体存储器:理论和实践),John Wiley&Sons Inc.,纽约,1998年;以及R.Dean Adams,“High Performance Memory Testing:Design Principles,Fault Modeling,and Self-test”(高性能存储器测试:设计原理、故障建模和自检测),Springer,纽约,2002年。在配合非行进测试的存储器测试中使用本文所述方法和设备应被理解为属于本公开的范围。
采用临时压缩的集成电路器件
在各种实施例中,故障诊断可以生成显示失效存储器单元的非常精确的单色错误位图。例如,图2为集成电路器件207的框图,所述器件包括嵌入式存储器阵列204、MBIST控制器206以及组件210、211、213和214,用于压缩测试响应标记并收集存储器位置信息。组件210是标记寄存器,将在下文中详述。组件211、213和214分别是失效字计数器(FWC)、失效列指示器(FCI)和失效行指示器(FRI),也将在下文中详述。FWC 211、FCI 213和FRI 214在本文中可能被称为位置数据收集器。标记寄存器210 和位置数据收集器211、213及214在本文中还可能被称为测试数据收集器或寄存器。对新硬件功能以及本架构特定扩展内容的详细说明在下文中给出。
尽管以下所讨论的集成电路器件207的具体示例仅有一个嵌入式存储器阵列204和一个MBIST控制器206,但应该认识到,集成电路器件207可以有多个嵌入式存储器,也可以有多个存储器BIST控制器,以使每个存储器BIST控制器能够测试多个嵌入式存储器。嵌入式存储器阵列204可以具有诸如上文图1中所示的存储器架构。对存储器阵列中的存储器单元可采用快速列或快速行寻址模式进行寻址。在快速列寻址模式中,会对一列中相继的字进行寻址,之后转至下一列。在快速行寻址模式中,会对一行中相继的字进行寻址,之后转至下一行。为表述方便,假定以快速列模式对存储器阵列204进行寻址,且各个位在存储器字中被交叉存取。尽管如此,本文中所讨论步骤的实施例仍可以很容易地扩展至其他存储器组织方式。
图3所示的流程图300示出了集成电路器件207(见图2)的一种运行方法的实施例。方法300的步骤与集成电路器件207的更详细说明一起讨论。在本例中,存储器BIST控制器206被配置为应用特定行进测试和特定数据背景字。存储器BIST控制器206生成测试模式字203,以应用于存储器阵列,并生成时钟信号212a,以便对片上测试硬件的操作进行同步。方法300可以作为对自动测试设备器件所发信号的响应而启动。此外,方法300的单个步骤可作为对存储器BIST控制器206所发信号或ATE器件所发时钟信号212b的响应而执行。
在初始化步骤323中,此方法开始于诸如行进测试的第一个测试步骤,行进测试为例如表1顶行所示的行进测试。存储器BIST控制器206(见图2)开始324执行测试步骤。当开始测试步骤时,控制器206选择325存储器阵列204的相应的字地址202,以启动测试步骤。例如,如果测试步骤要求以地址升序对存储器阵列204的字进行寻址,则相应的起始字地址为存储器阵列的最低字地址。相反,如果测试步骤是以地址降序对存储器阵列204的字进行寻址,则相应的起始字地址为存储器阵列的最高字地址。
BIST控制器206(见图2)对字地址的存储器单元应用326测试字203。如上所述,测试字可以是“数据背景”,例如,一个完全由0组成的字,或一些其他预定义字;或者,测试字也可以是数据背景的逆,也就是说,例如,当数据背景为完全由0组成的字时,测试字为完全由1组成的字。此外,在将测试字应用于存储器地址时,可进行多项操作,而在有些情况下可能会应用不止一个测试字,或者在多个操作中可能应用同一测试字。例如,在表1的第二个测试步骤中,首先进行一次读操作,其中正确的测试响应为0, 然后在同一个字地址上进行一次写1操作。在其他类型的测试步骤中,可以对同一存储器地址进行多次读取和/或多次写入。
当进行读取操作时,一个测试响应字可能被获取327。与此同时,存储器BIST控制器206(见图2)可能会生成或提供一个预期测试响应字208,以便与被获取的测试响应字一起被应用328于比较器209。也就是说,使用比较器209等方式将一个或多个测试响应字(例如,每个测试响应字)与预期响应字进行比较。在各种实施例中,比较器209是一个组合逻辑网络,例如,XOR或XNOR网络。比较器209会识别测试响应字与预期响应字有区别的位位置。例如,如果预期响应字为11111111,且观察到的测试响应字为11011111,则比较器输出为00100000。由此比较器209会为当前所访问的字地址生成测试标记。需要注意的是,在每一次读操作之后,比较器209将生成329一个测试标记,之后再对下一字地址进行访问。由比较器209按上述方式生成的测试响应标记在本公开内容中也可能被称为错误向量。
在比较器209(见图2)生成测试标记的操作329之后,标记会被暂时压缩330,并存储在标记寄存器210中。在各种实施例中,暂时压缩330在诸如多输入铃流发生器(MIRG)等器件中采用时序逻辑,以便按顺序将被编码的标记存储为铃流发生器的状态。(为保持方法300的讨论的连续性,以下将给出MIRG的详细说明。)在各种实施例中,比较器209输出位被应用331于位置数据收集器,例如FWC 211和FCI 213。方法步骤331可以与暂时压缩330同时进行。此外,如果满足适当的条件,如下文所述,B输入与门221可能会作为失效行检测器,并可能对FRI 214占用一个逻辑1。
由此,比较器209(见图2)输出端所示的合成差将驱动四个测试数据收集器210、211、213和214,它们被配置为在全速测试中连续工作。应该理解的是,在各种实施例中,可以由除比较器209提供的合成差之外的其他错误模式驱动四个测试数据收集器210、211、213和214。例如,由于测试模式字本身已知(例如作为行进测试规范的一部分),在各种实施例中,测试响应字可能会被直接采集至标记寄存器中,以供后续诊断分析使用。在属于后者的各种实施例中,片上比较器可被省略。
在步骤331之后,BIST控制器206(见图2)可以确定332是否存储器阵列的所有字地址在此测试步骤中均已被访问。如果此测试步骤仍有字地址需要测试,则下一个需测试的字地址将被选择333,此方法可以返回步骤326。如果此测试步骤的所有字地址均已被访问,则可从标记寄存器210传送334被压缩的标记数据。在各种实施例中,收集在FWC 211、FCI 213和FRI 214中的数据与被压缩的标记数据同时被传送。在各种 实施例中,传送目的地可以是一个ATE器件。由此,测试数据收集器210、211、213和214会经历对其内容的定期下载,例如,在每一测试步骤结束时。测试数据收集器210、211、213和214允许在测试步骤中对测试响应数据进行连续全速收集。
在各种实施例中,测试数据的传送334可能因采用“影子寄存器”而获得促进。在图2所示的实施例中,每一个测试数据收集器210、211、213和214均分别有一个相关的影子寄存器,215、216、217和218。其他各种实施例中也应该理解为可能存在影子寄存器。一旦某一测试步骤完成,测试数据收集器的内容或者被下载至前述的ATE,或者在存在影子寄存器的情况下被载入至相应的影子寄存器215、216、217和218中。也就是说,在方法步骤334中,测试数据或者被下载至ATE,或者可被载入至相应的影子寄存器。
在采用影子寄存器的各种实施例中,测试数据收集器210、211、213和214(见图2)将继续以全速收集测试响应和位置数据,例如针对一个连续的测试步骤,而同时影子寄存器215、216、217和218将以外部ATE可接受的采样速率被卸载。影子寄存器215、216、217和218的卸载可由来自ATE的独立时钟信号212b控制。值得指出的是,在本示例方式中,无需用以倾卸或下载测试数据的测试步骤的额外中断。在方法300的另一个步骤中,控制器206可以确定行进测试是否已完成最终的测试步骤,如果没有,测试将进行至下一测试步骤335,然后返回方法步骤324。否则,行进测试结束336。
继续对图2中的各种组件进行更详细的讨论。标记寄存器210用于收集所有测试响应,并生成实际的暂时压缩错误标记。在各种实施例中,标记寄存器210从初始状态开始连续工作。应该理解的是,在各种实施例中,初始状态是标记寄存器的所有位保持为0的状态。在其他各种实施例中,可能会采用标记寄存器至少有一位非零的初始状态。假定在本公开内容的其余部分,标记寄存器被初始化为非零状态。
因此在初始状态中,标记寄存器的内容处于一种指定的非零状态,表示未压缩任何错误。应该理解的是,任何非零的“种子”均可被加载至标记寄存器,以建立初始状态。标记寄存器采用时序逻辑而非单纯的组合逻辑,以使由比较器209通过比较器输出提供给标记寄存器的测试响应标记输出以标记寄存器210的状态(即,暂时压缩)被按顺序存储。标记寄存器210的内容被定期卸载(例如,每个测试步骤一次),以使在测试步骤中检测到的错误可以被识别和诊断。标记寄存器210的内容将提示在存储器阵列中是否检测到故障。
在一些实施例中,标记寄存器210(见图2)可通过采用由测试响应比较器209的输出驱动的多输入铃流发生器(MIRG)的方式实现。铃流发生器是一种内部扇出减少、逻辑电平降低的线性有限状态机,其经常通过对诸如线性反馈移位寄存器等“正规”线性有限状态机应用特殊变换来获得。正规线性反馈移位寄存器是一种可满足特定性能和架构要求的寄存器。MIRG相对正规线性反馈移位寄存器可以提供速度及其他优势。图4示出了可在本发明的各种实施例中用作标记寄存器的MIRG 410的示例。各个锁存器437被相互连接,使一个锁存器的输出被作为另一锁存器的输入和/或逻辑网络(例如逻辑网络438中的任何一个)的输入。任何逻辑网络438均可以是例如XOR或XNOR等网络,且不需要完全相同的逻辑网络。
MIRG中锁存器438中的一些被连接,以便从逻辑网络(例如XOR或XNOR)而非直接从另一锁存器接收输入,以实现与相关“正规”线性反馈移位寄存器完全相同的性能。此外,XOR或XNOR网络438中有一些被配置为“注入器”网络439。注入器运行以接收MIRG外部的输入,或从MIRG提供输出。在图4中,注入器网络439运行以接收来自比较器209(见图2)的输入。可用于所公开的实施例中的铃流发生器的示例在以下文献中有进一步说明:G.Mrugalski,J.Rajski,J.Tyszer,“Ring generators-Newdevices for embedded deterministic test”(铃流发生器-用于嵌入式确定性测试的新器件),IEEE Trans.on CAD,第23卷,第9期,2004年9月,1306-1453页,在此通过参考将其整体合并入本申请中。
继续对集成电路器件207(见图2)的讨论。失效字计数器(FWC)211可在一些实施例中用于对不正确的测试响应字计数。B输入或门219和与门220这两个门电路依次置于比较器209与FWC 211之间,可用于对时钟线212a进行开闭,以使FWC 211仅在至少有一个错误经比较器输出传播时才被触发。一旦一个完整的测试步骤完成,FWC 211将提供关于失效存储器字数量的非常精确的信息。
概括而言,任何计数器件均可用来作为FWC 211(见图2)。然而由于时间上的限制,线性反馈移位寄存器(LFSR)可被用作高效率的事件计数器,其递增功能仅通过寄存器的一次移位即可实现。具体而言,铃流发生器可以在高于常规事件计数器和正规LFSR的速度下运行。图5所示为以0...001状态初始化的基于铃流发生器的失效字计数器511,其中实心黑色处表示寄存器中一个逻辑1的位置。铃流发生器相比正规形式LFSR,显著降低的与或逻辑电平数值、最大幅度减少的内部扇出以及简化的电路设计和布线可以实现更高的运行速度。因此,在所公开技术的某些实施例中,采用了一个小 型铃流发生器511来对不正确的测试响应字计数。在某些情况下,此电路以一种特定方式运行,以实现其计数功能。铃流发生器运行的更多详情在下文中结合图14和图24进行讨论。
如图2的实施例所示,集成电路器件207还包括一个失效列指示器(FCI)213。失效列指示器213在一单一测试步骤的整个过程中存储失效输出位的位置,仅在错误会影响比较器209所有输出的情况下例外。后一种情况可由置于比较器209的输出与FCI 213的时钟输入之间的两个与门221和222进行处理。
在一些实施例中,每次有一测试步骤完成时,FCI 213(见图2)的内容即被下载。在追踪类似单一单元/列的故障模式时,FCI 213可以示出应被视为失效单元的垂直存储器段。此外,FCI 213还可以缩短确定准确故障位置所需的时间。
图6所示为一种失效列指示器(FCI)的实施例613。FCI 613包含B个或门640,分别针对测试响应字的每一位。每个或门640的一个输入从比较器209(见图2)接收一个测试响应标记位。或门640的输出被输入至D型触发器641。D型触发器输出被作为或门的第二输入返回至或门640。通过此方式,FCI 613将以累积方式动作,即一旦一特定列被确定为存在故障,FCI 613将保留一个表示该列中一个错误的数值,直至测试步骤结束。
返回图2,FCI 213的时钟通常取决于对特定故障模式的检测。对于涉及属于同一行的所有单元的错误,仅使用一个B输入与门221即足以检测一个行故障并阻止FCI 213占用其所有位,如图2所示。然而,对形成行中部分故障的错误的检测和记录却更为复杂,需要一个失效行检测器,如图7所示。尽管在图7电路中未示出存储器BIST控制器,但应该理解的是,图7的实施例还包括一个与图2中控制器206配置类似的BIST控制器。
图7的电路可使所有在至少三个相邻垂直段上延伸的行中部分故障被检测到,但不会被FCI 713记录。失效行检测器721在图742中被放大。如其所示,失效行检测器721包括三个或门743。任何时候只要有三个连续位呈现故障,这三个或门743全部会在其输出端呈现逻辑1。在此情况下,与门744也会在其输出端呈现逻辑1,提示检测到失效行(在此失效行是指行中有三个或更多位存在故障)。与此同时,任何一位的单一故障将被或门743之一传递至或门745,并由此传递至或门745的输出。这样,图7的失效行检测器721将取代图2的门电路219和221,并执行不太严格的“失效行”定义。其结果是,此类失效行将不会被错误地作为多列故障处理。
如前文所提到的,所公开技术的各种实施例均包含一个可作为FCI 213之补充的失效行指示器(FRI)214。其他各种实施例可能包含一个FRI 714,用以对上述FCI 713加以补充。在包含FRI 714的各种实施例中,FRI会存储与行中出现的错误相关的信息。
图8A所示为失效行指示器814的一种形式,其中触发器847从图7的失效行检测器721或图2的与门221接收一个逻辑1,并保持逻辑1,直至其被转移至FRI移位寄存器849。由此,失效行指示器814将追踪哪些行被检测为失效行,哪些行不是。移位寄存器849是一个至少R位的移位寄存器,其每一位分别对应于存储器阵列204(见图2)的每一行。典型情况下,B>R,因此可以采用B位移位寄存器,如图所示。
当一个测试步骤中的测试转至另一行时,存储在移位寄存器849中的位将与寄存器一同推进。当对一行内的字的测试完成时,通过检测到行地址寄存器850内的溢出(ovf,848)来完成移位寄存器849的计时。例如,假设每一行包含四个字。第一个字的地址可能是,例如00000000。下一字的地址可能是00000001。第三个和第四个字的地址分别为00000010和00000011。此后,使地址寄存器递增,以推进至存储器中的下一个字地址,存储器将给出地址00000100。也就是说,随着存储器地址推进至下一行,对地址寄存器的最低两位进行递增已产生溢出(这两位的溢出)。地址寄存器850每次由以11结尾的地址转至下一后续地址时,就会发生这种溢出。由此,ovf信号848可以触发触发器847的复位,也可以触发移位寄存器849,以追踪存储器内的哪一行当前在接受测试中,以及哪些行有或没有故障。也就是说,移位寄存器849中的连续位与包含特定行数的存储器阵列204(见图2)的水平段有一一对应的关系。其结果是,保留在FCI 213和FRI 214内的独立信息可用于隔离存储器阵列204中出现实际故障的部分。
失效行指示器(E-FRI)846的一种增强型的实施例在图8B中示出。增强型失效行指示器846可用于提高对与行相关的错误的辨识度。由于行地址寄存器850的两位寄存器L所引入的延迟,每次在连续三个时帧内比较器209(见图2)的任何输出出现至少三个错误时,右侧触发器将收到一个逻辑1。它还使延伸不超过三个相邻垂直段的行中部分故障可以被增强型失效行指示器检测到并报告。
更详细地讲,增强型失效行指示器846包含一个B位移位寄存器849,任何时候只要行地址寄存器850发生溢出,该寄存器就被计时。D型触发器851a、851b和851c被配置为对同一行内三个连续的字故障进行寄存。当这种情况发生时,D型触发器851c将向移位寄存器849提供一个逻辑1输出,以便在移位寄存器849被行地址寄存器850的溢出848计时时记录行故障。
图9示出了与图8中E_FRI 846类似的增强型失效行指示器946在一内建自诊断(BISD)环境中的应用。尽管存储器BIST控制器在图9电路中未示出,但应该理解的是,图9的实施例也包含一个配置与图2中控制器206类似的BIST控制器。应注意,尽管失效行检测器721(见图7)和921具有相同的电路742和942,但失效行检测器921和增强型失效行指示器946之间的连接却与失效行检测器721和失效行指示器714之间的连接不同。其区别在于,增强型失效行指示器946接收来自失效行检测器921的或门945的输入,而失效行指示器714接收来自与门744的输入。回看上文,在图7的实现方式中,失效行检测器721被配置为在同一字的相邻三位发生故障时作出检测。而在图8的实施例中,失效行检测器921与增强型失效行指示器946一起检测一行中三个连续的失效字。对一行中三个失效字的检测又一次成为严格程度比采用与门221的图2中所实施的条件要低的寄存失效行的条件。
集成电路器件207(见图2)的三种具体实施例已经被讨论:图2本身所示的实施例、图7所示的实施例以及图9所示的实施例。每一种实施例均支持用于失败的存储器测试的被压缩测试标记和存储器位置数据的收集。在下文对故障模式和故障诊断的讨论中,将参考图9中所示的实施例。
如上文所讨论,在一测试步骤结束时,被压缩的测试响应标记数据和存储器位置数据被提供给ATE。随后,被压缩的测试响应标记数据和存储器位置数据可由ATE送至诊断工具(2800,见图28)。所述诊断工具对被压缩的标记数据应用诊断规程,以确定失效存储器单元的位置。所述诊断规程基于对故障模式的分析,下文中结合表2进行讨论。所述诊断规程还利用线性反馈结构的特性实现对失效存储器单元位置的高效率确定,如下文所介绍。如下文讨论所述,还可采用查询表实现对故障模式和位置的高效率搜索,以记录相应的失效存储器单元。
首先转至故障模式分析。故障模式可被归类,各类间即可通过存储器阵列中故障模式的布局加以区别,又可通过在存在这些类型的故障模式的情况下所收集的FWC、FCI和FRI的值加以区别。在表2及下文更多的讨论中,FWC、FCI和FRI可以指代由FWC211、FCI 213和FRI 214所收集的值。
在FWC 211(见图2)、FCI 213和FRI 214中收集数据的根本目的是要基于被压缩的测试响应标记实现对存储器测试故障的高效率诊断。以下参照故障模式类别对FCI、FRI和FWC的可能组合进行了归纳。故障模式类别以及FCI、FRI和FWC的相应内容 在表2中给出。此外,下文还给出了能够产生FCI、FRI、FWC的一些组合的若干故障示例。
表2.故障模式类别与FCI、FWC和FRI的相应内容
在故障模式类别被列入表2中的故障的第一个示例中,两个对角单元呈现故障。这对应于表2中的3号故障模式类别。有两种如图10中所示的可能情况。在此图中,存 储器阵列中的斜线表示失效存储器单元。在第一种情形即A中,两个失效单元均属于同一垂直段1005a。因此,FCI 828(见图8)仅在比较器822的一个输出上提示错误(见表2中第3行的第一部分)。在第二种情形即B中,失效单元属于两个相邻垂直段1005a和1005b。此时,FCI 828的两个相邻触发器在比较器822输出上提示错误(见表2中第3行的第二部分)。在两种情形下,两个错误均在不同的时隙内出现在比较器822的输出端,因此FWC 826的值为2。由于在任何三个连续的时帧内比较器的任何输出端均无“1”出现,FRI 946不会报告任何错误。
在第二个示例中,同一列中的所有单元均显示故障。这对应于表2中的7号故障模式类别。这种情况的一个示例在图11中示出。对于此类故障模式,所有故障均将传播至比较器822(见图8)的同一输出,因此只有一个FCI 828触发器提示错误。准确存在R个失效存储器单元,因此FWC 826的值为R。与前例类似,FRI 946不会受到影响。
在故障模式类别被列入表2中的故障的第三个示例中,一行及一列中的所有单元均呈现故障,如图12所示。这对应于表2中的12号故障模式类别。对于此类故障模式,FCI 828(见图8)仅提示一个错误位,因为仅有不完整的字故障被存储在FCI中。一般而言,有W个完全错误的字仅影响一个FRI 946位。尽管不正确的测试响应字的数量可能达到W+R,但仅有W+R-1个错误字会被FWC计数。这是因为一个失效单元也属于失效行。
诊断技术
现在转向关于如何按照各种实施例进行故障诊断的讨论。在不同情况下可以应用若干种诊断技术来确定失效存储器单元的位置。在本公开内容中,将讨论四种通用诊断技术,它们可单独使用或相互组合使用,在MBIST环境中进行精确的故障诊断。应该理解的是,这些诊断技术在有些实施例中可以在芯片上实施。在其他实施例中,诊断技术可能在处于受试集成电路器件之外的独立的诊断工具内应用。在本公开内容中,诊断技术还会被称为诊断方案。
通常,所公开的诊断技术实施例遵循前文所示的全速测试数据收集方式。根据存储器故障类型(例如由FCI 828、FRI 946和FWC 826(见图8)的内容进行提示),可以采用此处所述的方案之一使诊断过程具备高时间效率且精确。在本公开内容的其余部分,将采用以下标记法:每当有触发器在图中示出时,其内容就由分别对应于逻辑值1和0的黑色和白色框表示。与前文讨论类似,存储器阵列中的斜线表示失效存储器单元。
第一种诊断技术在本文中称为离散对数方式(DELTA),可用于诊断在存储器阵列中最常出现的大多数故障。作为示例,考虑图13中所给出的故障,图中示出了由于存储器单元失效而向标记寄存器1310注入错误的情况。假设由失效基准单元c0生成的标记已知,且其最初被存储在标记寄存器1310中。将故障单元cx的位置移离基准单元(即增加距离x)1对应于将标记寄存器1310推进一个时钟周期。此时诊断规程的主要目的是确定基准单元与故障单元间的距离x。在另一种替代方式中,必须获得自一个错误被标记寄存器记录起已被应用于标记寄存器1310的时钟周期数。根据时钟周期数、测试算法和寻址方案,可以确定距离x。
现在讨论的诊断技术DELTA采用的是基于离散对数的方法。关于基于离散对数的方法的更多详情在以下文献中提供:D.W.Clark,L-J.Weng,“Maximal and near-maximalshift register sequences:efficient event counters and easy discrete logarithms”(最高和接近最高的移位寄存器顺序:高效率的事件计数器和简便的离散对数),IEEE Trans.onComputers,第43卷,第5期,1994年5月,第560-568页,在此通过参考将其整体合并入本申请中。基于离散对数的方法可解决以下问题:在给定一个内部异或LFSR(伽罗瓦LFSR)及其特定状态的条件下,假设LFSR最初被置为0...001,确定达到该状态所需的时钟周期数。此方法采用中国剩余定理,并需要对LFSR状态的合理数量进行预计算,这些状态一经产生,即可存储在查询表(LUT)中。需要预计算的LFSR状态数由m1+m2+...+mk给出,其中乘积m1·m2·...·mk给出了LFSR的周期m。此周期应谨慎选择,以确保较小的系数值mi(每一周期有不同的因数分解)。预计算可以采用以下所介绍的快速LFSR仿真高效率地进行。例如,在2.4GHz CPU上生成55位压缩器所需的所有值需要约5秒钟。
DELTA的时间效率非常高,通常适用于在固定时间内使用。预计算阶段通常仅在诊断工具中执行一次。预计算的一种具体实施例可以归纳为执行以下方法(可单独执行,或以相互间的各种组合和子组合的方式执行):
1.找出LFSR周期m的质因数分解m1·m2·...·mk-见图14中的步骤1,该图详细示出了离散对数方式的预计算阶段。此处k为m的质因数的数目。例如,在图14中,m=21,k=2,其中m1=3,m2=7。
2.对于一个或多个周期mi(例如对于每个mi),通过对初始化为0...001的LFSR进行仿真,生成一个大小为mi的LUT(应注意每一个LUT项均需要m/mi的计算步骤-见图14中的箭头)。对图14中所示的LFSR 1452的连续状态进行评价很简单。例如,在 转变中,自从最右侧触发器中的1位在时钟作用下进入紧邻最右侧的触发器中(其他所有触发器均保持为0,如图所示),LFSR由状态00001向状态00010转变。同样,在转变中,自从最左侧触发器中的1位在时钟作用下进入最右侧触发器以及(通过与或网络, )进入紧邻最右侧的触发器中,LFSR由状态10000向状态00011转变。然而对于大型LFSR,对LFSR仿真并生成所有LUT项所需的时间量可能无法让人接受。在此类情况下,可以采用下文所讨论的快速LFSR仿真作为替代。在此方法的执行过程中还可进一步使用LUT查找某些值,例如,在下一段第2项将要讨论的位置ri,计算当前LFSR状态与初始状态之间的距离时需要该值。
在一种实施方式中,每次DELTA被启动时,就会对对应于一个给定故障的LFSR的给定内容y执行以下方法操作:
1.对于每一系数mi,将被作为多项式的y升至m/mi的指数幂,再将结果除以LFSR特征多项式p(x),以获得余数ym/mimodp(x)。假设LFSR处于状态01010,(y=x3+x),p(x)=x5+x+1。相应的余数如下:
2.对于步骤1中得到的每个余数,在LUT中查找其对应位置ri,见图15。在本例中,第一个余数10110是m1的LUT中的g1 2。第二个余数10100是m2的LUT中的g2 4。因此,r1=2,r2=4,如图15所示,图中示出了离散对数方式中对查询表的搜索。
事实上,可以查出,01010(即状态LFSR列表1453中的g11(见图14))系由初始LFSR1452状态经过11次LFSR状态转变后得到。
对上述失效字计数器应用DELTA的方式很简单。类似地,如果希望对在上文同一节中介绍的标记寄存器应用此方法,则理想方式是对每一标记启动DELTA两次。此过程由以下两例加以说明:
例1:假设由一个单一的故障单元cx生成图16中的标记S(cx)1654。图16所示为一多输入铃流发生器内的标记寄存器轨迹。在各种实施方式中,初始状态(0...0001)与对应于最后一行(R-1)中最右侧故障单元c0的状态之间的基准距离Lref 1655由其标记S(c0)1656确定。此状态可通过在输入b1处对空MIRG的单一注入来获得(见图13)。接下来,确定初始状态(0...0001)与MIRG实际状态之间的距离Lx 1657。故障单元cx的位置为x=Lx-Lref 1658。
例2.考虑一个生成标记S(Cx)的单列故障。图17示出了单列故障Cx和基准列C。在此,存储器阵列的一个给定垂直段的最右侧列C0承担基准的作用。由于MIRG是线性电路,代表基准列S(C0)的标记可通过加上由属于本列的故障单元生成或存储在LUT中的模为2的标记来获得。接下来,如上文例1所示,Lref和Lx的值可被确定,随后即可确定失效列的实际位置。
第二种诊断方法在本文中称为快速LFSR仿真。在此技术中,已采用0和1的任意组合进行初始化的LFSR在给定数目的时钟周期之后的状态可以通过一种具备高时间效率的方式确定。关于此技术的更多细节在以下文献中给出:J.Rajski,J.Tyszer,“Primitivepolynomials over GF(2)of degree up to 660 with uniformly distributed coefficients”(最高660度的GF(2)上、采用均匀分布系数的本原多项式),Journal of Electronic Testing:Theory and Application(电子测试期刊:理论与应用,JETTA),第19卷,Kluwer AcademicPublishers(Kluwer学术出版社),2003年,第645-657页,在此通过参考将其整体合并入本申请中。如前所述,快速LFSR仿真技术可用于获取DELTA及本文所给出的其他诊断技术所需要的LFSR状态。
此类技术的各种实施例使用一个n×nLUT来存储LFSR在应用一定数目的时钟周期后的n位状态,如图18所示。图18所示为一个采用多项式x4+x3+1的内部异或LFSR的快速LFSR仿真的数据结构示例。在图18中,4位LFSR 1852的连续状态被示出1853。在4×4LUT 1859中,只有该表的第一行需要实际仿真,以确定LFSR在应用一个单一时钟周期后的内容。该表的每一列对应于在一指定位置包含一个单个“1”的LFSR的一种初始状态。这些状态在本文中称为单重态。表中后续行完全采用叠加原理得出。图18示出了1、2、4和8步后的LFSR状态.例如,第二行、最后一列中的值是 第一行中第一个和最后一个列项之和,因为前述(上文)标记由两个1组成,分别对应于第一列和最后一列。
使用如图18中所示的表,可以很容易地在不超过n步内确定LFSR在任意选择的x个周期后的状态。每一步可包括最多n次LUT查询;因此此过程的计算复杂度为O(n2)。首先,x被表示为2的指数幂之和。对于每一个此类分量,LFSR的当前内容均被分解为单个的1。接下来,由于叠加原理,对于每个单个1,给定数目的时钟周期之后的LFSR状态从LUT中检索得出,并被逐位异或处理,由此给出LFSR的最终状态。下例示出了这种技术。
例:让一个内部异或LFSR采用本原多项式x4+x3+1,并初始化为1010,如图19所示1960,该图为一个快速LFSR仿真的示例。假设要找出LFSR在x=11个时钟周期后达到的状态。由于11=20+21+23,此技术可按图19所示的三个步骤进行。在第一步中,例如,LFSR状态0110(在1961处示出)被分解为两个分量:0100和0010,图19中分别在1962和1963处示出。图18的表给出组合1010和0101,作为可在8个周期后达到并对应于上述组合的LFSR状态,分别在1964和1965处示出。这两个状态求和将得出所要的LFSR状态,即1111,如图所示1966。所给出的快速LFSR仿真技术通常适用于任何类型的线性有限状态机,包括铃流发生器。
上文所述的离散对数方式能够诊断出可存储或生成基准标记之处的故障。然而在某些情况下,生成所有基准标记可能并不切实际。例如,如果一个故障由两列构成(图20),则基准标记组合将包含2·W项,因此进行诊断所需的CPU时间就会无法接受。
为了处理较为复杂的故障,可以采用线性方程组。例如,考虑一个由单一行故障生成的标记。由于MIRG为线性电路,相应的标记可以很容易地得到,即对与此特定行的单个存储器单元相关的失效标记进行逐位相加。此外,多列/行失效标记可通过将对应于单列/行故障的模为2的标记相加而计算得出。因此,可通过求解GF(2)上的线性方程组找出有缺陷的行或列。在这些方程中,布尔值变量表示列或行,每个方程则对应于一个单一的标记位。它们可通过诸如高斯-约当消元法等方法获得简化。由于失效列/行的数量已知(例如通过FWC值),可以求得预期重数的解。如果无法求得这种解,可针对不同的关键变量顺序重复使用高斯消元法。实验表明,只要MIRG的尺寸大到可以确保足够的诊断分辨率,预期重度的第一解几乎100%正确。
例.再考虑一个涉及两个垂直段中两列的故障,如图20所示。从表2(见8号故障模式类别)中,可以看到失效列指示器提示存储器阵列的垂直段有失效列。因此,仅对 应于两段中的列的变量被加入方程中。属于一个垂直段的连续列的标记可以由存储在查询表中且对应于段中最右侧失效列的标记得出,方法是对每列进行简单单步MIRG仿真。
图21以矩阵方程的形式给出了对应于图20中故障的线性方程组,其中图20的C0、C1、...、C7为针对存储器阵列中相应列分配的布尔变量。这8个变量被安排为图21中的列向量2167。S(Ci)是与Ci相关的列的一个标记,对应于该列中的一个故障;也就是说,每个S(Ci)都是一个B位标记。如图21所示,8个B位标记的组合被列为一个B×8矩阵2168。S(实际故障)为所观察到的实际失效标记,被表示为B位列向量2169。使用FCI和FWC(=2R)所提供的信息,可得出图21中矩阵方程的解,其中{C0,...,C3}中的一个变量和{C4,...,C7}中的一个变量被置为1。为提高获得实际解的可能性,可针对不同的关键变量顺序重复高斯消元过程。
最后,在某些情况下,DELTA和线性方程方法都不能采用,原因在于以下现象。假设一个故障由一个单一失效列和一个单一失效行组成。所有失效单元均在图22a中示出。由于线性方程方法采用叠加原理,其应用将导致将单一行和单一列的标记混在一起。然而,这两个标记的模为2的和将实际生成对应于图22b中所示的一个故障的另一个标记。可以看到,这两个图之间存在明显的差异。在采用叠加原理的方式中,“交叉”单元的因素被抵消,因为它被加了两次,模2,而实际测试仅对此单元检查一次。由于这种差异,解通常无法得到,优选采用其他诊断技术。以下各段将介绍一种此类诊断技术的示例。
失效行与列有交叉的情况下,可进行标记仿真。使用一种方式,标记寄存器的“软拷贝”(即在诊断工具2800的存储器中创建的副本,见图28)存储失效行、列以及“交叉”单元的部分标记。此类软拷贝可能在本文中被称为软标记寄存器。此后对每一个相互配置对所述的部分标记进行异或处理,并将其和与实际失效标记进行比较。此方式由下例示出。
例.再考虑图22a中单一列和单一行的故障。实际故障的标记可通过将模为2的三个标记相加得到:
S(actual_failure)=S(row_x)+S(column_y)+S(cell_(x,y)) (1)
S(实际故障)=S(行x)+S(列y)+S(单元(x,y)) (1)
对应于失效行、列和单元的基准标记被存储在LUT中。三个软标记寄存器Sr、Sc和Si可分别用于表示与一行、一列和一个交叉单元相关的标记。
根据各种实施例,标记仿真的过程可包括以下方面:
1.检索存储在LUT中的行、列和单元标记,并将其分别分配至Sr、Sc和Sl。
2.如果满足方程(1),则得出解;否则:
3.将Sc和Si推进1步(见图23,该图所示为用于获取针对相邻单元内故障的标记的MIRG仿真)。
4.如果Si的仿真步骤数已达到W的值,则将Sr推进W步(获取下一失效行的标记),重新分配LUT中的列标记,并返回步骤2。
对于图22a所示的故障,仿真将最多进行W·R次比较,最坏情况下一个铃流发生器(RG)约需3(W·R)个仿真步骤。
将铃流发生器映射至伽罗瓦LFSR轨迹
如上文所述,所公开技术的一些实施例采用铃流发生器来实现计数器和标记寄存器。然而,以上给出的DELTA方法通常采用能够划分多项式的LFSR。此外,唯一具备此能力的器件是伽罗瓦(内部异或)LFSR。为使用铃流发生器而非伽罗瓦LFSR,铃流发生器轨迹可被映射至内部异或LFSR的轨迹中。只要采用保留有相应LFSR的转变功能的铃流发生器,以上映射即可实现。参见,例如,J.-F.Li,C-W.Wu,“Memory faultdiagnosis by syndrome compression”(由综合压缩进行的存储器故障诊断),Proc.DATE,2001年,第97-101页。由此,LFSR与铃流发生器均可生成同样的最大长度序列(或称m序列)。图24中示出了一个此类等效器件的示例。在图24中,LFSR 2452和铃流发生器2411的等效之处在于,它们生成同一m序列,且特征多项式p(x)均为x20+x18+x16+x12+x7+x3+1。
图25示出如何获得LFSR状态与一等效铃流发生器状态间的映射。为了找到状态映射函数,在所公开技术的一种实施例中,使用者将确定在相应铃流发生器(RG)2511和LFSR2552输出上出现的至少M个连续值,并视其为相等,其中M为以位表示的铃流发生器尺寸。两器件的符号仿真均针对M个时钟周期进行,LFSR 2552和RG 2511的输出值就特征多项式p(x)=x4+x3+1相匹配,如图25所示。被匹配的输出值出现在帧2570a和2570b中。以对应于M个连续时钟周期内相应LFSR/RG触发器值的变量建立一个线性方程组:
a=w
d=x
d+c=y (2)
d+c+b=y+z
使用符号高斯消元法,以上方程可简化如下:
a=w
d=x
c=x+y (3)
b=z
例:假设铃流发生器已达到状态wxyz=1110。方程组(3)得出伽罗瓦LFSR的相应状态,在本例中,即为abcd=1001。此结论可采用不同的方式加以确认,即对LFSR2552和RG 2511进行穷举仿真,如表3所示。可以看出,RG状态wxyz=1110对应于LFSR状态abcd=1001,反之亦然。
表3.LFSR和RG仿真
LFSR状态,abcd | RG状态,wxyz | |
1. | 0001 | 1000 |
2. | 0010 | 0001 |
3. | 0100 | 0010 |
4. | 1000 | 0110 |
5. | 1001 | 1110 |
6. | 1011 | 1111 |
7. | 1111 | 1101 |
8. | 0111 | 1011 |
9. | 1110 | 0101 |
10. | 0101 | 1010 |
11. | 1010 | 0111 |
12. | 1101 | 1100 |
13. | 0011 | 1001 |
14. | 0110 | 0011 |
15. | 1100 | 0100 |
0001 | 1000 |
故障模式的查询表
表2所示的归类可用于建立故障模式查询表,其中查询表使用FWC、FCI和FRI值来确定可能对应于这些位置信息值的故障模式。因此,为了对最普遍的故障模式加快诊断规程,特定代表性的故障的标记可存储在LUT中。一经确定,它们在此后即可用 作基准。可用于所公开之MBIST诊断方案实施例中的预计算标记的示例被归纳在表4中。
表4.故障模式查询表
故障模式及相应的诊断技术
如上所述,可以采用多种诊断方案来处理因存储器测试故障而产生的位置信息和被压缩标记数据。本节及其各小节给出故障模式示例以及根据FWC、FCI和FRI寄存器内容对其进行处理的技术。尽管下文所给示例包括表示一种可能流程的数字编号,所述方法操作在某些情况下仍可能以一种不同的顺序或者同时进行。图26为示出在这些示例中使用的一种整体存储器诊断流程实施例的流程图。在表5中标示的A至R小节的讨论之后,将对图26进行进一步讨论。在每一具体情形中启动的操作被归纳于表5中。应注意,变量P在本节中用于表示M位MIRG的一个周期。通常,P等于2M-1。
表5.故障模式
现在在以下情形中对表5中的故障模式诊断策略进行说明。
情形A.一个单元
1.确定MIRG的状态0...01与其当前状态之间的距离Lx。
2.从LUT中获取一个单一单元故障的基准标记。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W·R。
6.返回如下的失效单元坐标(x,y):x=W-1-(LmodW),y=R-1-L/W,(x是一个失效段内的列编号)。
情形B.两个单元
1.确定MIRG的状态0...01与其当前状态之间的距离Lx。
2.从LUT中获取相应存储器段的单一单元故障的基准标记,并对其进行异或操作,以获得实际的基准标记。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W·R。
6.返回如下的失效单元坐标(x,y):x=W-1-(LmodW),y=R-1-L/W,(x是一个失效段内的列编号)。
情形C.两个相邻/对角/垂直单元
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.从LUT中获取双重单元故障的基准标记:
a)两个相邻单元(见表4中的模式2);
b)两个垂直单元(见表4中的模式4);
c)两个对角单元(见表4中的模式5);
d)两个对角单元(见表4中的模式7)。
3.确定相应的基准距离Lref_a、Lref_b、Lref_c、Lref_d。
4.La←Lx-Lref_a,Lb←Lx-Lref_b,Lc←Lx-Lref_c,Ld←Lx-Lref_d。如果某一特定的La/b/c/d<0,则La/b/c/d←La/b/c/d+P。
5.L←min{La,Lb,Lc,Ld}。
6.声明L<W·R。如果不是,则应按照情形E进行(同一段内的两个自由单元)。
7.从LUT中检索相应的失效单元坐标,并返回其被行/列偏移量sr=L/W和sc=(LmodW)进一步减小的值。
情形D.两个相邻/对角单元(在两个相邻段中)
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.从LUT中获取双重单元故障的基准标记:
a)两个相邻单元(见表4中的模式3);
b)两个对角单元(见表4中的模式6);
c)两个对角单元(见表4中的模式8)。
3.确定相应的基准距离Lref_a、Lref_b、Lref_c。
4.La←Lx-Lref_a,Lb←Lx-Lref_b,Lc←Lx-Lref_c。如果某一特定的La/b/c<0,则La/b/c←La/b/c+P。
5.L←min{La,Lb,Lc}。
6.声明(LmodW)=0且L<(R-1)·W。
7.从LUT中检索相应的失效单元坐标,并返回其被行偏移量sr=L/W进一步减小的值。
情形E.任何两个单元
1.获取(从LUT中)采集到故障的第一段的一个单一单元故障的基准标记。
2.确定MIRG的状态0...01与步骤1的基准标记之间的基准距离Lref。
3.获取(从LUT中)第二失效段的一个单一单元故障的基准标记。
4.创建实际标记寄存器的软拷贝S(即位于诊断工具存储器中的标记寄存器的副本),并以步骤3中获得的标记对拷贝S进行初始化。
5.重复W·R次:
将实际故障标记与S的当前内容作异或操作(以抵消第二段中的失效单元对实际标记的影响)。
确定MIRG的状态0...01与刚进行的异或步骤的标记之间的距离Lx.
L←Lx-Lref;如果L<0,则L←L+P。
如果L<W·R,则发现两个失效单元。L以类似情形A的方式确定第一段中失效单元的位置;S存储来自第二段的失效单元的标记。停止此算法并返回结果。否则:
对S进行一个时钟周期的仿真,然后转至异或步骤(对MIRG进行一个周期的仿真可以确定相邻失效单元的标记,如图23所示)。
情形F.2×2个单元
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.从LUT中获取2×2单元故障的基准标记。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W·(R-1)-1。
6.从LUT中检索失效单元坐标,并返回其被行/列偏移量sr=L/W和sc=(LmodW)进一步减小的值。
情形G.两个相邻段中的2×2个单元
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.从LUT中获取2×2单元故障的基准标记(表4中的模式10)。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W·(R-1)且(LmodW)=0。
6.从LUT中检索失效单元坐标,并返回其被行偏移量sr=L/W进一步减小的值。
情形H.一行
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.从LUT中获取一个单行故障的基准标记(表4中的模式12)。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W·R且(LmodW)=0。
6.以R-1-L/W返回失效行的编号。
情形I.行中部分
由于在此情形下一行中失效单元的准确数目未知,DELTA必须使用不止一次(最坏情况下为W次)。每一次将使用以下例程对边界失效段中相邻失效单元的一个不同组合进行检查:
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.使用从LUT获得的单一故障标记构建失效单元的基准标记。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W·R且(LmodW)=0。
6.以R-1-L/W返回失效行的编号。实际失效单元的编号由步骤2中创建的标记给出。
情形J.两行
1.创建实际标记寄存器的副本S。
2.使用从LUT获得的一个单行的基准标记对S进行初始化(表4中的模式12)。
3.创建一组M+1个线性方程。每一个方程对标记寄存器(右侧)的一个单一触发器的值进行说明。每个变量(左侧)对应于失效段中一个单一的存储器阵列行。行标记通过 对S应用W个时钟周期的方式产生(见图23)。增加的一个方程在左侧有准确的W个1,在右侧则有0。由于解的重数事先按照推理已知,且为偶数,故此方程用于避免奇数重解。
4.有标准方法实现高斯消元,其中可以规定涉及数值解的参数典型值,例如,要进行的迭代的最大次数。在本公开内容中,有一个此类参数被命名为maxSolverRuns。在本步中,重复至maxSolverRuns次:
(a)制作线性方程组的副本,并对变量随机赋值。
(b)使用高斯-约当消元法化简方程。
(c)如果解的重数为2,则返回提示失效存储器行的非零变量,并停止此算法。否则返回步骤(a)。
情形K.两行
在两个存储器段搜索两个失效行的方式与情形J中的方式类似,除以下方面之外:
1.变量数为2W,因为两段的行会组成新的方程。
2.有两个附加方程有助于寻找实际解。它们可确保生成两行总属于两段的解。这些附加方程可采用诸如如下的构成:
a+b+c+d=1
w+x+y+z=1
其中a、b、c和d为对应于第一段中行的变量,而w、x、y和z则对应于第二段的行。
情形L.一行010101
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.从LUT中获取一个单一失效行010101的基准标记(表4中的模式13)。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W·R且(LmodW)∈{0,1}。
6.以R-1-L/W返回失效行的编号。如果(LmodW)=0,则失效行以正确的单元起始(010101...),否则行内的第一个单元为失效(101010...)。
情形M.一列
1.确定MIRG的状态0...01与其实际状态之间的距离Lx。
2.从LUT中获取一个单一失效列010101的基准标记(表4中的模式11)。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W。
6.以W-1-L返回失效列的编号。
情形N.两列
1.确定MIRG的状态0...01与其实际状态之间的距离Lx。
2.从LUT中获取对应于失效段的单列故障的标记(表4中的模式11),并对其进行异或操作,以获得基准标记。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<W。
6.以W-1-L返回失效列的编号(列编号在失效段内)。
情形O.两列
1.创建实际标记寄存器的软拷贝S。
2.使用从LUT获得的一个对应于失效段的单列故障的基准标记对S进行初始化(表4中的模式11)。
3.创建一组M+1个线性方程。每一个方程对标记寄存器(右侧)的一个单一触发器的值进行说明。每个变量(左侧)对应于失效段中一个单一的存储器阵列列。列标记通过 对S应用单一时钟周期的方式产生(见图23)。增加的方程在左侧有准确的W个1,在右侧则有0。由于解的重数事先按照推理已知,且为偶数,故此方程用于避免产生奇数重解。
4.重复至maxSolverRuns次:
(a)制作线性方程组的使用副本,并对变量随机赋值。
(b)使用高斯-约当消元法化简方程。
(c)如果解的重数为2,则返回提示失效存储器列的非零变量,并停止此算法。否则返回步骤(a)。
情形P.两列
在两个存储器段搜索两个失效列的方式与上文情形N中的方式类似,除以下方面之外:
3.变量数为2W,因为两段的列会组成新的方程。
4.有两个附加方程有助于寻找实际解。它们可确保生成两列总属于两段的解。这些附加方程可采用诸如如下的构成:
a+b+c+d=1
w+x+y+z=1
其中a、b、c和d为对应于第一段中列的变量,而w、x、y和z则对应于第二段的列。
情形Q.列中部分
1.确定MIRG的状态0...01与实际MIRG状态之间的距离Lx。
2.将从LUT获得的一个单一单元故障的标记与其每W个周期的固定偏移量进行异或操作,以生成基准标记(见图23)。此操作将重复FWC的内容所示的次数。
3.确定基准距离Lref。
4.L←Lx-Lref;如果L<0,则L←L+P。
5.声明L<=W·(R-FWC)。
6.返回失效单元坐标,作为被行/列偏移量sr=L/W和sc=(LmodW)进一步减小的基准单元坐标。
情形R.一个(部分)/两个列+一个(部分)/两个列
在属于行或列的失效单元可能发生交叉的情况下,可以采用上文中结合图22a和图22b所讨论的仿真方法。每次检查到此类故障模式时,优选通过以下方式对行和列的所有可能配置进行检查:将其一起与交叉单元的标记进行异或操作,然后再将所得的和与实际失效标记进行比较。
嵌入式存储器诊断方法和诊断工具
现在转至对故障诊断实践的讨论。图26示出了在表5中所引述的示例中使用的一种整体存储器诊断流程的实施例2600。如上文所讨论,在步骤2671中,ATE指示MBIST控制器进行测试,然后以信号提示IC器件下载标记寄存器210和位置信息寄存器211、213和214的内容。ATE将标记寄存器210和位置信息寄存器211、213和214的内容提供给一个诊断工具。该诊断工具检索FWC 2672的值。如表3和6中所指出的,FWC可以有特定的值,其中每个值对应于特定的故障模式类别。在一系列步骤2673a、2673b、2673c和2673d以及图26中未示出的其他步骤中,可将FWC的值与每一可能值进行比较,直至发现匹配情况。图26示出了对FWC=1找到2673a匹配的示例情形。诊断工具检索FCI和FRI 2674的值,并将其与查询表值(见表5)进行比较2675a、2675b,直至发现匹配情况。根据与查询表的比较结果,一个诊断规程被启动2676a、2676b,等等。在诊断规程进行之后,失效存储器单元的坐标被返回2677。
图27为一种根据存储器测试故障诊断的方法2700的实施例的流程图。方法2700的步骤可在诸如诊断工具(见图28)中执行。在ATE从受试集成电路器件接收到暂时压缩的测试响应标记和故障位置信息之后,诊断工具从ATE接收2771暂时压缩的测试响应标记。按照以上的讨论,在各种实施例中,ATE会从集成电路器件的一个标记寄存 器接收被压缩的标记。在其他各种实施例中,按照之前的讨论,ATE会从集成电路器件的一个影子寄存器接收被压缩的标记。
此外诊断工具还会从ATE接收2772集成电路器件的故障位置信息。应该理解的是,在各种实施例中,步骤2771和2772可能同时进行;在其他各种实施例中,一个步骤可能以某种特定的顺序跟随在另一步骤之后。此外,如上文所讨论的,在各种实施例中,ATE从集成电路器件的失效字计数器、失效列指示器和失效行指示器接收故障位置信息。在各种其他实施例中,按照之前的讨论,ATE从集成电路器件中的影子寄存器接收故障位置信息.此外,通常情况下,在收到ATE的信号时,被压缩的标记和故障位置数据将由影子寄存器传送至ATE。
如上文结合表5的讨论,对失效模式的分析可创建一个以存储在失效字计数器(FWC)、失效列指示器(FCI)和失效行指示器(FRI)中的值为依据的查询表,用以确定要采用的诊断规程。例如,FWC、FCI和FRI值可用于在查询表内生成指数。不管是通过使用指数,还是通过其他方法,诊断工具均会根据故障位置数据从上述诊断规程集中选择2773一个诊断规程。
接下来,所选的诊断规程在诊断工具中执行2776,以便从暂时压缩的测试响应标记生成失效存储器单元的坐标。一些测试响应标记可能提示存在不止一个失效存储器单元。在这些情况下,在诊断工具内执行2776的诊断规程会生成不止一个失效存储器单元的坐标。
在失效存储器单元的坐标被确定之后,诊断工具会报告2777坐标。如结合表1中示例故障词典的讨论所述,失效存储器单元的坐标可用于构建单色或彩色位图,以显示存储器故障信息。应该理解的是,失效存储器单元坐标的报告可以包括对此类位图的显示和打印输出。
图28所示为根据一种实施例的诊断工具2800。诊断工具2800可以实现诸如图27的方法。如图所示,诊断工具2800包含一个可执行指令的控制器2878。指令可被存储在诸如存储器2879中。存储器2879也可被配置为存储数据,例如从ATE器件下载、包含受试集成电路器件的诊断数据的数据。
在各种实施例中,用户界面2880提供对数据或结果的显示,例如在显示器件2881上,或者可能通过诸如打印机或绘图仪等(未示出)输出结果和数据。用户界面2880还可通过诸如一个或多个输入设备2882(例如,键盘、触摸屏、鼠标或其他定点设备) 来接收用户输入。应该理解的是,任何用于显示结果或数据的合适设备以及任何用于接收用户输入的合适设备均属于本公开内容的范围。
诊断工具器件2800还包含一组可作为诸如软件指令等实现或者可以是硬件实现的一组模块2883。应该理解的是,一些模块可能以软件实现,而其他模块则可能作为硬件实现。
模块2883包含一个标记接收模块2871,被配置为从诸如上文所述的集成电路器件的标记寄存器或标记寄存器对应的影子寄存器等处按照方法2700(见图27)的步骤2771接收被暂时压缩的测试响应标记。模块2883还包含一个位置接收模块2872,被配置为从诸如上文所述的集成电路器件的FWC、FCI及FRI组件或这些组件对应的影子寄存器等处按照方法2700(见图27)的步骤2772接收故障位置信息。
此外,诊断工具还包含一个诊断选择模块2873,被配置为根据故障位置数据从上文所述的一组诊断规程中选择一个诊断规程。诊断规程的选择可由诊断选择模块2873按照诸如上文所述的步骤2773等进行。模块2883还包含一个诊断模块2876,被配置为按照上文所述方法2700的步骤2776执行所选择的诊断规程,由被暂时压缩的测试响应标记生成失效存储器单元的坐标。包含在模块2883内的报告模块2877被配置为按照诸如上文所述的步骤2777等报告已被确定的失效存储器单元的坐标。
结论
在对所公开技术的原理进行例示和说明之后,本领域的技术人员将会明了:所公开的实施例可能在布置方式和细节方面有所改动,而不背离所述原理。鉴于存在许多可能的实施例,应该认识到,所示出的实施例包含的仅为示例,不应被视为对所公开技术的涵盖范围的限制。所公开技术包括各种所公开装置、方法、系统及其等效物单独和以相互间的各种组合及子组合形式体现的所有新的、不明显的特点和方面。尽管对本发明的说明参照了包括目前实施本发明的优选方式的具体示例,但本领域的技术人员应理解,上文所述系统和技术存在多种属于所附权利要求中限定的本发明的精神和涵盖范围的变体和组合方式。
Claims (52)
1.一种测试嵌入式存储器的方法,包括:
操作集成电路器件的存储器内建自测试控制器,以应用测试步骤对所述集成电路器件的嵌入式存储器进行测试;
对失败的存储器测试生成多个测试响应标记;
使用线性反馈结构暂时压缩所述测试响应标记;
收集与失败的存储器测试相关联的存储器位置信息;并且将所述被暂时压缩的测试响应标记和所收集的存储器位置信息提供给诊断工具,以供在存储器故障诊断过程中使用。
2.如权利要求1所述的方法,其中:
将所述被暂时压缩的测试响应标记和所述所收集的存储器位置信息提供给诊断工具,包括:
将所述被暂时压缩的测试响应标记和所述所收集的存储器位置信息提供给自动测试设备;并且
将所述被暂时压缩的测试响应标记和所述所收集的存储器位置信息从所述自动测试设备传送至所述诊断工具,以供在存储器故障诊断过程中使用。
3.如权利要求1所述的方法,还包括:
将所述被暂时压缩的测试响应标记传送至影子寄存器。
4.如权利要求1所述的方法,还包括:
将与所述失败的存储器测试相关的所收集的存储器位置信息传送至影子寄存器。
5.如权利要求1所述的方法,其中所述收集存储器位置信息包括收集失效字的计数。
6.如权利要求1所述的方法,其中所述收集存储器位置信息包括收集对所述嵌入式存储器的失效列进行标识的信息。
7.如权利要求1所述的方法,其中所述收集存储器位置信息包括收集对所述嵌入式存储器的失效行进行标识的信息。
8.一种计算机可读取的存储介质,其上存储有可由计算机系统执行的程序指令序列,以执行权利要求1-7中任何一项所述的方法。
9.一种集成电路器件,包括:
嵌入式存储器阵列,所述嵌入式存储器阵列被配置为对所应用的存储器测试生成测试响应,所述测试响应具有测试响应标记;
存储器内建自测试控制器,所述存储器内建自测试控制器被配置为对所述嵌入式存储器阵列施加补充的存储器测试;
线性反馈结构,所述线性反馈结构被配置为对失败的存储器测试的测试响应标记进行暂时压缩;以及
位置数据收集器,所述位置数据收集器被配置为对与所述失败的存储器测试相关联的存储器位置信息进行收集。
10.如权利要求9所述的集成电路器件,其中所述线性反馈结构是铃流发生器。
11.如权利要求9所述的集成电路器件,其中所述位置数据收集器是失效字计数器、失效列指示器或失效行指示器。
12.如权利要求9所述的集成电路器件,还包括失效行检测器。
13.如权利要求9所述的集成电路器件,还包括比较器,所述比较器被配置为从所述嵌入式存储器接收测试响应并生成所述测试响应标记。
14.如权利要求9所述的集成电路器件,其中所述测试响应标记是错误向量。
15.如权利要求9所述的集成电路器件,还包括:
被配置为接收所述被暂时压缩的测试响应标记的影子寄存器。
16.权利要求9所述的集成电路器件,还包括被配置为从所述位置数据收集器接收位置数据的影子寄存器。
17.一种测试嵌入式存储器的方法,包括:
执行存储器测试的测试步骤;
根据对所述测试步骤的测试响应,在标记寄存器中生成标记数据,所述标记寄存器包括对所述标记数据进行暂时压缩的线性反馈结构;
将所述被暂时压缩的标记数据从所述标记寄存器上载至与所述标记寄存器相关联的影子寄存器;
执行所述存储器测试的下一个测试步骤;并且
将所述被暂时压缩的标记数据从所述影子寄存器传送至自动测试设备。
18.如权利要求17所述的方法,还包括:
在位置数据收集器中收集与所述存储器测试的失败的测试步骤相关联的存储器位置信息;并且
将所述所收集的存储器位置信息从所述位置数据收集器上载至与所述位置数据收集器相关联的所述影子寄存器。
19.如权利要求18所述的方法,还包括:
将所述所收集的存储器位置信息从与所述位置数据收集器相关联的所述影子寄存器传送至自动测试设备器件。
20.如权利要求19所述的方法,还包括:
将所述被暂时压缩的标记数据和所述所收集的存储器位置信息从所述自动测试设备器件上载至诊断工具。
21.如权利要求17所述的方法,其中所述存储器测试是行进测试。
22.一种计算机可读取的存储介质,其上存储有可由计算机系统执行的程序指令序列,以执行权利要求17-21中任何一项所述的方法。
23.一种测试嵌入式存储器的方法,包括:
执行存储器测试的测试步骤;
根据对所述测试步骤的测试响应,在标记寄存器中生成标记数据,所述标记寄存器包括对所述标记数据进行暂时压缩的线性反馈结构;
在位置数据收集器中收集与所述存储器测试的失败的测试步骤相关联的存储器位置信息;
在执行所述存储器测试的下一个测试步骤之前,将所述被暂时压缩的标记数据从所述标记寄存器上载至自动测试设备器件;
在执行所述存储器测试的下一个测试步骤之前,将所收集的存储器位置信息从所述位置数据收集器上载至所述所述自动测试设备器件;并且
执行所述存储器测试的下一个测试步骤。
24.如权利要求23所述的方法,还包括:将所述被暂时压缩的标记数据和所述所收集的存储器位置信息从所述自动测试设备器件上载至诊断工具。
25.如权利要求23所述的方法,其中所述存储器测试是行进测试。
26.一种计算机可读取的存储介质,其上存储有可由计算机系统执行的程序指令序列,以执行权利要求23-25中任何一项所述的方法。
27.一种集成电路器件,包括:
嵌入式存储器阵列部分,用于存储数据值;
控制器部分,用于对所述嵌入式存储器阵列部分施加补充的存储器测试,所述存储器测试包括测试步骤;
压缩部分,用于在一个测试步骤中使用线性反馈对失败的所述存储器测试的测试响应标记进行暂时压缩;以及
收集部分,用于在一个测试步骤中收集与失败的所述存储器测试相关的故障位置信息。
28.如权利要求27所述的集成电路器件,其中所述压缩部分是多输入移位寄存器。
29.如权利要求28所述的集成电路器件,其中所述多输入移位寄存器是多输入铃流发生器。
30.如权利要求27所述的集成电路器件,其中所述收集部分包括被配置为失效字计数器的线性反馈移位寄存器。
31.如权利要求27所述的集成电路器件,还包括:
用于在一个测试步骤结束时从所述压缩部分接收所述被暂时压缩的测试响应标记的部分;以及
用于在一个测试步骤结束时从所述收集部分接收所收集的故障位置信息的部分。
32.一种用于在集成电路器件的存储器内建自测试期间诊断嵌入式存储器故障的方法,所述方法包括:
接收故障位置数据;
接收多个失败的存储器测试的被暂时压缩的测试响应标记;
使用所述故障位置数据从一组预先制定的诊断规程中选择诊断规程;
执行所述诊断规程,以从被所述暂时压缩的测试响应标记生成失效存储器单元的坐标;并且
报告所述失效存储器单元的坐标。
33.如权利要求32所述的方法,其中所述预先制定的诊断规程包括离散对数技术、快速LFSR仿真技术、线性方程技术以及标记仿真技术。
34.如权利要求32所述的方法,其中所述诊断规程包括:
预先计算一个周期为m、具有预定初始状态和一个特征多项式的线性反馈移位寄存器的状态信息;
将所述状态信息存储在诊断工具的内存中的查询表内;
根据所述周期m的因数分解确定一组系数;
接收对应于某特定状态的所述线性反馈移位寄存器的特定状态信息,所述特定状态与嵌入式存储器故障相关;
对于每个系数:
根据所述系数、特征多项式以及所述特定状态信息,计算与所述系数相关的余数;并且在所述查询表中确定所述余数的指数;以及
在所述系数上对各项的和进行评价,其中每一项均为与所述系数相关的余数的所述查询表中的所述指数与对应于所述系数的预定整数之积,以生成所述线性反馈移位寄存器的所述特定状态与所述初始状态之间的距离。
35.如权利要求32所述的方法,其中所述诊断规程包括:
将针对n位线性反馈移位寄存器状态的状态信息存储在诊断工具的存储器中的n×n查询表内,其中:
所述查询表的列对应于属于单重态的所述线性反馈移位寄存器的初始状态,单重态是所述n位线性反馈移位寄存器中有且仅有一位为1的状态;
所述查询表的行对应于对所述线性反馈移位寄存器的状态进行的特定数目时钟周期的应用,所述特定数目为2的指数幂;并且
所述查询表中针对特定行和特定列的项包含对应于所述线性反馈移位寄存器的状态的状态信息,所述线性反馈移位寄存器的状态在将对应于所述特定行的一定数目的时钟周期应用于对应于所述特定列的所述线性反馈移位寄存器的初始状态之后所获得;
接收对将应用于所述线性反馈移位寄存器的所述时钟周期数目进行说明的整数x;
将x表示为分量和,每一分量均为2的指数幂;
接收对应于所述线性反馈移位寄存器的初始状态的状态信息;
将所述初始状态选择为名义初始状态;
对于x的每一分量:
将名义初始状态分解为一组所述单重态;
由所述x的分量给定数目的若干所述时钟周期,将所述组中每个所述单重态推进,以生成一组被推进的所述单重态;
通过逐位异或操作将所述被推进的单重态组合为合成态;
选择所述合成态作为所述x的下一分量的名义初始状态;如果已对所述x的所有分量进行分解、推进和组合步骤,则确定所述线性反馈移位寄存器的最终状态为所述合成态。
36.如权利要求32所述的方法,其中:
所述故障位置信息限定故障模式类别;并且
所述诊断规程根据故障位置信息所限定的故障模式类别进行选择。
37.如权利要求32所述的方法,其中故障位置信息包括失效字计数、失效列指示或失效行指示。
38.如权利要求32所述的方法,其中所述诊断规程的选择通过查询表做出,所述查询表的表项根据所述故障位置信息的可能值进行索引。
39.如权利要求32所述的方法,其中所述诊断规程采用所述查询表实现高效率执行。
40.如权利要求32所述的方法,其中接收所述被暂时压缩的测试响应标记包括从受试集成电路器件接收所述被暂时压缩的测试响应标记。
41.如权利要求32所述的方法,其中接收所述被暂时压缩的测试响应标记包括从自动测试设备器件接收所述被暂时压缩的测试响应标记。
42.如权利要求32所述的方法,其中所述报告失效存储器单元的坐标包括生成表示所述集成电路器件内嵌入式存储器故障的单色位图。
43.如权利要求32所述的方法,其中所述报告失效存储器单元的坐标包括生成表示所述集成电路器件内嵌入式存储器的不止一种故障的彩色位图。
44.一种计算机可读取的存储介质,其上存储有可由计算机系统执行的程序指令序列,以执行权利要求32-43中任何一项所述的方法。
45.一种用于对在集成电路器件的存储器内建自测试期间出现的嵌入式存储器故障进行诊断的诊断工具,所述诊断工具包括:
位置接收模块,被配置为接收故障位置数据;
标记接收模块,被配置为接收多个失败的存储器测试的被暂时压缩的测试响应标记;
诊断选择模块,被配置为使用所述故障位置数据从一组预先制定的诊断规程中选择诊断规程;
诊断模块,被配置为执行所述诊断规程,以从所述被暂时压缩的测试响应标记生成失效存储器单元的坐标;以及
报告模块,被配置为报告所述失效存储器单元的坐标。
46.如权利要求45所述的诊断工具,其中所述预先制定的诊断规程包括离散对数技术、快速LFSR仿真技术、线性方程技术以及标记仿真技术。
47.如权利要求45所述的诊断工具,其中:
故障位置信息限定故障模式类别;且
诊断选择模块根据故障位置信息所限定的故障模式类别选择诊断规程。
48.如权利要求45所述的诊断工具,其中所述故障位置信息包括失效字计数、失效列指示或失效行指示。
49.如权利要求45所述的诊断工具,其中所述诊断选择模块通过使用查询表来选择诊断规程,所述查询表的表项根据所述故障位置信息的可能值进行索引。
50.如权利要求45所述的诊断工具,其中所述诊断模块采用查询表进行诊断规程的有效率的执行。
51.如权利要求45所述的诊断工具,其中所述报告模块被配置为生成表示所述集成电路器件内嵌入式存储器故障的单色位图。
52.如权利要求45所述的诊断工具,其中所述报告模块被配置为生成表示所述集成电路器件内嵌入式存储器的一种以上的故障的彩色位图。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97343207P | 2007-09-18 | 2007-09-18 | |
US60/973,432 | 2007-09-18 | ||
PCT/US2008/076911 WO2009039316A2 (en) | 2007-09-18 | 2008-09-18 | Fault diagnosis in a memory bist environment using a linear feedback shift register |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101933098A true CN101933098A (zh) | 2010-12-29 |
Family
ID=40468775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801165220A Pending CN101933098A (zh) | 2007-09-18 | 2008-09-18 | 使用线性反馈移位寄存器在存储器内建自测试环境中的故障诊断 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110055646A1 (zh) |
EP (1) | EP2201575A2 (zh) |
JP (1) | JP2010539633A (zh) |
CN (1) | CN101933098A (zh) |
WO (1) | WO2009039316A2 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425942A (zh) * | 2012-05-19 | 2013-12-04 | 飞思卡尔半导体公司 | 安全模块的篡改检测器 |
CN104934073A (zh) * | 2014-03-21 | 2015-09-23 | 晶豪科技股份有限公司 | 存储器测试系统及方法 |
CN107039084A (zh) * | 2017-03-01 | 2017-08-11 | 上海华虹宏力半导体制造有限公司 | 带冗余单元的存储器芯片的晶圆测试方法 |
CN107357948A (zh) * | 2016-05-10 | 2017-11-17 | 帝斯贝思数字信号处理和控制工程有限公司 | 用于建立fpga网表的方法 |
CN108845248A (zh) * | 2018-05-02 | 2018-11-20 | 清华大学 | 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr |
CN111044886A (zh) * | 2019-12-09 | 2020-04-21 | 北京时代民芯科技有限公司 | 一种ddr2/3 phy bist数据通道测试向量生成方法 |
CN112363875A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种系统缺陷检测方法、设备、电子设备和存储介质 |
CN114460447A (zh) * | 2021-01-19 | 2022-05-10 | 沐曦集成电路(上海)有限公司 | 锁存器的自测试电路及其自测试方法 |
CN114625583A (zh) * | 2020-12-08 | 2022-06-14 | 国际商业机器公司 | 用于相同结构的多个实例的诊断增强的方法、装置和系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5202462B2 (ja) * | 2009-07-23 | 2013-06-05 | 株式会社日立ハイテクノロジーズ | パターン欠陥検査装置および方法 |
KR101166129B1 (ko) | 2011-05-31 | 2012-07-23 | 서울대학교산학협력단 | 사전계산 테이블을 이용한 이산대수 계산 방법 및 그 장치 |
US20130019130A1 (en) * | 2011-07-15 | 2013-01-17 | Synopsys Inc. | Testing electronic memories based on fault and test algorithm periodicity |
TWI455223B (zh) * | 2011-09-22 | 2014-10-01 | Orise Technology Co Ltd | 面板驅動積體電路之嵌入式記憶體的測試裝置與方法 |
CN103177768B (zh) * | 2011-12-26 | 2016-04-13 | 上海华虹宏力半导体制造有限公司 | 一种存储器的bist地址扫描电路及其扫描方法 |
US9058903B2 (en) * | 2013-01-16 | 2015-06-16 | International Business Machines Corporation | Methods and circuits for disrupting integrated circuit function |
JP5500282B1 (ja) * | 2013-02-28 | 2014-05-21 | 日本電気株式会社 | 障害修復装置、障害修復方法、及び、障害修復プログラム |
US9250992B1 (en) | 2013-05-07 | 2016-02-02 | Marvell International Ltd. | Test data reporting during memory testing |
US20150026528A1 (en) * | 2013-07-16 | 2015-01-22 | Manuel A. d'Abreu | Controller based memory evaluation |
US9268660B2 (en) * | 2014-03-12 | 2016-02-23 | International Business Machines Corporation | Matrix and compression-based error detection |
US9514844B2 (en) | 2014-08-26 | 2016-12-06 | Globalfoundries Inc. | Fast auto shift of failing memory diagnostics data using pattern detection |
US9453879B2 (en) | 2014-12-01 | 2016-09-27 | Apple Inc. | On-die system for monitoring and predicting performance |
US9881694B2 (en) | 2015-07-15 | 2018-01-30 | International Business Machines Corporation | Built-in-self-test (BIST) engine configured to store a per pattern based fail status in a pattern mask register |
US10490296B2 (en) | 2016-02-09 | 2019-11-26 | Globalfoundries U.S. Inc. | Memory built-in self-test (MBIST) test time reduction |
US10421440B2 (en) * | 2017-01-18 | 2019-09-24 | Snap-On Incorporated | Systems and methods of configuring vehicle service tools associated with display device based on operating condition of vehicle |
US10249380B2 (en) | 2017-01-27 | 2019-04-02 | Qualcomm Incorporated | Embedded memory testing with storage borrowing |
US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
US11698758B2 (en) * | 2018-12-17 | 2023-07-11 | Micron Technology, Inc. | Selective compression circuitry in a memory device |
US10971242B2 (en) | 2019-09-11 | 2021-04-06 | International Business Machines Corporation | Sequential error capture during memory test |
US10998075B2 (en) * | 2019-09-11 | 2021-05-04 | International Business Machines Corporation | Built-in self-test for bit-write enabled memory arrays |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073841A1 (en) * | 2002-10-11 | 2004-04-15 | Toros Zeynep M. | Command set for a software programmable verification tool having a built-in self test (BIST) for testing and debugging an embedded device under test (DUT) |
US20040083407A1 (en) * | 2002-10-25 | 2004-04-29 | Xin Song | Method and system for analyzing bitmap test data |
CN1881476A (zh) * | 2005-06-06 | 2006-12-20 | 国际商业机器公司 | 用于在集成电路装置上存储阵列冗余数据的装置和方法 |
US20070050693A1 (en) * | 2005-08-30 | 2007-03-01 | Toshiba America Electronic Components | Systems and methods for diagnosing rate dependent errors using LBIST |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2922060B2 (ja) * | 1992-07-27 | 1999-07-19 | 富士通株式会社 | 半導体記憶装置 |
JP3090094B2 (ja) * | 1997-06-20 | 2000-09-18 | 日本電気株式会社 | テスト回路 |
US6085334A (en) * | 1998-04-17 | 2000-07-04 | Motorola, Inc. | Method and apparatus for testing an integrated memory device |
US6421794B1 (en) * | 2000-03-09 | 2002-07-16 | John T. Chen | Method and apparatus for diagnosing memory using self-testing circuits |
WO2002037503A1 (fr) * | 2000-11-02 | 2002-05-10 | Hitachi, Ltd. | Memoire a semi-conducteur, procede pour tester une memoire a semi-conducteur et procede de fabrication de memoires a semi-conducteur |
US6404250B1 (en) * | 2001-03-28 | 2002-06-11 | Infineon Technologies Richmond, Lp | On-chip circuits for high speed memory testing with a slow memory tester |
US6950971B2 (en) * | 2001-11-05 | 2005-09-27 | Infineon Technologies Ag | Using data compression for faster testing of embedded memory |
US7313739B2 (en) * | 2002-12-31 | 2007-12-25 | Analog Devices, Inc. | Method and apparatus for testing embedded cores |
EP1595211B1 (en) * | 2003-02-13 | 2008-07-09 | Mentor Graphics Corporation | Compressing test responses using a compactor |
JP4514028B2 (ja) * | 2004-05-20 | 2010-07-28 | ルネサスエレクトロニクス株式会社 | 故障診断回路及び故障診断方法 |
EP1624464A1 (en) * | 2004-08-05 | 2006-02-08 | STMicroelectronics S.r.l. | Built-in self diagnosis device for a random access memory and method of diagnosing a random access memory |
TWI252397B (en) * | 2004-09-17 | 2006-04-01 | Ind Tech Res Inst | Method and apparatus of built-in self-diagnosis and repair in a memory with syndrome identification |
US7272764B2 (en) * | 2004-11-04 | 2007-09-18 | International Business Machines Corporation | Method, system, and program product for boundary I/O testing employing a logic built-in self-test of an integrated circuit |
-
2008
- 2008-09-18 JP JP2010525982A patent/JP2010539633A/ja active Pending
- 2008-09-18 EP EP08831305A patent/EP2201575A2/en not_active Withdrawn
- 2008-09-18 CN CN2008801165220A patent/CN101933098A/zh active Pending
- 2008-09-18 US US12/678,747 patent/US20110055646A1/en not_active Abandoned
- 2008-09-18 WO PCT/US2008/076911 patent/WO2009039316A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073841A1 (en) * | 2002-10-11 | 2004-04-15 | Toros Zeynep M. | Command set for a software programmable verification tool having a built-in self test (BIST) for testing and debugging an embedded device under test (DUT) |
US20040083407A1 (en) * | 2002-10-25 | 2004-04-29 | Xin Song | Method and system for analyzing bitmap test data |
CN1881476A (zh) * | 2005-06-06 | 2006-12-20 | 国际商业机器公司 | 用于在集成电路装置上存储阵列冗余数据的装置和方法 |
US20070050693A1 (en) * | 2005-08-30 | 2007-03-01 | Toshiba America Electronic Components | Systems and methods for diagnosing rate dependent errors using LBIST |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425942B (zh) * | 2012-05-19 | 2018-04-27 | 恩智浦美国有限公司 | 安全模块的篡改检测器 |
CN103425942A (zh) * | 2012-05-19 | 2013-12-04 | 飞思卡尔半导体公司 | 安全模块的篡改检测器 |
CN104934073A (zh) * | 2014-03-21 | 2015-09-23 | 晶豪科技股份有限公司 | 存储器测试系统及方法 |
CN104934073B (zh) * | 2014-03-21 | 2017-10-13 | 晶豪科技股份有限公司 | 存储器测试系统及方法 |
CN107357948A (zh) * | 2016-05-10 | 2017-11-17 | 帝斯贝思数字信号处理和控制工程有限公司 | 用于建立fpga网表的方法 |
CN107357948B (zh) * | 2016-05-10 | 2023-04-07 | 德斯拜思有限公司 | 用于建立fpga网表的方法 |
CN107039084A (zh) * | 2017-03-01 | 2017-08-11 | 上海华虹宏力半导体制造有限公司 | 带冗余单元的存储器芯片的晶圆测试方法 |
CN107039084B (zh) * | 2017-03-01 | 2020-04-14 | 上海华虹宏力半导体制造有限公司 | 带冗余单元的存储器芯片的晶圆测试方法 |
US11156662B2 (en) | 2018-05-02 | 2021-10-26 | Tsinghua University | Software defined LFSR for LOC delay testing low-power test compression |
CN108845248A (zh) * | 2018-05-02 | 2018-11-20 | 清华大学 | 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr |
CN108845248B (zh) * | 2018-05-02 | 2020-10-23 | 清华大学 | 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr |
CN111044886A (zh) * | 2019-12-09 | 2020-04-21 | 北京时代民芯科技有限公司 | 一种ddr2/3 phy bist数据通道测试向量生成方法 |
CN111044886B (zh) * | 2019-12-09 | 2022-05-13 | 北京时代民芯科技有限公司 | 一种ddr2/3 phy bist数据通道测试向量生成方法 |
CN112363875B (zh) * | 2020-10-21 | 2023-04-07 | 海光信息技术股份有限公司 | 一种系统缺陷检测方法、设备、电子设备和存储介质 |
CN112363875A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种系统缺陷检测方法、设备、电子设备和存储介质 |
CN114625583A (zh) * | 2020-12-08 | 2022-06-14 | 国际商业机器公司 | 用于相同结构的多个实例的诊断增强的方法、装置和系统 |
CN114625583B (zh) * | 2020-12-08 | 2023-06-16 | 国际商业机器公司 | 用于诊断故障电路单元的方法、装置和系统 |
CN114460447A (zh) * | 2021-01-19 | 2022-05-10 | 沐曦集成电路(上海)有限公司 | 锁存器的自测试电路及其自测试方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110055646A1 (en) | 2011-03-03 |
EP2201575A2 (en) | 2010-06-30 |
WO2009039316A2 (en) | 2009-03-26 |
WO2009039316A3 (en) | 2009-08-20 |
JP2010539633A (ja) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101933098A (zh) | 使用线性反馈移位寄存器在存储器内建自测试环境中的故障诊断 | |
EP1595211B1 (en) | Compressing test responses using a compactor | |
Rubinfeld et al. | Robust characterizations of polynomials with applications to program testing | |
US7716548B2 (en) | Removing the effects of unknown test values from compacted test responses | |
US6074426A (en) | Method for automatically generating behavioral environment for model checking | |
CN101405609A (zh) | 多级测试响应压缩器 | |
JP2003515809A (ja) | 集積回路テスト環境のためのテストパターン圧縮方法 | |
Ghosh-Dastidar et al. | Fault diagnosis in scan-based BIST using both time and space information | |
Drechsler et al. | Test pattern generation using Boolean proof engines | |
Mukherjee et al. | High volume diagnosis in memory BIST based on compressed failure data | |
US20090083596A1 (en) | Method and Apparatus for Synthesis of Augmented Multimode Compactors | |
Finocchi et al. | Sorting and searching in the presence of memory faults (without redundancy) | |
CN104750608A (zh) | 一种程序中基于动态符号执行的自动错误定位方法 | |
US9404972B2 (en) | Diagnosis and debug with truncated simulation | |
Rousset et al. | Derric: A tool for unified logic diagnosis | |
Ahlswede et al. | On diagnosability of large multiprocessor networks | |
Veneris et al. | Multiple design error diagnosis and correction in digital VLSI circuits | |
Mukherjee et al. | BIST-based fault diagnosis for read-only memories | |
US7328386B2 (en) | Methods for using checksums in X-tolerant test response compaction in scan-based testing of integrated circuits | |
Safarpour et al. | Trace compaction using SAT-based reachability analysis | |
Butler | Techniques for assessing fault model and test quality in automatic test pattern generation for integrated circuits | |
Karthy et al. | Optimized counting threshold Built-in redundancy analysis for memories | |
Grzelak et al. | Convolutional Compaction-Based MRAM Fault Diagnosis | |
Seshadri et al. | Accelerating diagnostic fault simulation using z-diagnosis and concurrent equivalence identification | |
Benabboud et al. | Comprehensive bridging fault diagnosis based on the SLAT paradigm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101229 |