晏 颖,张 睿
(1.上海华力集成电路制造有限公司,上海 201316;2.浙江大学微纳电子学院,杭州 310014)
电编程熔丝(eFuse)技术的核心是熔丝的受控变化[1]。熔丝电阻值是eFuse的基本参数之一。当eFuse出现可靠性问题或对芯片进行失效分析时,熔丝的电阻值的变化情况是重要的参考手段和主要分析依据[2]。目前,熔丝电阻值的常规测量是在晶圆上以晶圆测试或芯片探测(CP)方式自动完成的[3],即通过探针台以扎针方式对以测试单元形式布局的熔丝进行批量测试。测试单元需要设置探针垫(PAD),每个单元中设置的熔丝数目有限(一般只设置1根熔丝)。这种方式很难用于测量eFuse中的熔丝电阻,因为eFuse中的熔丝是以单元阵列的形式布局在内部,没有空间为每根熔丝设置探针垫,熔丝无法通过CP方式自动测量。如果采用手动方式对熔丝两端直接扎针测量,将无法保证每次操作的准确度和一致性,况且eFuse熔丝数目很大,手动测量的效率很低。
本研究的目标是探索1种针对eFuse熔丝电阻值的测量方法,设计了2种采用5端口法的测试单元用以测量eFuse单元的熔丝电阻值和编程控制管的特性参数,并应用于后续通过测试芯片测量熔丝电阻值的设计方案。其难点在于被测熔丝处于eFuse内部的单元阵列中,以及消除器件上的漏电流会给测量值带来误差。为此,本文设计了2种基于测试芯片的测量方法,通过先间接测量熔丝编程通路的电阻值,辅以消除器件的漏电流的影响,再准确推算出熔丝电阻值,特别提出了1种在常规eFuse中增加专门用于熔丝电阻测量电路的设计方案,以进一步提高工作效率和测量数据的准确性。
针对eFuse中熔丝电阻值的测量方法,需要了解eFuse单元和熔丝、熔丝电阻特性之间的关系。eFuse单元是eFuse模块中用来存储信息的基本单位,每个单元存储1个位(bit)信息。在电路结构上,eFuse单元由1根熔丝以及1个或2个编程控制管(MN)或读写控制管构成(称1T1R和2T1R)[4-5],eFuse单元的2种电路结构如图1所示。其中,熔丝是存储逻辑信息的物理介质,熔丝电阻值的大小代表eFuse单元存储的不同的逻辑值,大阻值表示逻辑值“1”,小阻值表示逻辑值“0”。在图1所示的eFuse单元的电路结构中,编程控制管用于控制熔丝的编程电流和读取电流的状态及大小。
本研究涉及的eFuse单元均采用1个熔丝和1个MN的1T1R结构,主要研究对象是熔丝在编程前后的电阻值及其测量方法。熔丝在编程前的电阻值(也称初始电阻值)是指当eFuse处于晶圆流片完成阶段时,其内部存储单元中熔丝的实际电阻值。该参数由半导体的生产工艺制程和熔丝材质的物理特性、熔丝的形状和尺寸等因素决定。在不同的芯片制造厂家和工艺制程下,不同材质的熔丝的初始电阻值存在较大差别,采用多晶硅材质的熔丝电阻值为100~300 Ω,而金属材质的熔丝电阻值则为10~30 Ω[6-7]。具体到某厂家、某工艺的不同批次的eFuse中,熔丝的电阻值之间还存在10%左右的偏差。
图1 eFuse单元的2种电路结构[4-5]
熔丝的编程后电阻值是指eFuse完成编程操作时,其存储单元中的熔丝发生电迁移或熔断现象后的电阻值。熔丝的编程后电阻值存在极大的变化范围,从几十千欧到几百兆欧[8],这是由电迁移或熔断过程中存在的各种不确定性因素综合导致的。按照熔丝电阻值与eFuse存储的逻辑值之间的对应关系,以熔丝的初始电阻值对应逻辑值“0”,如果编程后的电阻值大于5 kΩ,存储信息即从逻辑值“0”变为逻辑值“1”,表明eFuse的编程操作是成功的。在实际应用中,熔丝正常编程后的电阻值一般都在100 kΩ以上[8]。
在半导体工艺研发过程中,基础器件是以测试单元形式进行版图布局和晶圆流片的,器件的参数特性和数据采集是每枚晶圆上的测试单元通过CP测试完成的。对于eFuse的熔丝器件也是如此,熔丝的电阻特性参数是以晶圆CP测试方式,通过探针卡对测试单元中的熔丝扎针进行直接测量采集的。本研究设计了2种采用5端口法的eFuse测试单元,通过这2种测试单元分别测量eFuse单元中熔丝的电阻值以及编程控制管的特性参数。
测试单元一采用5端口法设计,在每个端口设置对应的PAD。测试单元的端口布局和电路的对照如图2所示,以方框表示的PAD分别用1~5标识,它们在电路中的位置分别用节点数1~5标识,被测eFuse单元采用1T1R的电路结构。
图2 测试单元一的电路和端口布局
在测试单元布局中,熔丝布置在PAD2和PAD3之间,PAD3和PAD4之间是NMOS编程控制管,其栅极、漏极和源极分别连接PAD1、PAD3和PAD4,背压端连接PAD5。通过测试单元一测得的特性参数、测试设置和测试方案如下。
(1)熔丝的电阻值Rfuse:测量PAD2和PAD3之间的电阻值,使PAD1、PAD4、PAD5浮空,在PAD2和PAD3之间设置0.1 V的电压差,测量PAD2的电流值,再通过欧姆定律换算得到熔丝电阻值。
(2)单元等效电阻:测量PAD2和PAD4之间的电阻值,在PAD1上设置电压VDD,在PAD4和PAD5上设置地电位,在PAD2上施加0.2 V~VDD的扫描电压,记录PAD2的电流值,获得I-V曲线,再通过欧姆定律推算得到eFuse单元的等效电阻值。
(3)编程控制管的漏电参数Ioff:测量PAD3和PAD4之间的电流值,在PAD1、PAD4、PAD5上设置地电位,在PAD3上施加0.2 V~VDD的扫描电压,记录PAD3的电流值,得到编程控制管的漏电特性I-V曲线。
(4)编程控制管的等效电阻值Ronn:测量PAD3和PAD4之间的电流值,在PAD1上施加工作电压VDD,在PAD4和PAD5上设置地电位,在PAD3上施加从0.2 V开始增加的扫描电压,记录PAD3的电流值,获得I-V曲线,再通过欧姆定律推算出编程控制管的等效电阻值。
测试单元二也采用5端口设计,在每个端口设置对应的PAD,eFuse单元采用1T1R的电路结构。测试单元的端口布局和电路如图3所示,其中,以方框表示的PAD分别用1~5标识,它们在电路中的位置分别用节点数1~5表示。
图3 测试单元二的电路和端口布局
测试单元二在熔丝端串联了1个PMOS电源控制管MP,构成了从节点1到节点4的eFuse编程通路结构。PAD1和PAD2之间是PMOS电源控制管MP,将熔丝布置在PAD2和PAD3之间,PAD3和PAD4之间是NMOS编程控制管MN,编程控制管MN的栅极、漏极和源极分别连接PAD5、PAD3和PAD4,背压端连接PAD4。电源控制管MP的栅极、漏极和源极分别连接PAD5、PAD2和PAD1,背压端连接PAD5。通过测试单元二测得的特性参数、测试设置和测试方案如下。
(1)熔丝的电阻值Rfuse:测量PAD2和PAD3之间的电阻值,使PAD1浮空,在PAD2上设置电压0.1 V,在PAD3和PAD4上设置地电位,在PAD5上设置电压VDD,测量PAD2的电流值,通过欧姆定律换算出熔丝的电阻值。
(2)单元等效电阻:测量PAD2和PAD4之间的电阻值,使PAD1浮空,在PAD5上设置电压VDD,在PAD4上设置地电位,在PAD2上施加0.2 V~VDD的扫描电压,记录PAD2的电流值,通过欧姆定律获得eFuse单元的等效电阻值。
(3)编程控制管的等效电阻Ronn:测量PAD3和PAD4之间的电流,使PAD1浮空,在PAD5上设置VDD,在PAD4上设置地电位,在PAD3上施加0.2 V~VDD的扫描电压,记录PAD3的电流值,通过欧姆定律推算出编程控制管的等效电阻。
(4)电源控制管的等效电阻Ronp:测量PAD1和PAD2之间的电流和PAD2的电压,在PAD5上设置电压VDD,在PAD4上设置地电位,在PAD1处施加0.2 V~VDD的扫描电压,记录PAD1的电流值和PAD2电压值,通过欧姆定律推算出电源控制管的等效电阻值。
(5)编程通路I-V曲线:测量PAD1和PAD4之间的电阻值和PAD2、PAD3的电压值,在PAD5上设置电压VDD,在PAD4上设置地电位,在PAD1上施加0.2 V~VDD的扫描电压,记录PAD1的电流值,获得编程通路I-V曲线。
针对测试单元一和测试单元二中熔丝的熔断操作是不同的,需要在相应的PAD上设置正确的电压、上电顺序和合适的熔断时间,并记录工作过程中的电压和电流参数变化。具体熔丝熔断流程如下。
测试单元一的熔丝熔断流程为在PAD1和PAD2上施加编程电压VDDQ,在PAD4和PAD5上接地电位。上电顺序为PAD5→PAD4→PAD1→PAD2,记录PAD2的电压和电流变化曲线。
测试单元二的熔丝熔断流程为在PAD1和PAD5上施加编程电压VDDQ,在PAD4上接地电位。上电顺序为PAD4→PAD5→PAD1,记录PAD1的电流变化和PAD1、PAD2的电压变化曲线。
测量获得的数据记录曲线提供了分析熔丝熔断过程的基本信息,可以辅助判断熔丝是否发生熔断现象以及发生熔断现象的电压和电流条件。
为了测量测试单元一、二中熔丝熔断后的电阻值,需要在各自的PAD上分别进行相应设置。需要注意的是,测量熔断后电阻值和测量初始电阻值的方法不同,因为在测量初始电阻值时,由于熔丝的电阻值较小,如果测量电流过大,可能导致熔丝发生电迁移甚至被意外编程,测得的电阻值会出现较大偏差,所以在测量熔丝的初始电阻值时要设置较小的测量电压。而熔丝在熔断后的电阻值都较大,测量时可以采用较大的测量电压以提高测量的精确度。
测试单元一设置:使PAD1、PAD4、PAD5浮空,在PAD2和PAD3的之间设置较大的电压差(0.9 V以上),测量PAD2的电流值,通过欧姆定律换算得到熔丝的熔断后电阻值。
测试单元二设置:使PAD1浮空,在PAD5上设置VDD,在PAD3和PAD4上设置地电位,在PAD2上设置较大电压(0.9 V以上),测量PAD2的电流值,通过欧姆定律换算得到熔丝的熔断后电阻值。
第2~3节分别介绍了eFuse单元以及通过测试单元来测量熔丝相关参数的方法。在实际应用中的eFuse不是指eFuse单元,而是指1种具有数据存储功能的模块,不仅具有由eFuse单元构成的存储单元阵列,还包含具有控制、读取和编程、输入输出等功能的电路。eFuse不是以独立芯片而是以功能模块的形式嵌入其他芯片进行工作,因此eFuse并没有配置带抗静电保护功能的I/O端口,其自身不具备独立测试的能力。eFuse的测试需要以测试芯片的方式完成。所谓的测试芯片是指专门为测试某个功能模块而临时搭建的芯片,它把被测功能模块的地址、控制和数据等输入输出信号和电源线连接到具有抗静电功能的芯片端口上,使得功能模块具备测试条件。测试完成后,测试芯片不随eFuse一起嵌入到最终芯片中。1种用于eFuse的测试芯片结构如图4所示。
图4 1种用于eFuse的测试芯片结构
本研究的目的是探索1种测量eFuse中熔丝电阻值的有效方法。尽管测试单元可用来测量eFuse单元中的熔丝电阻值,但eFuse单元只是eFuse的1个基本存储单位,由于eFuse存储单元阵列中的熔丝数目巨大以及布局空间受限,其熔丝的电阻值测量无法采用测试单元的方式,只能通过构建专门测试芯片的方式来测量。但是被测熔丝都位于eFuse内部的单元阵列中,如何建立不受干扰的测量通道是1个挑战。为了解决这个问题,本研究提出了2种通过测试芯片以间接方式测量eFuse熔丝电阻值的方案:差分抵消法和分步抵消法。下面从测量原理分析开始,对2种测量方案的推导过程、流程和具体方法分别进行说明。
作为1种存储功能模块,eFuse具备多种工作模式。它在编程模式下对具体的存储单元执行编程操作。单元编程操作的实质是建立1个特定的电流编程通路,通过大电流熔断位于该通路上的单个熔丝。这种通路机制给人启发,即在特定电压下通过测量编程通路的电流可以获得通路的电阻值,或者说测出某个熔丝所在通路的总电阻值。图5为在不考虑漏电时eFuse单元阵列中的电流流过编程通路的示意图,测量电流Im流过了通路中PMOS电流控制管P1、熔丝和NMOS编程控制管N1到地,因此通路电阻值是熔丝的编程后电阻值和2个MOS管等效电阻值之和。由于2个MOS管都处于开启状态,相对于熔丝的编程后电阻值,管子的等效电阻可以忽略不计,因此编程通路的电阻值和熔丝熔断后的电阻值是很接近的。图中BL为位线,WL为字线。本研究中的电流分析过程都基于m行n列的eFuse单元阵列进行。
图5 eFuse单元阵列中的电流流过编程通路示意图
然而,在实测到的通路电流中除了流过熔丝的电流,还包含漏电电流(通路上所有关断器件的漏电电流总和)。熔丝在编程后的电阻值极大(可达几十兆欧以上),使得流过熔丝的电流值非常小,以至于漏电电流甚至可以达到与熔丝电流相同的级别,这意味着在通路电流的实测值中漏电电流的占比会明显增加。如果直接将电流实测值通过欧姆定律换算成熔丝电阻值,结果会出现很大误差。因此,采用测量通路电流再换算出熔丝电阻的方式必须考虑漏电电流对熔丝电流值的影响,本研究先从编程通路的测量电流Im的电流构成进行分析,eFuse单元阵列中1个编程通路的测量电流的构成如图6所示。
图6 eFuse单元阵列中1个编程通路的测量电流的构成
图6中虚线表示漏电电流。测量电流Im由3部分组成:流过熔丝的电流Ifuse、PMOS管的总漏电流IPleak和BL的总漏电流IBLeak。
图6中编程通路的测量电流Im为:
其中,Ip是已开启PMOS管P1的电流,Ipleak是未开启PMOS管P2~Pn的漏电电流(假设每个管子相同)。
其中,Inleak是单个未开启NMOS管(N2~Nm)的漏电电流(假设每个管子相同),Ileaks是BL的由SA控制的NMOS管NS的漏电电流。由式(1)和式(2)可得式(3),
用IPleak描述所有未开启PMOS管P2~Pn的总漏电电流:
用IBLeak描述BL搭载的未开启NMOS管和SA控制管NS漏电电流之和:
式(3)可用式(6)描述:
可以看出,编程通路的测量电流Im不仅包含熔丝电流Ifuse,还有漏电电流(IBLeak和IPleak)。因此,在测量eFuse的熔丝电阻值时,必须从测量电流中剔除漏电电流,获得准确的熔丝电流后,再结合测量电压,按照欧姆定律推导出熔丝的电阻值。
为了获得准确的熔丝电阻值,本研究基于4.1节所述的测量原理提出了1种差分抵消法。在假设漏电电流不发生明显变化的前提下,这种测量方法利用差分原理,通过抵消每次测量电流中的漏电电流部分,消除了漏电电流对熔丝电流测量值的干扰。具体测量方法是采用和图6相同的设置方式,通过对测量端口(VDDQ)电压VDDQ进行扫描,并同时进行电流值测量,生成对应的电压-电流曲线,曲线斜率(即电压差值和电流差值之比)就是编程通路的电阻值Rtotal,具体推导过程如下。
VDDQ的电压从V1扫描到Vn,测量得到电流I1到In,根据式(6)可得:
根据式(9)和(10)可得:
其中,△Vn是2次测量中的测量电压之差,△In是2次测量中的测量电流之差。
根据式(13)可知,通过多次测量电流值和电压值可以推导出编程电流通路的电阻值Rtotal。从图5所示的编程电流通路中各器件的串联关系可知,该电阻值由3部分组成,即熔丝电阻Rfuse、电源控制管P1的等效电阻Ronp和编程控制管N1的等效电阻Ronn:
由式(13)和(14)推导可得熔丝电阻值Rfuse:
其中,MOS管的等效电阻Ronp和Ronn可由3.1节和3.2节中测试单元一或二直接测出,2者和熔丝编程后的电阻Rfuse相比可以忽略不计,因此熔丝的电阻值Rfuse近似于Rtotal,即:
上述推导过程是建立在当端口电压VDDQ改变时漏电电流变化很小的前提下,但在实际测量中当VDDQ变化较大时,相应的漏电电流也会发生变化。为了获得准确的熔丝电流测量数据,测量过程中VDDQ可以采用较小的变化范围,具体范围可参照MOS管工艺器件的漏电参数进行选择。
基于4.1节所述测量原理,研究还提出了1种前后抵消法用于熔丝的电阻值测量。前后抵消法是1种2步式测量方法,即分别测量熔丝所在的编程通路在编程前后的电流值,再将2者抵消掉共有的漏电成分后,获得编程后熔丝的电流值,最后结合测量电压推算熔丝在熔断后的电阻值Rfuse,具体推导过程如下。
第1步,熔丝处于编程前的状态,eFuse在编程模式下工作。按照图6所示的状态进行测量,端口电压VDDQ为测量电压(小于编程电压),测量端口电流I0可用式(17)表示:
其中,Ip0为熔丝所在BL上的电流值,
I
fuse0是熔丝在初始状态下的电流,可在测试单元二的I-V曲线结果中获得。综合式(17)和(18)可以推出式(19):
第2步,熔丝处于编程后的状态,eFuse在编程模式下工作。按照图6所示的状态进行测量,端口电压VDDQ和第1步相同,参照从式(1)到式(6)的推导过程,可得编程后的测量电流为:
其中,Ifuse是熔丝在编程后状态下的电流。
第3步,综合式(19)和(20)可以推出式(21):
由于熔丝编程后的电阻值很大,端口电压VDDQ几乎都加载在熔丝2端,所以
因此,通过测量编程通路在熔丝编程前后的电流I0和I1,在已知端口电压VDDQ和从测试单元二的I-V曲线中获得Ifuse0的条件下,结合式(23)即可以获得熔丝编程后的电阻值Rfuse。
本研究提出了2种间接测量熔丝的编程后电阻值的方法,为保证获得的熔丝电阻值的精确度,2种方法各有特点。差分抵消法要求知道PMOS和NMOS管的等效电阻值,而前后抵消法要求在熔丝编程前后都进行电流测量,同时还要获得熔丝在初始状态下的电流值。在这2种电阻测量方法中,忽略等效电阻值Ronn和Ronp给熔丝的编程后电阻值带来的偏差影响较小,而忽略熔丝的初始状态电流值Ifuse0产生的影响相对较大。由于熔丝在熔断后的电流值很小(微安以下)而且对测量值的精度要求较高(需要获得电流差信息),本研究提出的测量方法在实际应用时采用CP测试方式测试芯片可能会出现较大偏差(由CP测试精度特点决定)[9],而对测试芯片采用封装后测试方式(FT测试)测得的熔丝熔断后的电阻值更加准确。
4.1~4 .3节所述内容都是针对常规eFuse中熔丝的电阻值测量,即在eFuse内部没有专门用于熔丝电阻值测量的电路设计。本研究在此基础上提出了1种全新的工作方向,即在eFuse中增设专门的测试模式和电路,辅助测量熔丝电阻值。其工作原理是通过对比eFuse在2种工作状态下的电流值,将2者中的漏电电流部分抵消。具体方案是在eFuse编程模式中增设编程-测试状态,增加1路控制信号TSB,将原有电路的读使能信号、字选信号和控制信号TSB进行逻辑与操作后,再控制2路信号最初所对应的NMOS管。该方案的具体测试流程如下。
第1步,eFuse进入编程-测试状态,eFuse单元阵列在编程-测试模式下工作时的电流示意图如图7所示。将TSB设置为低电平,BL1控制管P1开启,BL1上的所有NMOS编程控制管N1~Nm关闭,SA1控制管NS关闭,其他BL的控制管P2~Pn关闭,测量端口VDDQ的电流I1,得到式(24)。
图7 eFuse单元阵列在编程-测试模式下
工作时的电流示意图
第2步,eFuse进入编程状态,eFuse单元阵列在编程模式工作时的电流示意图如图8所示。将TSB设置为高电平,BL1控制管P1开启,其他BL控制管P2~Pn关闭,BL1上的1个NMOS编程控制管N1开启,其他NMOS编程控制管N2~Nm关闭,SA1控制管NS关闭,测量端口VDDQ的电流I2。
图8 eFuse单元阵列在编程模式下工作时的电流示意图
结合式(26)和式(29)可以获得:
其中,Inleak是未开启编程控制管N1的漏电电流。
第3步,推算出熔丝的电阻值,2次测量获得2种状态下的I1和I2,编程控制管N1的漏电值Inleak既可以从工艺器件手册上获得,也可以基于测试单元一直接测出,通过式(31)得到熔丝电流值Ifuse,并结合端口电压VDDQ推算出电阻值Rfuse。
如果忽略编程控制管的漏电电流Inleak,从式(32)可得电阻值Rfuse:
从式(33)可以看出,在eFuse中增加与电阻测量相关的辅助电路,可以使得熔丝的电阻测量更简单。和4.2节中的差分抵消法相比,eFuse只需在相同参数设置下测量2个工作状态的电流值即可,而无需在每次测量时修改电压等参数设置。
熔丝电阻值是eFuse的基本参数,电阻值的大小代表所存储数据的逻辑值。eFuse单元是eFuse中存储数据的基本单位。每个eFuse单元由熔丝和编程控制管组成。熔丝电阻值和编程控制管特性参数的测量是通过对晶圆上的测试单元进行CP测试完成的。本研究旨在探索测量eFuse单元阵列中熔丝电阻值的有效方法,设计了2种5端口的测试单元用以测量熔丝的电阻值及编程控制管的特性参数,并应用于后续通过测试芯片进行熔丝电阻值测量的方案中。为了准确测量eFuse单元阵列中熔丝的电阻值,本研究设计了2种通过测量熔丝编程通路的电阻值并消除漏电电流影响后再推算出熔丝电阻值的间接测量方案,最后提出1种在常规eFuse中增加辅助测量电路的设计方案,提高了熔丝电阻值测量的效率及精度。