关键区域分析与存储器冗余
要点
本文引用地址:http://www.amcfsurvey.com/article/186288.htm1.一个随机微粒缺陷的概率是布局特征间距的函数。因为存储器有相对致密的结构,它们天生就对随机缺陷更加敏感,于是就可能影响到器件的总良品率。
2.一款关键区域分析工具要能精确地分析出存储器冗余,就必须了解每个存储块中可用的修复资源,各个层与缺陷类型的故障模式的分解,以及这些模式与哪些修复资源相关联。
3.如果不使用冗余,就可能需要其它替代方法来提高良品率。这些方法包括让设计更小,或减少缺陷率。如果将冗余用于一个不会产生效益的设计中,那就是浪费片芯面积和测试时间,增加制造成本。
无论采用何种工艺的设计团队(无晶圆、轻晶圆或IDM(集成器件制造商)),都应解决降低设计对于制造问题敏感度的目标。一个设计向下游走得越远,就越不太可能解决某个制造问题,除非做昂贵的重新设计。在设计仍进行中就提示解决DFM(可制造性设计)问题,可以避免出现制造逐渐爬升的麻烦。
DFM的一个方面是确定某个物理设计(或布局)对于随机微粒缺陷的敏感程度。一个随机微粒缺陷的概率是布局特征间距的函数,因此,较紧密的间距会增加随机缺陷。由于存储器都有相对致密的结构,它们天生就对随机缺陷更为敏感,所以,SoC设计中的嵌入存储器可能影响到器件的总良品率。
了解如何在每个连续结点上采用关键区域分析正变得越来越重要。存储器正在越来越大,更小的尺寸会带来新的缺陷种类。某个折中可能在前代结点上工作良好,而在28nm结点时却得不到最佳结果。例如,虽然制造商都避免采用行冗余(rowredundancy),因为他们认为这样会太费存取时间,但在28nm时,要获得可接受的良品率就必须采用这一技术。所有这些因素都使得作为设计工具的精细分析更有价值。
关键区域分析
关键区域是某种确定尺寸的微粒会造成某个功能故障的一个布局区,只取决于要仿真的布局以及微粒的尺寸范围。关键区域分析会根据布局特征的尺寸与间距、微粒尺寸以及晶圆厂测得的密度分布,计算出预期的平均故障数和良品率。除了传统的短路和开路计算以外,现在在关键区域分析上做的工作还包括过孔与接触故障。这些分析通常表明,过孔与接触故障是主要的故障机制。分析中也可以包括其它的故障机制,具体取决于晶圆厂提供的缺陷数据。
关键区域会随着缺陷或微粒的尺寸增长而增加。对于缺陷尺寸足够大的极限情况,整个芯片区都是关键区域。但实际上,大多数晶圆厂都会根据测试芯片或计量设备可以检测并测量的缺陷尺寸范围,限制可仿真的缺陷尺寸范围。
缺陷密度
半导体晶圆厂有多种方法来搜集缺陷密度数据。对于关键区域分析的使用,晶圆厂必须将缺陷密度数据转换为一种与分析工具兼容的格式。最常见的格式是下面的简单功率方程:D(X)=K/XQ,其中,K是从密度数据获得的一个常数,X是缺陷尺寸,而Q是下降幂。晶圆厂将每个层的开路与短路缺陷数据与这个支持关键区域分析的方程格式做曲线拟合。原则上,每个层都必须有一个缺陷密度和缺陷类型,它们将被用于关键区域分析。但实际上,对于采用相同的工艺步骤、层厚度,以及设计规则的各个层,通常会使用相同的缺陷密度值。
制造商也可能以表格形式提供缺陷密度数据,其中列出了每个缺陷的尺寸与密度值。一个简化的假设是,如缺陷尺寸超过了晶圆厂所拥有的数据范围,则缺陷密度为零。
计算ANF,良品率为了确定某个设计的平均故障数,制造商会使用一种支持关键区域分析的工具,如Mentor Graphics公司的Calibre,并在整个缺陷尺寸区间上针对各个层,用该工具提取出关键区。为此,制造商要测量布局,并确定某个给定尺寸微粒可能造成故障的所有区域。然后,工具要采用数学积分方法,用缺陷的尺寸与密度数据,计算出预期的故障平均数,公式为:
其中,ANF 是平均故障数;DMIN和DMAX分别是该层现有缺陷数据中的最小和最大缺陷尺寸; 而CA(X)和D(X)则分别是关键区域和缺陷密度数据。
一旦制造商计算出了平均故障数,通常会使用一个或多个良品率模型,对某个设计因缺陷受限的良品率做出一个预测。因缺陷受限的良品率不能考虑那些参数的良品问题,因此在尝试将此数值与实际片芯良品率做关联时,要特别小心。一种最简单而常用的良品率模型就是泊松(Poisson)模型:Y=E-ANF,其中,Y是良品率,E是一个常数,ANF是平均故障数。切割层(如触点和过孔)平均故障数与良品率的计算一般比其它层要简单。
大多数代工厂都会为设计中的所有单一过孔定义一个概率故障率,并假设过孔阵列不会失效。这种简化假设忽略了一个事实,即一个足够大的微粒可能造成多个故障, 不过,这样能大大简化对平均故障数的计算工作,并减少了晶圆厂必须提供的数据量。设计者只需要某层上一个全部单个切割的总和,就可以通过计数与故障率的乘积,计算出平均故障数。
存储器冗余
由于随机性缺陷问题,SoC中的嵌入存储器可能有相当大的良品率损失。当然SoC可以采用其它类型的存储器,但假定设计采用的是嵌入SRAM。通常情况下,SRAMIP(知识产权)提供商都会将冗余作为供设计者选择的一个选项。最常见的冗余形式是使用冗余的行和列。冗余列的采用通常比较简单,因为它们只要解决多个位线和I/O端口的复用问题,而不涉及地址解码。
在用关键区域分析研究故障情况时,重要的是定义出与存储器故障模式相关的层和缺陷类型。通过查看一个典型的六晶体管或八晶体管SRAM位单元的布局,可以做出一些简单的联想。例如,查看与位单元连接的字线和位线,就可以找到列线上的扩散和触点与列故障之间的关系。由于扩散的触点与电极的触点均连接到Metal 1,因此行层与列层必须分享Metal 1层。存储器设计中的大多数层都用于多个位置,因此,并非这些层上的所有缺陷都会造成与修复资源相关的故障。还有一些不可修复或致命的缺陷,如电源和地之间的短路。
修复资源
嵌入SRAM设计一般使用内置的自修复,或者采用熔丝结构,它能够复制出失效的结构,并用冗余结构替代失效的部分。无论采用何种修复方法,在设计中采用冗余结构都会增加面积,从而直接增加了设计的制造成本。额外的测试时间也增加了成本,并且设计者也许不擅于做这种成本的计算。用关键区域分析方法做存储器冗余分析的目的是:最大限度地提高因缺陷而受限的良品率,并尽可能减少对片芯面积与测试时间的影响。
只有了解了每个存储块中可用的修复资源、各层和缺陷类型的故障模式的分解,以及与这些故障模式相关的修复资源,关键区域分析工具才可以精确地分析存储器冗余。Calibre可以将这些变量设定为一系列关键区域分析规则。每个存储块还需要对总行列数与冗余行列数的一个计数值。在确定可被修复的存储区时,可以设定每个存储块所使用的位单元名称,也可以使用布局数据库中的标记层,从而让工具识别出存储器的核心区。
列表1提供了sramConfig存储器冗余规范。前两行列出了关键区域分析规则(即:可能出现的缺陷类型),它拥有一系列存储块的冗余资源。前两行还包括了列规则与行规则。这些规则取决于存储块的类型与结构,但与行、列和冗余资源的数量无关。最后两行描述了SRAM块的设计,依次是:块名称、规则配置名称、总列数、冗余列、总行数、冗余行、空列(dummy column)、空行(dummyrow),以及位单元的名称。在本例中,两种块规范都针对相同的规则配置,即sramConfig。有了这些参数,Calibre就可以用晶圆厂提供的缺陷密度数据,计算出无修复的良品率。
带冗余的良品率
一旦关键区域分析工具完成了初始的分析,提供了无冗余的平均故障数,就可以计算出有冗余的良品率。Calibre用一种采用BernoulliTrials(伯努利试验)原理的计算方法,见下式:
其中,NF是可用的非冗余存储单元数;NR是冗余存储单元数;P是成功的概率,或良品率,取自平均故障数;Q是故障的概率(1-P);而C(NF,(NF-K))是二项式系数,为一个标准数学函数。如果关键区域分析工具可以用不同的存储器冗余规范对计算做后处理,就可以给出数值输出和图形输出结果,从而便于以视觉方式确定出最佳冗余量。目标是确保在总单元数中存在着所需数量的好单元。
为了看到存储器冗余的效果,我们考虑一个假设性的实例。这个存储器是一只4Mb的32Kb×128bSRAM。我们的目标是要在总共130个单元中,至少获得128个好单元。在此例中,有两个单元需要修复,且不存在缺陷单元。通过分析确定,考虑一种缺陷类型的单元良品率为0.999。于是,整个核心的无修复良品率为0.999的128次方,即0.8798。如果对所有缺陷类型做分析,则预期良品率大约为0.35。
如果增加了冗余,以修复任何的单元缺陷,则有修复的总良品率为0.999。存储器设计者采用修复率指标来简述存储器冗余的效力。该指标规定,以修复良品率减去未修复良品率,再除以1减未修复良品率,结果即为修复率。高于90的值表示良好。在本例中,修复率为(0.99-0.35)/(1-0.35),等于0.985。
使用Calibre确定最佳冗余配置时,首先必须为工具设置一个配置文件( 列表2 ) 。位单元名称ram6t用于将分层布局单元的名称告知工具,该名称描述了一个可被修复的存储器单元,且应在此次分析中加以考虑。该名称使工具能够计算出整个存储器核心的关键区域,包括全部ram6的实例。
通过这个配置信息,Calibre计算出无冗余存储器的平均故障数,以及各种冗余配置。图1以表格的形式给出了结果,包括不同冗余配置的平均故障数。表中各行分别显示了整个设计(仅存储器),以及特定类型缺陷的结果。高亮的行表明1024×32位存储核心的平均故障率有显著改善;第6列的故障率是第5列的一半。为获得这种改进,第6列包含了一个冗余行,但增加第二个冗余行则几乎没有更多的改进(第7列)。
图1,用Calibre做的关键区域分析,显示出在不同配置情况下,存储器冗余对平均故障数的作用
图2列出了冗余方法对修复率的作用,分别按全部设计、所有分析层、存储器、块以及按层或群组。图3是一个工具创建的绘图,给出了各个冗余配置和各种类型缺陷的平均故障数。一个冗余行和一个冗余列相结合,就可大大减少平均故障数,而增加资源则没有什么更多的作用。从这些结果可以作出判断:预期的平均故障数取决于所考虑的存储器布局,以及晶圆厂与工艺的缺陷密度。现在,设计者就可以根据某个嵌入存储器的预期良品率,确定出各种冗余配置的效果。
图2,关键区域分析显示了针对很多参数的存储器修复率
图3,存储器图表示了各种存储器冗余配置的平均故障数。一个冗余行和一个冗余列相结合,就大大减少了平均故障数
存储器冗余旨在通过提高片芯良品率,从而降低制造成本。如果不采用冗余方法,提高片芯良品率的其它方式可能包括使设计更小型化,或减少缺陷率。如果在设计中无效益的部分使用冗余,那是浪费片芯面积和测试时间,增加了制造成本。在这两个极端之间,要根据充分的指导方针来确定是否增加冗余。有高缺陷率的设计可能需要较多的冗余;而低缺陷率的设计则可能不需要冗余。要量化良品率的改善以及确定最佳配置,有必要采用关键区域分析与精确的代工厂缺陷统计数据,对存储器冗余做分析。
评论