嵌入式存储器测试系统的制作方法

文档序号:6765650阅读:154来源:国知局
嵌入式存储器测试系统的制作方法
【专利摘要】本发明涉及一种嵌入式存储器测试系统。本发明涉及一种用于测试嵌入式存储器的可编程内建自测试pBIST系统,其中将需要不同测试条件的多个存储器并入于SOC中。存储测试设置数据的pBIST只读存储器经组织以消除针对类似嵌入式存储器的测试设置数据的多个实例。
【专利说明】嵌入式存储器测试系统
【技术领域】
[0001]本发明的【技术领域】是高速存储器测试,且更特定来说,涉及一种用于嵌入式存储器的内建自测试(BIST)系统。
【背景技术】
[0002]测试所制作的集成电路以确定恰当操作始终一直是具挑战性的任务,特别是关于板上存储器功能来说。存在由设计缺陷导致的两种主要类型的装置失灵。当按不提供用于既定使用用途的恰当功能的设计规范制造集成电路时,出现设计缺陷。此缺陷影响任何所制造的集成电路直到设计缺陷被校正为止。集成电路制造者在将大量装置装运到客户之前必须检测并校正此类缺陷以避免成本昂贵的召回。相比于设计缺陷,制造缺陷涉及集成电路的制造中的某一故障。制造缺陷一般将影响不足所制造的所有部件。通过识别并校正制造故障来校正此类缺陷。
[0003]大多数集成电路制造者在装运到顾客之前测试集成电路是否恰当操作。增加的集成电路复杂性使得此测试越来越困难。并非依赖于越来越昂贵的外部测试装置,许多制造者使用内建自测试(BIST)来测试集成电路。BIST在集成电路上使用经设计而仅仅用以测试集成电路的电路。当在电路操作中自动地或由外部测试装置触发时,BIST电路产生在普通电路硬件上运行的测试条件集。集成电路在测试之后的状态与预期状态的比较指示集成电路是否通过。此测试的实例为向读取/写入存储器写入及重新调用所写入的数据。所写入数据与所读取数据之间的匹配通过所述测试。BIST通常涉及其它更复杂的测试。
[0004]BIST的子集是使用由指令集编程的通用测试引擎的可编程内建自测试(pBIST)。此测试指令集通常存储于集成电路上在只读存储器(ROM)中且包含针对所述集成电路特别开发的指令。PBIST使得硬件及测试指令的重新使用能够覆盖一系列的类似但不等同的集成电路。
[0005]标题为“基于ROM 的存储器测试(ROM-Based Memory Testing) ” 的第 7,324,392号美国专利包含对供在PBIST中使用的示范性指令集的描述。此专利以全文引用的方式并入本文。
[0006]在常规VLSI系统中,在三个步骤中完成存储器测试。在第一步骤中,硬连线逻辑(通常可通过第三方供应商获得,实例为memBIST(MBIST))使用在将装置提交到下线之前开发的算法。确定硬连线逻辑的详细构成此时并不可行。不可能预测适当的硬件电路,因为必要的信息在工艺评定窗期间来自工艺模型驱动器。第二,常规存储器测试试图使用基于CPU的技术来缩小测试差距。这些技术具有若干个限制。主要限制是与在大部分地不可存取的存储器功能的CPU接口。不能够进行对所有存储器的背靠背存取是另一严重限制。第三,在于装置呈晶片形式时进行存储器测试期间,无法以完全处理器速度实现直接存储器存取(DMA)外部存储器存取。此可导致不能观察到显著数目的故障。

【发明内容】
[0007]SOC(芯片上系统)通常含有多个存储器。采用pBIST(可编程内建自测试)模块来测试嵌入式存储器。
[0008]本发明描述pBIST内的新颖ROM(只读存储器)组织,其减少存储存储器测试及配置信息所需的ROM的量。
【专利附图】

【附图说明】
[0009]在图式中图解说明本发明的这些及其它方面,图式中:
[0010]图1是构建到现有技术的CPU/存储器功能中的可编程BIST (pBist)单元的框图;
[0011]图2是现有技术的pBist控制器的详细框图;
[0012]图3是图解说明由以下三个地址分量寻址的现有技术实例性两块存储器的图:列地址;行地址;及块地址;
[0013]图4展示具有分布式数据记录的pBIST架构。
【具体实施方式】
[0014]不同装置的SRAM/存储器结构因技术、设计及实施方案而不同。为了有效地测试存储器,存储器测试算法的地址存取型式序列应遵循使存储器内的电结构敏感并测试所述电结构的特定型式。
[0015]在简单存储器结构中,物理地址及逻辑地址为邻接且匹配的。可借助使地址线性地递增或递减的简单算法来执行有效测试。在这些存储器中,任何可能的地址置乱均自动地使输入与输出匹配。即,输入的位〈O〉变为输出的位〈O〉,依此类推。
[0016]图1图解说明代表 性现有技术集成电路(IC):包含可编程内建自测试(pBIST) 130的芯片上系统(SOC)装置100。
[0017]SOC装置100包含测试起来可能非常复杂的多个模块。S0C100包含通过总线120耦合的中央处理单元(CPU) 110以及存储器111及112到119。其它SOC装置可包含多个处理器、存储器与高速缓冲存储器子系统的复杂集合、外围装置及接口、各种类型的存储器存储装置(例如随机存取存储器(RAM)、只读存储器(ROM)及可能地各种类型的可变更存储器或快闪ROM)。
[0018]可编程内建自测试单元pBIST130包含pBIST控制器129、pBIST R0M131、ID值接口 132、ID比较单元128及外部接口 133。pBIST控制器129以CPU 110控制集成电路100的正常操作几乎相同的方式控制SOC测试。pBIST单元130由存储于pBIST ROMl31中的测试指令控制。PBIST单元130可经由外部接口 133耦合到集成电路100外部的电路。地址经由地址1/0134进入及离开pBist单元130。
[0019]pBIST控制器129通过使用pBIST ID (识别)值接口 132选择pBIST控制器群组内的特定PBIST控制器。pBIST ID值通常为允许选择多达三十一个pBIST控制器的五位值。
[0020]图2是现有技术pBist 130中所包含的功能单元的框图。pBIST单元130包含PBIST控制器129、寄存器221到228、双地址寄存器230、匹配单元232及多输入签名寄存器(MISR)单元233。Addr [15: O] I/O 134允许pBist地址的输入或输出。
[0021]在CPUllO的地址空 间内对配置寄存器221到228进行存储器映射。因此,CPU 110可通过对对应地址的存储器操作来从任何寄存器221到228读取或向其写入。配置寄存器221到228控制pBIST单元130的配置及操作模式。数据寄存器222存储从pBIST ROM131重新调用的测试数据。程序寄存器223存储从pBIST ROM 131重新调用的测试程序指令。其它寄存器224包含各种各样的通用寄存器。配置寄存器221包含下文将更充分论述的四个额外寄存器:算法寄存器225、上部RAM信息(RINFOL)寄存器226、下部RAM信息(RINFOU)寄存器 227 及 pBIST ID 寄存器 228。
[0022]算法寄存器225实际上为算法屏蔽寄存器。此寄存器的位[O]指示是否将执行存储于pBIST ROM 131中的第一算法。位[I]指示是否执行第二算法,依此类推。存储于pBist ROM 131中的总共32个算法可由算法寄存器225的32位字宽度控制。为执行算法,必须设定算法寄存器225的对应位及先前算法标头中的有效位两者。
[0023]RINFOL寄存器226及RINFOU寄存器227为类似于算法寄存器225的群组屏蔽寄存器。RINFOL寄存器226及RINFOU寄存器227指示是否测试特定RAM群组。提供此能力是因为并非所有算法均可在所有存储器上运行。为测试特定RAM群组,必须设定RINFOL寄存器226或RINFOU寄存器227中的对应位及先前RAM群组标头中的有效位两者。RINFOL寄存器226指示RAM群组O到31的有效性且RINFOU寄存器227指示RAM群组32到63的有效性。
[0024]pBIST ID寄存器228为存储器映射寄存器,其在编程序列开始时加载有pBIST ID以指定多个PBIST控制器129中的哪一者正由外部测试器或由本地CPU 110编程。在复位后,pBIST寄存器即刻采取值0x0000。当设计SOC集成电路时,经由ID值接口 132给每一pBIST控制器129指派唯一 ID值输入。此可通过简单地将五位字段系结到高或低参考电压以形成五位ID值来体现。双地址寄存器230用于存取存储器,例如存储器111、112到119。
[0025]图3图解说明此处作为可如何使用地址置乱的实例而包含的现有技术装置的存储器读取部分。在图3的实例中,存储器具有N个块,每一块具有M列且每一列具有R行。来自两个存储器块(block_0 300及block_l 301)的输出数据由多路复用器302、303及304选择。block_0 300及block_l 301的三十二个垂直单元中的每一者含有三十二个数据行,每一行含有标示为字节O到3的四个八位字节。
[0026]行地址〈R-1:0>供应block_0 300及block_l 301的行地址输入且在每一块中从行2K-1到O中选择一行。来自列2Μ-1到列O的数据从block_0 300输出到多路复用器302。供应到多路复用器302的控制输入的列地址〈M-1:0>选择对应列的数据。类似地,来自列2M-1到列O的数据从block_l 301输出到多路复用器303。供应到多路复用器303的控制输入的列地址<M-1:0>选择对应列的数据。多路复用器302及303的输出作为输入供应到多路复用器304。供应到多路复用器304的控制输入的块地址〈N-1:0>选择来自对应块的数据以作为数据231输出。
[0027]在图3的存储器中:若干位宽的列地址〈(M-1):0>在M个列之间选择;若干位宽的块地址〈(N-1):0>在存储器库的N个块之间选择;且若干位宽的行地址〈(R-1):0>在每一存储器库内部的R个逻辑地址行之间选择。
[0028]图3图解说明实例性存储器块的分割。图3的实例性存储器要求SRAM地址具有两位列地址〈0>及〈1>、两位行A地址〈2>及〈3>、单位块地址〈4>及三位行B地址〈5>、〈6>及〈7>。将供应到存储器的地址划分成这三个区段。以上区域的位置可在不同设计间不同。[0029]图1及2中所图解说明的先前pBIST 130经设计以用于直接线性寻址。行地址为地址最低有效位(LSB)〈0>到〈4>。列地址为位〈5>及〈6>。块地址为位〈7>。递增通过这些地址将在block_0 300中以循序次序提取来自行O到行31的数据且接着在block_l 301中以循序次序提取来自行32到63的数据。
[0030]此线性寻址的第一遍次将寻址block_0 300且继续进行通过所有行地址,从而循序地提取首先所有列O数据且接下来所有列I数据、后续接着列2数据及最终列3数据。此线性寻址的第二遍次将寻址blockl 301且继续行进通过所有行地址,从而循序地提取首先所有列O数据且接下来所有列I数据、后续接着列2数据及最终列3数据。
[0031]图4中所示范的架构由具有分布式数据记录器系统的单一 pBIST组成。每一子芯片并入有与进行控制的PBIST通信的数据记录器。
[0032]数据从测试器(VLCT)输入到组合器401以格式化所述数据、接着输入到具有PBIST存储器403的pBIST块402。pBIST 402经由经压缩数据总线与适用子芯片通信且从每一子芯片接收失效及日志信息。以串行方式呈现日志信息以减少连接的数目。
[0033]如果子芯片在来自pBIST的不同电压及/或时钟域中操作,那么其可含有异步桥接器405。异步桥接器405连接到通信以控制块407的分布式数据记录器406。块407在将测试型式写入到存储器408之前扩展经压缩数据且接着从存储器408读取结果。在DDL406中执行预期与实际存储器数据的比较。由于所述比较是在每一子芯片中局部进行的,因此不需要将读取数据返回到PBIST,因此减少连接的数目。
[0034]在pBIST实施方案中,必须测试多个嵌入式随机存取存储器(RAM)。每一嵌入式存储器块可能需要不同测试算法及测试条件,且PBIST必须能够取决于所选择的实际存储器而设置测试过程。设置数据可由SOC测试器提供,或其可存储于PBIST只读存储器(ROM)中。
[0035]在现有技术中,pBIST ROM针对每一RAM块单独地存储配置数据,如表I中所展示,其中将ROM划分成两个区段。第一位置存储到算法区段的开始的指针(ALG0_PTR),且第二位置存储到RAM群组区段的开始的指针。所述算法区段存储针对选定RAM的测试算法,且RAM群组区段存储测试选定RAM块所需的常数。表2展示Ram群组区段的内容。
[0036]针对可存在的每一嵌入式存储器块重复此ROM结构。
【权利要求】
1.一种嵌入式存储器测试系统,其包括: 可编程内建自测试PBIST引擎; 多个嵌入式随机存取存储器; 只读存储器。
2.根据权利要求1所述的嵌入式存储器测试系统,其中: 所述可编程内建测试系统可操作以测试所述嵌入式随机存取存储器中的一者或一者以上。
3.根据权利要求1所述的嵌入式存储器测试系统,其中: 所述只读存储器可与所述可编程内建自测试引擎一起操作。
4.根据权利要求1所述的嵌入式存储器测试系统,其中: 所述只读存储器可操作以存储测试所述嵌入式随机存取存储器所需的多个测试算法。
5.根据权利要求1所述的嵌入式存储器测试系统,其中: 所述只读存储器可操作以存储测试所述各种类型的嵌入式随机存取存储器所需的设置条件及常数。
6.根据权利要求1所述的嵌入式存储器测试系统,其中: 所述只读存储器可操作以针对每一类型的嵌入式随机存取存储器存储所述设置条件及常数的单一实例。
7.根据权利要求1所述的嵌入式存储器测试系统,其中: 所述可编程内建测试系统可操作以通过使用存储于所述随机存取存储器中且与选定嵌入式随机存取存储器相关联的存储器地址指针来检索针对所述选定嵌入式随机存取存储器的所述设置条件及常数。
【文档编号】G11C29/12GK103871478SQ201310665285
【公开日】2014年6月18日 申请日期:2013年12月10日 优先权日:2012年12月10日
【发明者】拉古拉姆·达莫达兰, 纳韦恩·布霍里亚, 阿曼·科克拉迪 申请人:德州仪器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1