同任何IP模块一样,存储器必须接受测试。但与很多别的IP模块不同,存储器测试不是简单的通过/失败检测。存储器通常都设计了能够用来应对制程缺陷的冗余行列,从而使片上系统(SoC)良率提高到90%或更高。相应地,由于知道缺陷是可以修复的,冗余性允许存储器设计者将制程节点推向极限。测试过程已经成为设计-制造过程越来越重要的补充。
存储器测试始终要面临一系列特有的问题。现在,随着FinFET存储器的出现,需要克服更多的挑战。这份白皮书涵盖:
FinFET存储器带来的新的设计复杂性、缺陷覆盖和良率挑战
怎样综合测试算法以检测和诊断FinFET存储器具体缺陷
如何通过内建自测试(BIST)基础架构与高效测试和维修能力的结合来帮助保证FinFET存储器的高良率
虽然这份白皮书以FinFET工艺(制程)为重点,但其中很多挑战并非针对特定制程。这里呈现的存储器测试的新问题跟所有存储器都有关,无论是Synopsys还是第三方IP供应商提供的或是内部设计的。
FinFET与平面工艺比较
英特尔首先使用了22nm FinFET工艺,其他主要代工厂则在14/16nm及以下相继加入。自此,FinFET工艺的流行
性和重要性始终在增长。如图1所示。
图1:90nm 到 7/5nm FinFET工艺节点下活跃设计及投片项目的增长
要理解FinFET架构,设计人员首先应与平面架构进行沟道对比,如图2所示。左图标识平面晶体管。改为FinFET的制程相关的主要动机是制程工程师所谓的“短沟道效应”和设计工程师所谓的“漏电”。当栅极下面的沟道太短且太深以至于栅极无法正常地控制它时,即使在其“关闭”的情况下,其仍然会局部“打开”而有漏电电流流动,造成极高的静态功率耗散。
中间这张图指示的是FinFET。鳍片(灰色)较薄,栅极将它周围完全裹住。鳍片穿过栅极的所有沟道部分充分受控,漏电很小。从工艺上说,这种沟道将载流子完全耗尽。这种架构一般使用多个鳍片(两个或三个),但未来工艺也可能使用更多鳍片。多鳍片的使用提供了比单鳍片更好的控制。
使用多鳍片突出了FinFET与平面架构之间的重大差异。平面工艺使用晶体管宽度和长度尺寸的二维界面。而在FinFET中,鳍片大小是固定不变的,栅极厚度(其定义了沟道长度)也是固定不变的。改变FinFET的唯一参数是鳍片数量,而且必须是整数。比如:不可能有2? (两个半)鳍片。
图2:平面架构与FinFET架构对比
FinFET降低了工作电压,提高了晶体管效率,对静态功耗(线性)和动态功耗(二次方)都有积极作用。可节省高达50%的功耗。性能也更高——在0.7V上,性能(吞吐量)比平面工艺高37%。
FinFET复杂性带来了制造困难
与平面工艺相比,FinFET的复杂性一般会导致更加昂贵的制造工艺,至少初期是这样。随着代工厂经验不断丰富和对工艺过程的控制越来越娴熟,这些成本可能会下降,但就目前而言,放弃平面工艺的话会增加成本。
FinFET还存在热挑战。由于鳍片直立,晶片的基体(衬底)起不到散热片的作用,这可能导致性能下降和老化。热挑战还会影响修复,因为在某些情况下,存储器不仅需要在生产测试中修复,以后还需要在现场修复。
在使该工艺投产、扩大到量产等情况下,代工厂必须考虑这些挑战。一般来说,代工厂还要负责存储器位单元,需要对其做全面分析(通过模拟)和鉴定(通过运行晶圆)。IP提供商,无论是存储器、标准单元还是接口提供商,也要在构建自己的布局的同时考虑这些问题。
SoC设计人员受到的影响不大,至少对于数字设计流程来说是这样。一般来说,设计人员见到鳍片的次数绝不会比他们以往见到晶体管的次数更多,除非他们想在其布局与布线工具所使用的,采用金属结构进行连接的标准单元内部一探究竟。
STAR存储器系统
Synopsys生态系统(图3)包括创建布局、完成提取、模拟等需要的所有工具。Synopsys内部各IP小组能够充分利用完整的Synopsys工具套件来设计、验证并测试Synopsys IP,包括存储器在内。
图3:Synopsys工具套件
Synopsys已经从最底层起搭建了自己的专门知识。他们与所有不同的FinFET厂家均构建了多个测试芯片:三星、TSMC、英特尔、GLOBALFOUNDRIES和UMC。截止2015年8月,Synopsys运行过的FinFET测试芯片有50个以上。这些芯片均使用了被称之为DesignWare?STAR存储器系统?的Synopsys测试和修复解决方案,其中STAR表示自测试与修复。
自测试和修复曾经在很多代工艺制程上使用过,不只是FinFET。通过不断投入,Synopsys改善了STAR存储器系统。图4中,STAR存储器系统用紫色方块指示。它们包含STAR存储器系统IP编译器生成的RTL模块以应对各种存储器:SRAM、双端口、单端口、寄存器文件等。包装器通过STAR存储器系统处理器联系在一起,这些处理器向整个系统的总管理器即STAR存储器系统服务器报告,而服务器则转而提供所有必要的调度和握手信号。外部接口则经由JTAG测试访问端口(TAP)控制器。
图4:DesignWare STAR存储器系统:针对制程优化了的存储器测试、修复 & 诊断
每个STAR存储器系统处理器的能力都足以处理芯片上的检测、诊断和缺陷修复。连接和配置所有紫色方框可能比较耗时且容易出错,所以STAR存储器系统还实现了以下工作的自动化:
生成、插入和确认配置
完成测试向量的生成
执行故障分类
定位失效
纠错(如果可能)
Synopsys将所有这些自动化步骤映射在FinFET工艺上,以便处理与FinFET存储器有关的新的分类和失效问题。
自2012年起,Synopsys就一直与产业生态系统中得以较早接触制程参数的存储器设计人员合作。在多个FinFET厂家的配合下,Synopsys分析了他们的位单元,也检查、验证了他们的模型,创建测试芯片并在Synopsys内部实验室中直接对硅芯片进行了分析。这个过程让Synopsys加深了对FinFET缺陷问题的认识,使Synopsys可以优化STAR存储器系统来解决它们。
因此,如今STAR存储器系统已被使用在多个方面:
工艺开发:利用STAR存储器系统特征化描述和理解晶圆制造工艺
IP鉴定:特征化描述和鉴定存储器IP本身
SoC设计:将STAR存储器系统纳入SoC设计分析中,包括生产测试和修复
管理现场可靠性和老化:处理FinFET工艺中固有的、与鳍片突出和底层热隔离有关的热问题。SoC寿命中出现的问题可能是小到软性错误的小问题,它们可以通过纠错代码(ECC)自动纠正。但是高可靠性系统中的老化可能需要定期或在上电时使用STAR存储器系统修复生产测试完成很久以后在现场出现的故障。
当然,存储器并非芯片上唯一需要测试的部分。还有逻辑模块、接口IP模块、模拟混合信号(AMS)模块等(也需要测试)。Synopsys提供了一组能与STAR存储器系统平滑整合的全面的测试和IP方案(图5)。对于逻辑模块,Synopsys提供的是DFTMAX?和TetraMax?。接口IP (如DDR、USB和PCIe)有自己的自测试引擎,但它们都能无缝地配合STAR层次化系统(Synopsys的系统级测试方案)一起工作。仅有针对单个模块的解决方案是不够的,SoC必须流畅地在顶层上工作。
图5:Synopsys测试和良率解决方案:提高质量、可靠性和良率
认识FinFET存储器故障和缺陷
理解如何测试和修复存储器之前,设计人员需搞清楚存储器失效的方式。比如,电阻性故障显现出来的是逻辑上的性能问题,虽然逻辑通过了测试但无法全速工作。在存储器中,电阻性故障可以表现为更加微妙的方式。这种故障可能只有在多次操作(一次写入操作后接着几次读操作)之后才引起可检测性的错误,而不是在更标准的一次操作(一次读操作)后。
设计人员还必须通过研究布局确定哪些错误可能真正发生。在数字逻辑测试中,可以通过分析哪些金属是相邻的而且可能短路来大幅提高覆盖率。在存储器中通过分析信号线可能出现失效等问题所在位置的潜在电阻性短路亦可做到这点。这需要综合研究布局和分析测试芯片,发现可能的故障。深度分析的需求是Synopsys在多家代工厂中运行50多个FinFET测试芯片的理由之一。来自这些测试的信息用于改进STAR存储器系统。
图6表明了FinFET工艺可能存在的几种不同的缺陷类型。图中每个晶体管只有一个鳍片,而实际上每个晶体管的鳍片通常不止一个。当然,开路和短路都可能发生,但在FinFET中它们可能产生不同的表现:鳍片开路、栅极开路、鳍片粘连、栅极-鳍片短路等。每种情形都可能是硬开路或短路,也可能是电阻性的,其中高低不等的电阻值产生不同的表现。
图6:潜在FinFET缺陷类型
分析布局后,设计人员必须研究拓扑结构,根据晶体管的物理结构判断故障是否真的会发生。
下一步对设计人员来说要从纯晶体管上升一个层级。一个SRAM单元包含六个晶体管,所以要分析这个单元在内部节点中的开路、可能发生的方式以及会产生什么结果。
下一个层次上的目标是单元布局。比如,图7表示六个晶体管SRAM单元中可能发生的所有可能的开路缺陷。第三,设计人员分析整个存储器阵列的故障,如位线中的开路、字线之间的短路等等。最后,在模块级上,整个存储器,包括周围的模块(如地址解码器)都需要检验,就如同读出放大器那样。
实际分析通过缺陷注入继续进行。这基于GDS (版图)本身。缺陷注入在版图和SPICE模型上进行,使用了针对每个库的缺陷库,然后观察它们会如何表现。缺陷注入在所有14/16nm FinFET提供商的晶体管上进行,不论是IDM还是代工厂。缺陷注入也在较高节点(如45nm和28nm)的平面工艺上进行。
图7:FinFET存储器单元版图中注入的开路缺陷实例
缺陷注入展示了每种缺陷的行为方式。接下来的任务就是通过测试序列识别(TSI)找到检测缺陷的测试序列。对于每种潜在的缺陷,一个或多个测试序列得以识别,同样其检测的条件及对应的故障模型也被确定。通常需要使用大量的测试序列、应力角和模拟设置,直至找出一个能明显区别于零缺陷单元的序列。
有些情况下,这些缺陷会是以前在平面工艺中见过的故障模型,但FinFET存储器有几种额外的失效模式。比如,图8给出了一种微妙的失效模式。下拉晶体管中的电阻性鳍片开路导致动态伪读破坏故障(dDRDF)。在此,一个写操作,接着7个读操作,导致存储器单元的位值翻转。然后可以更加详细地分析此故障,因为它原来与频率有关。在1.2MHz频率上,产生这个故障仅用了4次读操作,而在4MHz上,则用了18次读操作。温度和电压也会影响这些值。
图8:缺陷注入调查结果:dDRDF-7
来自Synopsys关于FinFET工艺故障建模的部分普遍结论是:
FinFET存储器比平面存储器对动态故障更敏感
FinFET存储器对制程变异故障更稳定
静态单单元和耦合故障在两种存储器中均很常见
应力角(电压、温度、频率)对于检测FinFET故障非常重要,仅使用标称角会遗漏一些问题。
生成测试序列
故障建模背景完成后,设计人员要明确测试的电压、温度和频率要求。给定应力角的序列与称为测试算法发生器(TAG)的引擎结合。TAG 将与针对个别故障类型的小测试序列组合在一起,产生使测试时间和测试成本最小化的最小测试算法。
图9展示了针对FinFET的TAG。图中的过程是全自动的,从故障注入到测试序列识别再到TAG本身。不同的算法片段可以分割以应对不同的应力角和不同的故障检测级别。分割形成了一个针对不同条件的测试序列池,这是由于不同用户和应用具有不同的要求。比如,生产测试期间,设计人员必须识别故障,以便他们能够纠错,但是确定每个故障根源的完整分析可能十分耗时。然而,如果某种错误经常发生,设计人员会执行更加复杂而昂贵的测试,以缩小故障范围,从而能采取相应的纠错措施。
图9:FinFETs测试算法综合
这些过程和测试全部在STAR存储器系统中得以实现,考虑了来自大多数FinFET提供商的故障,这些故障在不同提供商之间具有很大的共性,尽管位单元彼此相差很大。
STAR存储器系统还将可编程能力纳入其中。可以通过JTAG端口和TAP控制器更新算法,修改测试序列本身或为调试和诊断而升级算法,或者就是简单的算法升级,甚至是在现场。
使用STAR存储器系统检测并修复故障
Synopsys对FinFET潜在故障和缺陷的深入而彻底的分析内建在了STAR存储器系统之中,使得该系统可以在很多层次上使用,如图10所示。最高层次是了解哪个存储器例化单元出现失效,这对于生产测试和纠错可能就足够了。下一个层次是故障的逻辑地址和物理地址。STAR存储器系统可以确定故障位的物理X、Y坐标。缺陷可以分类(单个位、成对位、整列等),故障可以分类并最终精确定位到故障部位。注意,所有这些都由芯片外面的STAR存储器系统确定,而不是使用电子显微镜或其他更精细/昂贵的方式。
图10:DesignWare STAR存储器系统:多层次精密诊断
开发为SoC用户(或存储器IP设计人员)带来高质量结果的工具和IP是一个漫长而持续的过程。从深入的存储器设计知识开始,早期接触多家代工厂的制程参数、大量的故障注入模拟、硅芯片特征化和精确的行为和结构模型,该过程可能需要三年以上。深入理解FinFET特有缺陷得到了对面积影响更小和测试时间更少的优化测试算法,外加对使缺陷易于显现的应力条件的认识。最后,所有这些知识全部结合在STAR存储器系统中用于创建自动插入、快速测试和使产出最大化。
FinFET为使用预先插入的一组可调度的存储器优化时序提供了更多的可能性。BIST多路复用器可随共享测试总线落实到位。这些测试总线可由定制数据通路创建者和处理器内核进行复用。Synopsys创立了多存储器总线(MMB)处理器来充分利用FinFET提供的可能性。MMB与映射到该总线上的所有缓存共享BIST/BISR逻辑,因此不再需要存储器包装器,减小了面积占用和功率消耗(图11)。
图11:搭建在传统STAR存储器系统处理器上的MMB处理器获得更高FinFET性能及更小面积
图12展示了一个SoC实例,其中部分存储器传统地使用STAR存储器系统,而CPU内核中的存储器则通过MMB处理器访问。MMB处理器不直接处理包装器,而是访问图12中红色方框代表的总线端口。MMB处理器从CPU RTL中读取信息,理解存储器细节和写入总线的配置,引起即时握手。
图12:STAR存储器系统MMB使用模型
维修故障
现代存储器同时具有行和列冗余性(图13)。检测到故障时,可以通过在非易失性存储器中记录问题和使用维修方案配置冗余列。STAR存储器系统通过缩小故障范围和确定置换出故障的方法来自动进行维修。这个过程可以对所有应力角进行优化,故障在一个应力角检出并扩大到下一个应力角,以此类推。
图13:使用行、列修复维持FinFET高良率
由于STAR存储器系统的自动化程度如此之高,诊断和修复可以按预定间隔在现场重复进行,比如系统上电时或按预定的时间长度。这种重复可以通过内建冗余性消除因老化而产生的故障。
负偏压温度不稳定性(NBTI)是FinFET最令人头痛的一个特殊老化问题(平面晶体管没有这样的问题)。NBTI主要与温度有关,会导致取决于 FinFET 工作温度范围的性能逐渐下降。
单粒子效应和纠错
不仅会发生可预测的错误,间歇性的软性错误也会发生。间歇性软性错误不需要用内建冗余性修复。它们一般是高能粒子引起的。随着位单元在较小的制程节点中靠得越来越近,单粒子效应(SEE)可能会影响不止一位,而多位缺陷必须检测并纠正。
为了应对此类错误,STAR存储器系统包含一个ECC编译器。该编译器不仅提供“经典”存储器ECC(一般允许检测多位错误),而且还能处理一位纠错。另一方面,该ECC编译器还能处理多位纠错。STAR存储器系统ECC编译器定义了相关的存储器配置,用ECC存储器取代了存储器(当然,它比需要的数据更宽:一个32位存储器的宽度约为40位)。然后用所有系统测试和修复逻辑包装该存储器。
图14:3D-IC中的外部存储器测试
外部DRAM或memory-on-logic呈现出一组新的挑战。利用硅通孔(TSV)或其他方法,DRAM的物理位置处在芯片上方,如图14所示。不过,外界不可以直接访问存储器,或者至少没有达到测试它们所需要的性能。如果它们使用高速接口的话(如DDR4、JEDEC Wide I/O或Micron的混合存储器立方体),测试工具无法轻易地拦截存储器与逻辑芯片之间的信号。相反,坐落在SoC上能够与芯片之外的DRAM交互的引擎则能以需要的高速度驱动这些接口。就像使用片上存储器一样,使用外部DRAM的SoC必须找出哪个存储器、哪一位或者芯片堆叠中的哪个互联失效及失效原因。STAR存储器系统能够满足这个要求并经常对其进行修复。
STAR层次化系统
所有FinFET SoC都包括存储器之外的其他模块。它们会有其他混合信号IP,如PCIe、USB、DDR、PLL等。所有这些接口都需要自测试,很多情况下,故障需要检测和维修。对快速I/O接口来说,维修意味着调整、校准和组帧。有些接口IP本身就包含存储器,使得测试和维修更加复杂化。这种复杂系统需要象STAR层次化系统(如图15所示)这样的全面测试和维修基础架构。
图15:DesignWare STAR层次化系统
STAR层次化系统是对STAR存储器系统的补充,可以测试、调试和纠正混合信号非存储器IP。作为一种层次化解决方案,STAR层次化系统能从次芯片级直至整个SoC取得IP及其测试向量,创建存取访问和接口,并在下一个级别上建立测试向量。
小结
如今Synopsys全面支持各种制程节点,包括14nm和16nm FinFET,而在10nm和7nm工艺上的工作也正在进行之中。利用从这些制程节点的测试芯片中获得的知识,STAR存储器系统的各项创新将继续提高针对嵌入式存储器的测试和诊断能力,同时增加了优化SoC良率的功能。
Synopsys还提供了STAR层次化系统,通过利用任何现有标准互连(如IEEE 1500)以及TAP控制器全面测试各种其他
混合信号和接口IP。
作者:Yervant Zorian博士,首席架构师兼研究员Synopsys
评论
查看更多