SoC内存测试优化方法

部署运行你感兴趣的模型镜像

使用NXP MTR解决方案进行SoC内存测试优化

摘要

尽管当前摩尔定律正在放缓,过去十年中SoC的内存容量却大幅增加,平均占芯片面积的比例从20%增长到超过60%。因此,嵌入式内存的高效测试变得愈发重要。为了加快内存测试并最小化测试成本,通常会在SoC中嵌入内建自测试内存(MBIST)模块。然而,添加MBIST逻辑可能会增加SoC裸片尺寸,从而增加其制造成本,特别是在所有存储器并发测试的情况下。顺序MBIST模块(一次测试一个存储器)可能具有更小的面积,但串行测试存储器可能导致测试时间增加。本文提出了一种权衡内存测试时间与面积开销的方法论,以确保最优内存测试成本。此外,还介绍了一些实际案例研究,其中应用该优化方法论显著降低了某些近期NXP SoC的累计内存测试成本。

关键词 — MBIST;内存测试与修复;内存测试优化

一、引言

尽管当前摩尔定律的增速放缓[1],但半导体行业在现代片上系统中的嵌入式存储器持续增长,正如十年前所预测的那样[2]。

示意图0

SoC的内存容量增加对芯片良率产生了相应影响,进而要求对所有嵌入式存储器进行充分测试。某些深度嵌入的存储器无法通过测试设备充分测试:可在这些存储器附近集成存储器内置自测逻辑(MBIST),以确保所有嵌入式存储器得到了充分测试。测试存储器所需的测试时间以及MBIST逻辑的硅片面积都会影响累计内存测试成本。

MBIST面积与内存测试解决方案的测试时间之间的关系十分复杂。如果所有存储器同时进行测试,可以最小化内存测试时间,但这需要大型且复杂的MBIST引擎,从而导致芯片面积增加。另一方面,串行测试存储器可以通过共享逻辑电路来实现面积节省,但代价是内存测试时间增加。此类与高可靠性SoC的累计测试成本相关的复杂面积与测试时间之间的权衡并不容易分析。一种通用的策略并不适用于为面向不同市场的多样化SoC提供最优的内存测试与修复解决方案。

本文的以下部分讨论了行业标准内存测试解决方案(第二节)、可能的逻辑内存关联(第三节)、理解面积与测试时间权衡所必需的背景信息(第四节)、为减少片上系统内存测试解决方案面积而不影响测试时间所提出的特定优化方案(第五节),以及在多个实际片上系统中部署此优化方案所取得的结果(第六节)。第七节总结了本文所述内容。

II. 内存测试解决方案

内存测试文献非常丰富,提出了大量不同的测试方法,特别是基于软件的解决方案[3][4],这些方案利用片上系统嵌入式核心来执行存储器测试,以及基于硬件的解决方案[5][6],其中专用IP模块——MBIST(内建自测试(内存))被嵌入到片上系统中用于测试目的。

本小节重点介绍基于硬件的解决方案,其中MBIST模块被嵌入到片上系统中以执行存储器测试任务并报告测试结果。使用MBIST测试嵌入式存储器是一种行业标准解决方案,通常被认为是一个理想选择[7],部分原因在于它是唯一能够在合理成本下实现高速存储器测试的内存测试解决方案。采用MBIST解决方案的另一个潜在优势是,它可以根据片上系统在面积和测试时间方面的约束进行定制化,但此类定制化只能通过灵活的MBIST架构实现。一种灵活的MBIST架构示例是NXP´的MTR MBIST架构[8],该架构将在后续小节中用于说明不同MBIST类型之间的差异。

A. 并行MBIST

“并行”一词表示该架构允许与特定MBIST模块相关联的所有存储器并发地进行测试。它实现了一个测试控制模块,该模块根据选定的March算法,并发地向所有存储器生成内存事务。随后,相应的内存接口模块将这些内存事务调整以适配各个存储器的特性。这些内存接口模块与单个存储器相关联,负责将内存事务调整至其具体特性,如字数、数据宽度、地址混淆、行列快速地址混淆、信号极性、特殊数据背景以及其他存储器特定特性。内存接口模块还负责将内存读取数据与预期背景模式进行比较。

多个存储器接口实例的存在使得多个存储器能够并发地进行测试。因此,并行MBIST在保持MBIST面积相对较小的同时,最大程度地减少了内存测试时间,相较于每个存储器配备一个MBIST的实现方式具有优势。

示意图1

使用并行MBIST测试多个存储器时,累计内存测试时间由字数最多的存储器决定。

B. 串行MBIST

“串行”意味着该架构专门设计用于一次一个内存地测试给定MBIST中的存储器。这种测试方法允许使用单个内存接口模块,该模块在所有存储器之间共享,这是通过称为串行多路复用器的模块实现的,该模块负责将生成的事务重定向到目标内存,并将内存输出发送回内存接口。

这种逻辑共享与并行MBIST相比,显著减少了MBIST面积。实验表明,对于相同的内存配置,串行MBIST解决方案相较于并行MBIST解决方案平均可实现约40%的面积节省。

示意图2

使用串行MBIST时,测试时间与所有关联存储器的存储器字数之和成正比。因此,对于相同的内存配置,串行MBIST的面积要小得多,但测试时间远大于并行MBIST。

III. 逻辑内存关联 – 组合

上一节讨论的MBIST类型通常与独立物理内存相关联。然而,可以通过某种方式对存储器进行分组[6],从而将多个物理内存关联到由MBIST管理的单个逻辑内存。这些方法在此称为逻辑内存关联(内存并联),即通过连接内存来创建具有扩展地址范围和/或扩展数据宽度的逻辑内存关联(组)。

尽管此概念可应用于任何类型的存储器,但为简单起见,此处仅讨论相同内存的并组。这些方案可以轻松扩展以支持具有不同几何结构的存储器。

使用内存并联为进一步优化存储器测试成本提供了机会。最常见的并组情况将在以下小节中介绍:

A. 垂直逻辑内存关联

垂直并联使我们能够生成具有扩展地址范围的逻辑内存,同时保持与原始内存相同的数据宽度。图4展示了这种并联方式。

示意图3

图4中所示的逻辑内存关联呈现出相当于四个物理内存地址范围之和的地址范围,因此MBIST将把新的逻辑内存作为具有更大地址范围的存储器来处理。由于访问次数现在与更大的逻辑地址范围成正比,该并组内存的测试时间将会增加。

使用并行MBIST进行垂直分组可以减少内存接口模块的数量,从而降低MBIST面积。通过周密规划,我们可以确保累计测试时间不超过并行MBIST中其他存储器的最大地址范围。

然而,在串行MBIST中使用垂直并联可能对MBIST面积或测试时间均无显著效果。

B. 水平逻辑内存关联

水平并组使我们能够生成具有扩展的数据宽度的逻辑内存,同时保持与原始内存相同的地址范围。图5展示了此类并组。

示意图4

图5所示的逻辑内存关联,其地址范围相当于单个物理存储器,但数据宽度对应于各个存储器数据宽度之和。MBIST将把新的逻辑内存视为更宽的内存,并并发地测试各个存储器。

在使用串行MBIST时,采用横向并组可以在结果逻辑内存的数据宽度不超过其他存储器的最大数据宽度的情况下,以最小的面积开销减少测试时间在串行MBIST中。

使用横向并组和并行MBIST可以减少内存接口模块的数量,但由于新模块中所需的比较逻辑和数据路径比单个存储器所需的更宽,因此面积减少微乎其微。

IV. 面积与测试时间的权衡分析 ME

内存测试工程师希望获得面积最小但能快速且全面测试存储器的MBIST IP。然而,MBIST面积与内存测试时间通常存在反比关系。如前几节所述,测试时间优化通常通过增加面积的逻辑复制来实现,而面积减少则通常通过导致测试时间延长的逻辑共享来实现。

对于一组给定的存储器,可采用何种方法论来在面积与测试时间之间实现最佳平衡?一个简单的答案是:正确组合MBIST类型和内存并组技术。当将垂直分组与并行MBIST结合时,它能够可以以细粒度方式降低其并行度,从而在不增加测试时间的情况下减少MBIST面积。类似地,将横向并组与串行MBIST结合时,可以通过提高其并行度来缩短测试时间,而MBIST面积不会明显增加。如前所述,垂直分组与串行MBIST的组合,以及水平并组与并行MBIST的组合均无显著优势,因此不予考虑。同样明显的是,将所有存储器合并为单个水平并组的串行MBIST等效于一个并行MBIST;而将所有存储器合并为单个垂直并联的并行MBIST则等效于一个串行MBIST。此类配置也并无可测量的优势。

为了更好地理解面积与测试时间之间的权衡,考虑在给定的片上系统中使用单个MBIST模块测试八个相同内存的情况。让我们研究不同内存并联方式与MBIST类型组合之间的权衡关系。本研究将考虑以下四种场景:
1. 无并组的并行MBIST
2. 无并组的串行MBIST
3. 具有垂直并联的并行MBIST
4. 具有水平并组的串行MBIST

当被研究的存储器采用并组方式时,存储器配置将包含4个组(即组),每组包含2个存储器。所提出组合的结果如图6所示。

示意图5

图6显示了两条曲线:虚线表示各种MBIST配置的面积,而虚线表示这些配置的测试时间。图中所示的测试时间假设在每种实现中的存储器整个地址范围内执行相同的内存测试算法。从图中可以看出,并行MBIST在无并组的情况下导致最大面积和最短测试时间。相反,串行MBIST在无任何并组的情况下导致最小面积和最长测试时间。从图中可以清楚地看到不同配置下MBIST面积以及内存测试时间的变化情况。

从表面上阅读这些结果,人们可能会得出结论:串行MBIST与水平并组的组合实现了MBIST面积与测试时间之间的最佳平衡。然而,这一结论不一定正确。对于不同的目标技术,最佳平衡可能有所不同,具体取决于单位面积硅成本以及单位时间测试成本。这些成本因素通常很复杂,难以理解和关联。因此,MBIST的硅片成本与测试时间成本之间的最佳平衡可能因片上系统而异,只有在SoC设计的早期阶段由系统架构师和测试工程师共同协作才能实现。

V. 建议的优化方案

到目前为止,讨论仅限于针对单个MBIST模块及其存储器集合的测试成本优化。大多数先进的片上系统包含数百甚至数千个嵌入式存储器实例,这些实例分布在多个知识产权核(IP)、多个时钟域和多个电源域中。为了高效地测试这些存储器,可能需要数十个MBIST模块。

对于包含大量MBIST模块、数百个存储器以及数十个存储器组的片上系统(SoC),其存储器测试成本的优化面临诸多挑战。需要一种稳健的方法论,使SoC设计人员能够快速尝试各种配置并确定最优解。通常情况下,SoC中的所有MBIST模块是并发运行的;但在某些情况下,并发执行所有MBIST并不现实(例如,当SoC的电源平面无法支持所有MBIST的并发执行时),此时需要将SoC划分为多个MBIST组,使得同一组内的所有MBIST可以并发运行,但在任意时刻仅激活部分组。

在这种情况下,必须对每个组单独进行优化。

建议的优化方案的目标是在不增加测试时间的情况下最小化MBIST面积。通过将每个MBIST模块替换为提供最小面积的型号来实现这一目标,前提是这样做不会增加累计测试时间。

我们通过将片上系统的存储器分区为适当数量的MBIST来启动存储器可测性设计(DFT)解决方案的设计过程,并假设片上系统中的所有MBIST均为并行MBIST模块。由于并行MBIST的测试时间与具有最大字数的存储器成正比(第二节),不同的MBIST模块完成所选算法所需的执行时间各不相同。具有最大存储器的MBIST将最后完成测试,而具有较小存储器的MBIST则会提前很久就完成其存储器的测试。

建议的优化方案首先识别测试时间最长的MBIST模块。该MBIST将设定不得超出的测试时间上限。在已知该最大测试时间值的情况下,通过将其他所有MBIST模块替换为门数更少的等效实现,并将存储器实例分组为组(gangs),从而在不违反测试时间上限的前提下减少其原始面积占用。

每个MBIST模块都将被替换为面积最小的等效实现。对于每个MBIST,我们将其转换为等效的无组的串行MBIST,并检查此实现是否导致测试时间等于或小于先前设定的测试时间上限。如果未超过该上限,则说明已找到满足所有要求的门数最少的等效方案。如果超过了测试时间上限,则寻找使用串行MBIST结合横向并组来减少测试时间的机会。如果仍然超出测试时间上限,则将MBIST替换为具有垂直分组的等效并行MBIST。如果这些面积更小的实现方案均无法满足测试时间要求,则恢复原始的MBIST配置。此过程对每个MBIST依次重复,直至所有MBIST模块均被优化。图7中的流程图说明了这些优化步骤。

示意图6

需要强调的是,建议的优化方案并未改变原始片上系统MBIST的层次结构,也未更改原始内存测试解决方案中为每个MBIST指定的存储器分组。例如,如果原始分区将二十个存储器分配给三个MBIST模块,优化后的版本仍将保持相同的三个MBIST模块,并关联相同的存储器。总体测试时间也将保持不变,但所有MBIST模块的累计门数会更低。这种方法确保了为原始片上系统定义的布局规划和后端约束在优化方案中得以保留,从而允许对不同实现方案进行公平比较。

VI. 优化结果

建议的优化方案被用于优化数十个实际片上系统,从而在不影响原始测试时间的情况下减少其存储器测试解决方案面积。

本研究中使用的样本片上系统代表了广泛的应用领域,如工业、汽车和安全;这些片上系统采用不同的制造工艺生产,且包含具有不同几何结构的多种数量的存储器。选择这些片上系统旨在确保优化方法在各种应用下均能产生理想的结果。

表I展示了本研究中使用的二十个样本片上系统的优化结果。“面积减少”一栏显示了与原始存储器测试解决方案相比,MBIST面积的百分比减少。同时提供了片上系统中的存储器数量以及用于测试它们的MBIST数量。

SoC 存储器数量 MBIST数量 面积减少
A 11 4 8.78%
B 11 3 9.41%
C 18 5 0.00%
D 22 5 14.27%
E 58 5 52.14%
F 71 17 7.77%
G 119 4 8.12%
H 129 17 2.43%
I 196 32 8.23%
J 153 15 0.00%
K 155 17 0.00%
L 169 11 40.87%
M 175 8 0.00%
N 449 59 28.87%
O 528 75 22.52%
P 778 98 12.94%
Q 812 49 41.21%
R 929 110 18.37%
S 1302 66 35.25%
T 1554 74 28.61%
平均值 16.99%

从表I的数据可以看出,使用建议的优化方案可实现约17%的平均面积减少,最大减少量可达52%。需要注意的是,存在一些无法实现面积减少的情况。

如第五节所述,优化潜力取决于多种因素,包括原始SoC MBIST配置以及由这些配置所产生的目标测试时间。例如,如果片上系统中的所有MBIST模块最初都是未采用并组的串行MBIST,则所有MBIST已经具有最小可能的面积,因此无法进一步实现面积减少。表1中表示为C、J和K的片上系统即属于这种情况。然而,尽管这些片上系统的MBIST已经具有最小面积,但这并不意味着它们将提供最优的存储器测试成本。完全有可能其测试时间较长,从而导致累计内存测试成本更高。建议通过结合硅片面积成本和测试时间成本,并确保累积成本最小化,以实现最优测试成本。这可以通过将所有SoC MBIST替换为未并组的并行MBIST来实现,并使用优化方法确认已实现最优的累计测试成本。表二展示了该实验结果。

SoC 存储器数量 MBIST数量 Area 增加 Test 减少
C 18 5 26% 76%
J 153 15 65% 87%
K 155 17 84% 87%

从表二可以看出,片上系统‘C’表现出良好的权衡,因为测试时间的减少相对较大,而面积增加相对较小。另一方面,对于类似的测试时间减少,片上系统‘K’的面积增加却十分显著。此类分析使片上系统团队能够评估不同的选项,并选择最符合其需求的解决方案。

关于片上系统‘M’,经确认其原始内存测试解决方案已经经过广泛优化,因此该工具无法进一步探索优化空间。

CONCLUSIONS

本文详细阐述了单个MBIST模块中面积与测试时间之间的权衡因素,并将讨论扩展到包含多个MBIST的实际片上系统。基于此理解,提出了优化技术,并在一项涉及多达20个实际片上系统的综合研究中有效应用了这些技术。文中还展示了实施建议的优化技术以实现面积与测试时间之间更平衡权衡的方法论,并讨论了此类优化的结果。

您可能感兴趣的与本文相关的镜像

Qwen-Image-Edit-2509

Qwen-Image-Edit-2509

图片编辑
Qwen

Qwen-Image-Edit-2509 是阿里巴巴通义千问团队于2025年9月发布的最新图像编辑AI模型,主要支持多图编辑,包括“人物+人物”、“人物+商品”等组合玩法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值