跳到正文
半导体开放世界

存储器内建自测试

Memory Built-In Self-Test(MBIST)

由片内测试控制与响应检查结构执行规定的阵列读写序列,检查所针对的存储器故障。

报告问题

速览

约 1 分钟

存储器自测不只是把阵列读一遍。测试控制器要选择地址、写入数据背景、按算法读写并比较响应,考虑邻近单元与访问次序的影响。测试通过只对应实际执行的算法;若测试覆盖原内容,必须先安排数据使用边界。

系统理解

约 2 分钟

典型结构在地址、数据和控制入口选择功能或测试通路,由状态机执行序列。不同背景与遍历顺序使单元经历不同条件;响应可直接比较或按规定压缩。需要分别理解访问次数、算法故障范围、信息压缩风险和冗余修复,不把一个PASS信号推广为全部功能与可靠性已获保证。

先理解SRAM和可测性设计,再讨论片内阵列访问、算法与响应;通过边界扫描等接口可组织自测控制,但接口与算法分工不同。

关键参数

关键参数
参数单位含义
被测地址数与访问宽度1决定地址遍历及每次访问涉及的数据范围
算法与数据背景—规定每地址动作及相邻单元状态安排
访问周期s影响实际自测时间,可能含等待和其他控制

常见误区

  • 扫描链能自动覆盖存储器全部阵列故障。
  • 最终读到正确值说明测试序列和背景都充分。
  • 有MBIST就一定有备用行自修复。

工程深入

12 条结论 · 1 道例题

存储器测试结构

定义

存储器内建自测试在片内组织阵列读写检查

MBIST利用片内测试控制和响应检查结构,对存储阵列施加规定的地址、数据与控制序列,以降低逐项外部驱动阵列的负担。12

成立条件 讨论读写型嵌入式存储器的典型数字自测,具体接口取决于存储宏。

机制

测试访问需要接管地址、数据和读写控制

典型MBIST在存储器地址、数据与控制入口配置选择路径,使测试控制器能直接驱动这些端口;正常功能访问和测试访问必须有明确的模式选择。12

成立条件 测试端口选择不意味着存储单元结构与功能访问完全相同。

机制

状态机把地址顺序与每地址读写动作组合成算法

存储器测试不能只指定最终写入的数据图案,还必须说明按什么地址顺序、在每个地址读写哪些值以及何时比较响应;这些规则共同构成测试过程。12

成立条件 相同最终数据背景不代表执行过相同的测试序列。

数据背景、地址与响应

机制

已知期望值把读出数据转为可判定响应

写入已知图案后,读回结果需要与相应地址和步骤的期望值比较,或经明确规定的分析方式判断;仅完成读操作并不等于已经判断存储器是否通过。12

成立条件 期望值必须与实际执行的序列对应,不能以任意旧数据代替。

机制

不同数据背景用于暴露不同状态下的行为

全0、全1、棋盘格及其反相是存储测试可使用的不同数据背景;相反背景让单元经历不同逻辑值,但某一种背景不能自动代表已经覆盖全部目标缺陷。12

成立条件 背景应结合存储拓扑与故障目标选择,不能从图案名称推断普遍完备性。

机制

邻近单元影响要求考虑图案与访问次序

单元读写行为可能受邻近单元状态和寄生耦合影响,因此测试不只检查孤立单元保存某个值,还要安排数据背景和访问顺序来暴露相互作用。12

成立条件 不把任意逻辑地址相邻直接视为物理单元相邻。

定义

March测试以规定方向遍历地址并组合每地址操作

March类测试把递增或递减地址遍历与每个地址上的读写动作组合成若干阶段。不同March算法的阶段与故障目标不同,不能把任意一次写遍和读遍都称为同一种March测试。3

成立条件 此处引用Microchip的March C/March C-实现说明作为具体示例,不规定MBIST必须使用该软件例程。;算法名、字访问实现与所针对故障范围应一并说明。

响应分析与工程边界

边界

签名压缩需要声明信息损失和混叠风险

把长响应压成短签名能减少需要保存和传出的数据,但不同响应序列可能映射为相同签名;签名匹配不是逐位完全相同的逻辑证明。1

成立条件 针对使用压缩分析器的方案,直接逐位比较不属于这一压缩情形。

边界

会覆盖原内容的读写测试必须安排数据使用边界

以测试图案覆盖阵列的算法会改变原有内容;若这些内容仍需供功能程序使用,就应先安排保存恢复、重建或在不依赖旧内容的时段执行。12

成立条件 仅限定会覆盖原内容的算法,不把所有自测试都说成必然破坏数据。

公式

测试时间估计应从明确的存储访问次数开始

若一个教学序列依次执行全阵列写0、读0、写1、读1,并且每个地址每阶段只访问一次,则N个地址共需要4N次访问。时间还取决于每次访问的周期和额外控制开销。12

Nop=4N,Tideal=NopfaccN_{\mathrm{op}}=4N,\qquad T_{\mathrm{ideal}}=\frac{N_{\mathrm{op}}}{f_{\mathrm{acc}}}
Nop = 4N;Tideal = Nop/facc
Nop
所述四阶段教学序列的总存储访问次数,单位 1
N
被测地址数,单位 1
facc
每周期一次访问假设下的访问时钟频率,单位 Hz
Tideal
忽略其他开销后的理想序列时长,单位 s

成立条件 本序列只用于访问计数,不宣称是某种完整March算法或能覆盖全部故障。;下面时间式假设每次访问恰用一个频率facc的周期,忽略等待、比较流水、复位与其他控制。;公式由规定的四阶段逐地址计数推导;教材提供读写测试结构和背景的依据。

例题:动手算一次教学假设,可复算

教学假设:4096个可访问字地址,执行写0、读0、写1、读1四阶段,每个地址每阶段一次访问,以50.0MHz且每次访问一周期估算时间。

已知

  1. N=4096个字地址;四阶段各遍历一次。
  2. facc=50.0×10⁶Hz,每次访问一周期;数值不是存储宏规格。

步骤

  1. Nop = 4×4096 = 16384 次访问,按地址数和四个阶段计数,不再乘字中位数。
  2. Tideal = 16384/(50.0×10⁶) = 0.00032768 s = 327.68 μs,先转为秒,再转为微秒。
结果 总访问16384次,理想序列时间327.68μs。

字访问一次可同时涉及多位,访问时间模型必须说明计数单位。

不能外推到 不含额外等待和控制,不代表March完备覆盖,也不能直接当作实际MBIST时长。

边界

自测通过只对应已执行的算法和观察规则

一次MBIST通过说明该算法、背景、访问条件及响应检查没有发现所针对的异常;没有被算法激发或被响应分析分辨的故障不能据此自动排除。12

成立条件 应同时报告所执行算法和目标故障范围,不以单个PASS标志宣称全部寿命可靠性。

关联

检测出失效与修复阵列是不同的动作

MBIST可以提供某种失效检测结果;要用备用行或其他冗余替代故障部分,还需要相应的定位、配置与冗余结构。不能把自测功能存在直接等同于已经具有自修复能力。2

成立条件 替换能力和备用资源取决于具体存储设计;本条不规定通用修复流程。

出处

3 份资料 · 21 处引用
  1. 1

    数字集成电路:电路、系统与设计(第2版)

    查看这个来源 →
  2. 2

    CMOS超大规模集成电路设计(第4版)

    查看这个来源 →
  3. 3

    Class B Software Library: SSL_MarchCRamTest.c

    查看这个来源 →