专利名称:半导体集成电路及其检查方法
技术领域:
本发明涉及由组装自测试(BIST)进行的存储器的测试、特别是具有冗余单元的存储器的测试、以及能进行存储器周边逻辑的测试的半导体集成电路及其检查方法。
背景技术:
近年来,安装在半导体集成电路(LSI)中的存储器的数目和规模(位宽数·字数)持续增大。与此相对应,用测试器从外部检查安装在LSI中的存储器所必要的外部引脚数和测试时间都会增加。
对此,在LSI内部进行存储器的检查的BIST(Built In SelfTest内置自测试)技术的重要性提高了。通过采用BIST技术,能用少量的外部引脚进行存储器的检查,同时由于所使用的引脚数少,所以能同时检查LSI内部的多个存储器。
另外,预先设置冗余电路(包含补救用单元的补救用字线、补救用位线),往往用补救用字线、补救用位线置换存在由缺陷造成了不良的存储单元的位线或字线,采用补救不良单元的冗余补救方式。因此,能提高存储器的成品率。
图12表示使用了现有的BIST的存储器的补救及存储器周边逻辑的测试电路的一例。
测试图形发生部1201对存储器1204生成测试图形,用比较部202比较存储器1204的输出数据是否与期待值一致,判断输出数据是否与期待值一致,并将该结果输出给FAIL端子。
用比较部1202检测到的不良单元的地址、位位置的信息被保持在补救处理部1203中。所存储的不良单元的信息,用来确定应进行补救的补救字线、位线。
另外,用观测用FF1205取入将向存储器1204的输入分支出来的信号,用控制用FF1206通过选择器1207,控制存储器1204的输出,以此进行BIST电路本身及存储器1204周边的逻辑的扫描测试。
这样,在用现有的BIST进行存储器的补救处理的电路中,为了计算应进行补救的地址,补救处理部中具有存储用BIST进行测试时检测到了Fail的不良地址、不良位的信息的存储元件,为了进行BIST电路本身及存储器周边的扫描测试,备有观测向存储器的输入信号用的触发电路。
如上所述,为了用BIST实现存储器的补救处理,存储存储器的不良地址信息用的存储元件是必要的,另外,为了对BIST电路本身及存储器周边逻辑进行扫描测试,为了观测向存储器的输入信号,需要观测用的FF及控制存储器输出用的控制用的FF。
因此,为了实现用BIST进行的存储器的补救处理和扫描测试,需要补救处理用的存储元件和扫描测试用的FF,存在电路面积增大的问题。
发明内容
本发明就是为了解决以上的问题而进行的,其目的在于提供一种能抑制冗余补救电路面积及扫描测试用电路的面积的增加的半导体集成电路及其检查方法。
本发明的半导体集成电路的特征在于备有沿列方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出包含每个位的良好与否判断信号的表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的列地址信号的全部或一部分分支出来的信号、以及将从上述比较部生成的上述每个位的良好与否判断信号,作为不良地址数据取入,检查上述存储器周边的逻辑时,形成扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;输入上述比较部的输出信号,存储与上述不良单元的存在与否对应的故障的有无状态的第二数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,
上述第二数据存储部呈上述有故障的状态时,上述第一存储部保持上述第一数据存储部中保持的数据。
如果采用上述结构,则在使用了BIST的存储器的冗余补救电路中,准备取入使从BIST输入给存储器的信号分支出来的信号的数据存储部,检查存储器时,通过将数据存储部作为存储不良地址用的存储元件(触发电路)用,检查BIST电路本身及存储器周边部逻辑时,将数据存储部的触发电路作为扫描链的一部分使用,能抑制逻辑部的扫描测试及检查存储器所必要的电路面积的增加。
本发明的另一半导体集成电路的特征在于备有沿列方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出包含每个位的良好与否判断信号的表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的列地址信号的全部或一部分分支出来的信号、以及从上述比较部生成的上述每个位的良好与否判断信号,作为不良地址数据取入,检查上述存储器周边的逻辑时,形成扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,在上述第一存储部中,从上述比较部输出的信号是这样一种信号在上述存储器中存在不良单元的情况下被激活,直至测试结束之前输入保持激活状态的失效信号,上述失效信号被激活时,保持上述第一数据存储部中保持的数据。
在上述结构中,第一数据存储部有能从测试图形发生部有选择地取入被输入给存储器的数据输入信号和每个位的良好与否判断信号的选择器。
在上述结构中,补救可否判断部在作为从比较部生成的每个位的良好与否判断信号,收到了多个位的不良的判断时,断定存储器不能补救。
本发明的另一半导体集成电路的特征在于备有沿行方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的行地址信号的全部或一部分的位分支出来的信号,作为不良地址数据取入,检查上述存储器周边的逻辑时,作为扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;输入上述比较部的输出信号,存储与上述不良单元的存在与否对应的故障的有无状态的第二数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,上述第二数据存储部呈上述有故障的状态时,上述第一存储部保持上述第一数据存储部中保持的数据。
本发明的另一半导体集成电路的特征在于备有沿行方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的行地址信号的全部或一部分的位分支出来的信号作为不良地址数据取入,检查上述存储器周边的逻辑时,作为扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,在上述第一存储部中,从上述比较部输出的信号是这样一种信号在上述存储器中存在不良单元的情况下被激活,直至测试结束之前输入保持激活状态的失效信号,上述失效信号被激活时,保持上述第一数据存储部中保持的数据。
本发明的另一半导体集成电路的特征在于备有具有进行列方向及行方向的补救的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的地址信号分支出来的信号、以及来自上述比较部的输出信号作为不良地址数据取入,检查上述存储器周边的逻辑时,作为扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;输入上述比较部的输出信号,存储与上述不良单元的存在与否对应的故障的有无状态的第二数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,上述第二数据存储部呈上述有故障的状态时,上述第一存储部保持上述第一数据存储部中保持的数据。
在上述结构中,从上述比较部输出的信号是这样一种信号只有在上述存储器中存在不良单元的情况下成为被激活的监视信号,以及在上述存储器中存在不良单元的情况下被激活,直至测试结束之前保持激活状态的失效信号被激活的情况下,在上述补救可否判断部中对上述第一数据存储部的输入与上述第一数据存储部的输出进行比较,判断上述存储器是否能补救。
本发明的半导体集成电路的检查方法是一种有上述结构的半导体集成电路的检查方法,其特征在于第一数据存储部在检查存储器时,用来保持存储器的不良信息,检查存储器周边部的逻辑时,用来观测向存储器的输入信号。
图1是说明本发明的第一实施例的半导体集成电路用的框图。
图2是说明第一实施例用的流程图。
图3是表示第一实施例的存储器中的不良的分布的说明图。
图4是说明第一实施例的变例的半导体集成电路用的框图。
图5是说明第一实施例的变例的半导体集成电路用的框图。
图6是说明第二实施例的半导体集成电路用的框图。
图7是说明第二实施例用的流程图。
图8是表示第二实施例的存储器中的不良的分布的说明图。
图9是说明第二实施例的变例的半导体集成电路用的框图。
图10是第三实施例的半导体集成电路的框图。
图11是说明第三实施例用的流程图。
图12是现有的BIST的补救电路例。
具体实施例方式
(第一实施例)图1是说明本发明的第一实施例的半导体集成电路用的框图。
存储器104是作为测试对象的存储器,沿Column(列)方向具有一组补救用的冗余线,在实施例中其内部包含通过补救处理而被置换的单一的补救用Column线。
101是测试图形发生部,发生行地址信号ROW_ADD、列地址信号COL_ADD、控制信号CTRL、数据输入信号DIN,输入到存储器104中。
102是比较部,对被输入到存储器104中的测试图形的存储器104的输出响应DOUT和正常时所期待的值(期待值)进行比较,检测不能正常存储信号的不良单元。从比较部102生成以下信号一旦检测到不良单元便被激活、直至测试结束维持激活状态的FAIL(失效)信号;只有在检测到了故障时才被激活,未检测到故障时不被激活的MONITOR(监视)信号;以及对存储器104的输出数据DOUT的各个位与期待值进行比较,只是存在故障的位被激活的FailPerBit(位失效)信号。
106是第二数据存储部,输入比较部102的FAIL信号,保持实施测试期间的存储器104内的故障的有无的状态值(表示从测试开始到检测出最初的故障为止的状态的值、以及表示检测出最初的故障后的状态的值)。
在存储器104中,为了沿列方向进行补救,为了指定存在不良的列线,存在不良的单元的列地址及其位位置的信息成为必要。105是第一数据存储部,在检查存储器104时,将从测试图形发生部101输入给存储器104的列地址信号的全部或一部分分支出来的信号、以及将从比较部102生成的每个位的良好与否判断信号,作为不良地址数据取入。即,在进行存储器104的补救处理的情况下,存储存在不良的单元的列地址及其位位置信息,存储最初检测到了故障的不良单元的列地址及其位位置信息,此后将该值保持在第一数据存储部105内。为了保持数据,使用保持在第二数据存储部106中的值。在第二数据存储部106中表示检测到了最初的故障后的状态的值的情况下,继续保持存储在第一数据存储部105中的值。
另外,在进行存储器104的周边逻辑的扫描测试的情况下,第一数据存储部105构成扫描链的一部分,用来观测传播到存储器104中的故障,从而能提高存储器104周边逻辑的故障检测。
103是选择测试图形发生部101中生成的数据输入信号DIN与比较部102中生成的FailPerBit信号的选择器,在存储器104的补救处理时,选择FailPerBit信号,将存在不良的单元的位位置信息输入到第一数据存储部105中,在存储器周边逻辑的扫描测试时,选择向存储器104的数据输入信号DIN或FailPerBit信号中的某一个,用第一数据存储部105观测传播到存储器104中的故障。
107是补救可否判断部,在FAIL信号和MONITOR信号都被激活的情况下,对被输入到第一数据存储部105中的信号与在第一数据存储部105中保持的值进行比较,在它们相同的情况下,断定存储器104能用补救用Column线进行补救,在它们不同的情况下,断定不能补救。另外,在被输入到补救可否判断部107中的FailPerBit中的多个位被激活的情况下,也断定不能补救。
图2是表示图1所示的半导体集成电路中的存储器补救处理工作的流程图。
以下,参照图1、图2及图3,说明存储器补救处理的实现方法。
图3中,R1、R0是存储器104中的2个位的行地址,用(R1、R0)表示行地址。R1是msb,R0是lsb。C1、C0是存储器104的2个位的列地址,用(C1、C0)表示列地址。C1是msb,C0是lsb。
W0是对应于行地址(R1、R0)=(0、0)的字线,W1是对应于行地址(R1、R0)=(0、1)的字线,W2是对应于行地址(R1、R0)=(1、0)的字线,W3是对应于行地址(R1、R0)=(1、1)的字线,
B00是对应于列地址(C1、C0)=(0、0)的第0位的位线,B01是对应于列地址(C1、C0)=(0、1)的第0位的位线,B02是对应于列地址(C1、C0)=(1、0)的第0位的位线,B03是对应于列地址(C1、C0)=(1、1)的第0位的位线,B10是对应于列地址(C1、C0)=(0、0)的第1位的位线,B11是对应于列地址(C1、C0)=(0、1)的第1位的位线,B12是对应于列地址(C1、C0)=(1、0)的第1位的位线,B13是对应于列地址(C1、C0)=(1、1)的第1位的位线,存储单元配置在位线与字线的交点上。
该图中的“×”表示存在不良的存储单元,存在以下3个不良单元用行地址(R1、R0)=00、列地址(C1、C0)=00表示的地址的第0位,用行地址(R1、R0)=01、列地址(C1、C0)=00表示的地址的第0位,用行地址(R1、R0)=01、列地址(C1、C0)=01表示的地址的第1位,表示W1上的2个存储器为不良,B00上的2个存储器为不良。
在步骤ST201中开始测试。说明测试时地址的计数方向先从列地址进行计数的情况。
最初检测的故障是用行地址(R1、R0)=00、列地址(C1、C0)=00表示的地址的第0位,第二次检测的故障是用行地址(R1、R0)=01、列地址(C1、C0)=00表示的地址的第0位,第三次(最后)检测的故障是用行地址(R1、R0)=01、列地址(C1、C0)=01表示的地址的第1位,在步骤ST202中将测试图形从测试图形发生部101输入到存储器104中,在比较部102中对来自存储器104的输出与期待值进行比较。
在步骤ST203中,用行地址(R1、R0)=00、列地址(C1、C0)=00检测故障。由于检测到了故障,所以转移到步骤ST204。在步骤ST204中判断是否有多个位的故障。在该地址中由于只在第0位中存在故障,所以转移到步骤ST205。由于该故障是最初的故障,所以转移到步骤ST206。
这里,保持表示最初在第二数据存储部106中有故障的值,同时在第一数据存储部105中,作为列地址,将(C1、C0)=00的值作为不良地址保持;而作为FailPerBit,将表示只在第0位存在故障的值作为不良地址保持。其次转移到步骤ST207,但由于检测尚未结束,所以返回步骤ST202。
接着,在步骤ST203中检测的故障的地址为行地址(R1、R0)=01、列地址(C1、C0)=00,但由于对应于该地址的故障也还仅仅是第0位,而不是多个位的故障,所以转移到步骤205。如果检测到了多个位的不良时,由于多个不良位必然存在于不同的位线上,所以在由单一的列线进行补救的情况下,就不能补救,所以转移到步骤ST209,确定为次品,处理结束。
该第二次检测的故障由于不是最初的故障,所以转移到步骤ST208。保持在第二数据存储部106中的值成为表示检测到了最初的故障后的状态的值,所以在第一数据存储部105中,不取入第二次检测的故障的列地址及FailPerBit的值,仍然保持最初检测的故障的列地址及FailPerBit的值。
在步骤ST208中,在第二次检测到了故障的时刻,MONITOR信号被激活,而且FAIL信号从最初检测到了故障时就呈激活状态,所以在补救可否判断部107中,判断保持在第一数据存储部105中的最初的故障的不良地址与第二次检测到的故障的不良地址是否一致。这时由于最初检测到的故障和第二次检测到的故障两者地址相同(两者都在B00线上),所以断定不良地址一致,转移到步骤ST207。
在步骤ST207中,由于检查尚未结束,所以转移到步骤ST202。
接着(第三次)检测的故障的地址是行地址(R1、R0)=01、列地址(C1、C0)=01,但由于对应于该地址的故障也还仅仅是第一位、而不是多个位的故障,所以转移到步骤ST205。
该第三次检测的故障也不是最初的故障,所以转移到步骤ST208。保持在第二数据存储部106中的值成为表示检测到了最初的故障后的状态的值,所以在第一数据存储部105中,不取入第三次检测的故障的列地址及FailPerBit的值,仍然保持最初检测到的故障的列地址及FailPerBit的值。
在步骤ST208中,在第三次检测到了故障的时刻,MONITOR信号被激活,而且FAIL信号从最初检测到了故障时就呈激活状态,所以在补救可否判断部107中,判断保持在第一数据存储部105中的最初的故障的不良地址与第三次检测到的故障的不良地址是否一致。这时由于最初检测到的故障在B00线上,第三次检测到的故障在B11线上,所以最初检测到的故障与第三次检测到的故障不是同一地址,在补救可否判断部107中断定为不能补救,转移到步骤ST209,由于不能补救,所以确定为次品,处理结束。
如上所述,如果采用第一实施例,则在使用了BIST的存储器104的冗余补救电路中,准备取入使从BIST输入到存储器104的信号分支了的信号的数据存储部,检查存储器104时,将数据存储部作为存储不良地址用的存储元件(触发电路)使用,检查BIST电路本身及存储器周边部逻辑时,将数据存储部的触发电路作为扫描链的一部分使用,能抑制逻辑部的扫描测试及检查存储器所必要的电路面积的增加。
另外,在本实施例中,虽然说明了为了观测向存储器104的输入信号而使用第一数据存储部105的例子,但如图5所示,还利用选择器501有选择地取入第一数据存储部105的输出和存储器104的输出信号DOUT,在扫描测试时,即使用第一数据存储部105的输出,控制存储器104的输出信号DOUT的值,也能控制存储器的输出,所以更能提高存储器周边的故障检测,能获得与本实施例相同的效果。
另外,在沿列方向有一条存储器补救用的线的情况下,将最初检测到的作为不良单元的不良地址的列地址和各个位的良/不良判断信号取入第一数据存储部105中,根据保持存储器104中是否有不良的数据的第二数据存储部106中保持的值,保持被取入第一数据存储部105中的最初检测到的不良单元的不良地址的值,对第二次以后检测到的不良单元的不良地址与被取入第一数据存储部105中的不良地址进行比较,能进行存储器的补救可否的判断。
另外,在本实施例中,为了保持第一数据存储部105中的值,虽然使用了第二数据存储部106中的值,但如图4所示,即便用FAIL信号的值代替第二数据存储部106时,也能获得与本实施例同样的效果。
另外,在本实施例中,虽然将进行列方向的补救的最小单位作为一条位线进行了说明,但即使在进行列方向的补救的最小单位为多条位线的情况下,通过将作为进行补救的最小单位的多条位线集中起来作为不良地址处理,也能获得与本实施例同样的效果。
(第二实施例)图6是说明本发明的第二实施例的半导体集成电路用的框图。
存储器604是作为测试对象的存储器,沿Row(行)方向具有一组补救用的冗余线,在实施例中其内部包含通过补救处理而被置换的单一的补救用Row线。
601是测试图形发生部,发生行地址信号ROW_ADD、列地址信号COL_ADD、控制信号CTRL、数据输入信号DIN,输入到存储器604中。
602是比较部,对被输入到存储器604中的与测试图形对应的存储器604的输出响应DOUT与正常时期待的值(期待值)进行比较,检测不能正常存储信号的不良单元。从比较部602生成以下信号一旦检测到不良单元便被激活、直至测试结束都维持激活状态的FAIL信号;只有在检测到了故障时才被激活,未检测到故障时则不被激活的MONITOR信号;以及对存储器604的输出数据DOUT的每个位与期待值进行比较,只是存在故障的位被激活的FailPerBit信号。
606是第二数据存储部,输入比较部602的FAIL信号,保持实施测试的期间的存储器604内的故障的有无状态值(表示从测试开始到检测出最初的故障为止的状态的值、以及表示检测出最初的故障后的状态的值)。
存储器604为了沿行方向进行补救,指定存在不良的行线,存在不良的单元的行地址的信息成为必要。605是第一数据存储部,检查存储器604时,将从测试图形发生部601输入给存储器604的行地址信号的全部或一部分分支出来的信号作为不良地址数据取入。即,在进行存储器604的补救处理的情况下,存储存在不良的单元的行地址,存储最初检测到了故障的不良单元的行地址,此后将该值保持在第一数据存储部605内。为了保持存储在第一数据存储部605中的数据,使用保持在第二数据存储部606中的值。在第二数据存储部606中表示检测到了最初的故障后的状态的情况下,继续保持存储在第一数据存储部605中的值。另外,在进行存储器604的周边逻辑的扫描测试的情况下,第一数据存储部605构成扫描链的一部分,用来观测传播到存储器604中的故障,能提高存储器604周边逻辑的故障检测。
607是补救可否判断部,在FAIL信号和MONITOR信号都被激活的情况下,对被输入到第一数据存储部605中的信号与在第一数据存储部605中保持的值进行比较,在它们相同的情况下,断定存储器604能用补救用Row线进行补救,在不同的情况下,断定不能补救。
图7是表示图6所示的半导体集成电路中的存储器补救处理工作的流程图。
以下,参照图6、图7及图8,说明存储器补救处理的实现方法。
图8中,R1、R0是存储器604中的2个位的行地址,用(R1、R0)表示行地址。R1是msb,R0是lsb。C1、C0是存储器604的2个位的列地址,用(C1、C0)表示列地址。C1是msb,C0是lsb。
W0是对应于行地址(R1、R0)=(0、0)的字线,W1是对应于行地址(R1、R0)=(0、1)的字线,W2是对应于行地址(R1、R0)=(1、0)的字线,W3是对应于行地址(R1、R0)=(1、1)的字线,B00是对应于列地址(C1、C0)=(0、0)的第0位的位线,B01是对应于列地址(C1、C0)=(0、1)的第0位的位线,B02是对应于列地址(C1、C0)=(1、0)的第0位的位线,B03是对应于列地址(C1、C0)=(1、1)的第0位的位线,B10是对应于列地址(C1、C0)=(0、0)的第1位的位线,B11是对应于列地址(C1、C0)=(0、1)的第1位的位线,B12是对应于列地址(C1、C0)=(1、0)的第1位的位线,B13是对应于列地址(C1、C0)=(1、1)的第1位的位线,存储单元配置在位线与字线的交点上。
该图中的“×”表示存在不良的存储单元,存在以下3个不良单元用行地址(R1、R0)=00、列地址(C1、C0)=00表示的地址的第0位,用行地址(R1、R0)=00、列地址(C1、C0)=10表示的地址的第1位,用行地址(R1、R0)=01、列地址(C1、C0)=00表示的地址的第0位,
表示W0上的2个存储器为不良,B00上的2个存储器为不良。
在步骤ST701中开始测试。说明测试时地址的计数方向先从列地址进行计数的情况。
最初检测的故障是用行地址(R1、R0)=00、列地址(C1、C0)=00表示的地址的第0位,第二次检测的故障是用行地址(R1、R0)=00、列地址(C1、C0)=10表示的地址的第1位,第三次(最后)检测的故障是用行地址(R1、R0)=01、列地址(C1、C0)=00表示的地址的第0位,在步骤ST702中将测试图形从测试图形发生部601输入到存储器604中,在比较部602中对来自存储器604的输出与期待值进行比较。
在步骤ST703中,用行地址(R1、R0)=00、列地址(C1、C0)=00检测故障。由于检测到了故障,所以转移到步骤ST705。由于该故障是最初的故障,所以转移到步骤ST706。
这里,保持表示最初在第二数据存储部606中有故障的值,同时在第一数据存储部605中,作为行地址,将(R1、R0)=00的值作为不良地址保持。其次转移到步骤ST707,由于检测尚未结束,所以返回到步骤ST702。
接着,在步骤ST703中检测的故障的地址为行地址(R1、R0)=00、列地址(C1、C0)=10,转移到步骤705。该第二次检测的故障由于不是最初的故障,所以转移到步骤ST708。保持在第二数据存储部606中的值成为表示检测到了最初的故障后的状态的值,所以在第一数据存储部605中,不取入第二次检测的故障的行地址的值,仍然保持最初检测的故障的行地址的值。
在步骤ST708中,在第二次检测到了故障的时刻,MONITOR信号被激活,而且FAIL信号从最初检测到了故障时就呈激活状态,所以在补救可否判断部607中,判断保持在第一数据存储部605中的最初的故障的不良地址与第二次检测到的故障的不良地址是否一致。这时由于最初检测到的故障与第二次检测到的故障两者地址相同(两者都在W0行上),所以断定不良地址一致,转移到步骤ST707。
在步骤ST707中,由于检查尚未结束,所以转移到步骤ST702。
接着(第三次)检测的故障的地址是行地址(R1、R0)=01、列地址(C1、C0)=00,转移到步骤ST705。该第三次检测的故障也不是最初的故障,所以转移到步骤ST708。保持在第二数据存储部606中的值成为表示检测到了最初的故障后的状态的值,所以在第一数据存储部605中,不取入第三次检测的故障的行地址的值,仍然保持最初检测到的故障的行地址的值。
在步骤ST708中,在第三次检测到了故障的时刻,MONITOR信号被激活,而且FAIL信号在最初检测到了故障时呈激活状态,所以在补救可否判断部607中,判断保持在第一数据存储部605中的最初的故障的不良地址与第三次检测到的故障的不良地址是否一致。这时由于最初检测到的故障在W0线上,第三次检测到的故障在W1线上,所以最初检测到的故障与第三次检测到的故障不是同一地址,在补救可否判断部607中断定为不能补救,转移到步骤ST709,由于不能补救,所以确定为次品,处理结束。
如上所述,如果采用第二实施例,则在使用了BIST的存储器604的冗余补救电路中,准备取入使从BIST输入到存储器604的信号分支了的信号的数据存储部,在检查存储器604时,将数据存储部作为存储不良地址用的存储元件(触发电路)使用,检查BIST电路本身及存储器周边部逻辑时,将数据存储部的触发电路作为扫描链的一部分使用,从而能抑制逻辑部的扫描测试及检查存储器604所必要的电路面积的增加。
另外,在沿行方向有一条存储器604的补救用的线的情况下,将最初检测到的仅仅作为不良单元的不良地址的行地址取入第一数据存储部605中,根据保持存储器604中是否有不良的数据的第二数据存储部606中保持的值,保持被取入第一数据存储部605中的最初检测到的不良单元的不良地址的值,对第二次以后检测到的不良单元的不良地址与被取入第一数据存储部605中的不良地址进行比较,从而能进行存储器604的补救可否的判断。
另外,在本实施例中,为了保持第一数据存储部605中的值,虽然使用了第二数据存储部606中的值,但如图9所示,即便用FAIL信号的值代替第二数据存储部时,也能获得与本实施例同样的效果。
另外,在本实施例中,虽然将进行行方向的补救的最小单位作为一条位线进行了说明,但即使在进行行方向的补救的最小单位为多条字线的情况下,通过将作为进行补救的最小单位的多条字线集中起来作为不良地址处理,也能获得与本实施例同样的效果。
(第三实施例)图10是说明本发明的第三实施例的半导体集成电路用的框图。
存储器1004是作为测试对象的存储器,沿Column方向及Row方向具有进行补救的冗余线,在实施例中,其内部包含通过补救处理而被置换的补救用的一条Column线及补救用的一条Row线。
1001是测试图形发生部,发生行地址信号ROW_ADD、列地址信号COL_ADD、控制信号CTRL、数据输入信号DIN,输入到存储器1004中。
1002是比较部,对与被输入到存储器1004中的测试图形对应的存储器1004的输出响应DOUT与正常时期待的值(期待值)进行比较,检测不能正常存储信号的不良单元。从比较部1002生成以下信号一旦检测到不良单元便被激活、直至测试结束都维持激活状态的FAIL信号;只有在检测到了故障时才被激活,未检测到故障时则不被激活的MONITOR信号;以及对存储器1004的输出数据DOUT的各个位与期待值进行比较,只是存在故障的位被激活的FailPerBit信号。
存储器1004为了沿列方向及行方向进行补救,指定存在不良的列线及行线,存在不良的单元的列地址及其位位置、以及行地址的信息成为必要。1005是第一数据存储部,在检查存储器1004时,将从测试图形发生部1001输入给存储器1004的列地址信号分支出来的信号、以及来自比较部1002的输出信号作为不良地址数据取入。即,在进行存储器1004的补救处理的情况下,存储存在不良的单元的列地址及其位位置信息、以及行地址。
1006是第二数据存储部,保持表示存储在第一数据存储部1005中的值是否是存储器1004的不良单元的地址的值。根据第二数据存储部1006中保持的值,保持第一数据存储部1005内的值。
另外,在进行存储器1004的周边逻辑的扫描测试的情况下,第一数据存储部1005构成扫描链的一部分,用来观测传播到存储器1004中的故障,从而能提高存储器1004的周边逻辑的故障检测。
1003是选择测试图形发生部1001中生成的数据输入信号DIN和比较部1002中生成的FailPerBit信号的选择器,在存储器1004的补救处理时,选择FailPerBit信号,将存在不良的单元的位位置信息输入到第一数据存储部1005中,在存储器周边逻辑的扫描测试时,选择存储器1004的数据输入信号DIN或FailPerBit信号中的某一个,用第一数据存储部1005观测传播到存储器1004中的故障。
1007是补救可否判断部,在FAIL信号和MONITOR信号都被激活的情况下,对被输入到第一数据存储部1005中的信号与在第一数据存储部1005中保持的值进行比较,判断是否能用存储器1004中保持的补救用线进行补救。
图11是表示图10所示的半导体集成电路中的存储器补救处理工作的流程图。
以下,参照图10、图11及图3,说明作为存储器1004的不良单元的分布例子,用图3实现存储器补救处理。对于图3的说明不再重复。
在步骤ST1101中开始测试。说明测试时地址的计数方向先从列地址进行计数的情况,另外,作为用Row线和Column线的补救判断,优先进行Column线的补救。
最初检测的故障是用行地址(R1、R0)=00、列地址(C1、C0)=00表示的地址的第0位,第二次检测的故障是用行地址(R1、R0)=01、列地址(C1、C0)=00表示的地址的第0位,第三次(最后)检测的故障是用行地址(R1、R0)=01、列地址(C1、C0)=01表示的地址的第1位,在步骤ST1102中将测试图形从测试图形发生部1001输入到存储器1004中,在比较部1002中对来自存储器1004的输出与期待值进行比较。
在步骤ST1103中,用行地址(R1、R0)=00、列地址(C1、C0)=00的第0位检测故障。由于检测到了故障,所以转移到步骤ST1105。在步骤ST1105中,判断检测到的故障的地址是否是至此保持在第一数据存储部1005中的值。由于该故障是最初的故障,所以转移到步骤ST1108。
为了使Column线的补救优先,在第一数据存储部1005中,作为列地址,将(C1、C0)=00的值作为不良地址保持;而作为FailPerBit,将表示只在第0位存在故障的值作为不良地址保持,在第二数据存储部1006中,第一数据存储部1005中所保持的值被作为表示存储器1004有故障的值而保持。接着转移到步骤ST1107,但由于检查尚未结束,所以返回步骤ST1102。
接着在步骤ST1103中,作为第二次的故障,检测行地址(R1、R0)=01、列地址(C1、C0)=00的第0位的故障,转移到步骤1105。为了使Column线的补救优先,判断第二次的故障是否是与第一次的故障相同的列地址及相同的位。在此情况下,第一次的故障与第二次的故障是同一个列地址(C1、C0)=00,而且是同一个第0位,在第一数据存储部1005中,不取入第二次检测的故障的列地址及FailPerBit的值,仍然是最初检测到的不良地址。
接着,转移到步骤ST1107。由于检查尚未结束,所以返回步骤ST1102。
接着(第三次)检测的故障的地址是行地址(R1、R0)=01、列地址(C1、C0)=01的第1位。由于列地址及位位置与第一数据存储部1005中保持的值不同,断定为新的故障。由于Column方向的补救线已经使用,所以用Row方向的补救线,在第一数据存储部1005中,作为行地址,将(R1、R0)=01的值作为不良地址保持,在第二数据存储部1006中,第一数据存储部1005中所保持的值被作为表示存储器1004有故障的值而保持。
由于是用一条Row方向的补救线和一条Column方向的补救线就能补救的状态,所以在步骤ST1108中,断定能补救,转移到步骤ST1107中,但由于检查尚未结束,所以返回步骤ST1102。
此后,由于不存在故障,所以在对全部地址进行了测试时,在步骤ST1107中断定检查结束。在此情况下,由于用一条Row方向的补救线和一条Column方向的补救线就能进行存储器的补救,所以作为能补救,在步骤ST1110中结束处理。
如上所述,如果采用第三实施例,则在使用了BIST的存储器的冗余补救电路中,准备取入使从BIST输入到存储器的信号分支了的信号的数据存储部,在检查存储器时,通过将数据存储部作为存储不良地址用的存储元件(触发电路)使用,检查BIST电路本身及存储器周边部逻辑时,将数据存储部的触发电路作为扫描链的一部分使用,能抑制逻辑部的扫描测试及检查存储器所必要的电路面积的增加。
另外,在本实施例中,虽然说明了Row方向的一条补救线和Column方向的一条补救线,但即使在有多条补救线的情况下,通过将第一数据存储部中存储的值、以及判断该值是否是不良单元用的值保持在第二数据存储部中,也能判断第一数据存储部中存储的值是否是不良单元的地址,能获得与本实施例同样的效果。
权利要求
1.一种半导体集成电路,其特征在于备有沿列方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出包含每个位的良好与否判断信号的表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的列地址信号的全部或一部分分支出来的信号、以及将从上述比较部生成的上述每个位的良好与否判断信号,作为不良地址数据取入,检查上述存储器周边逻辑时,形成扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;输入上述比较部的输出信号,存储与上述不良单元的存在与否对应的故障的有无状态的第二数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,上述第二数据存储部呈上述有故障的状态时,上述第一存储部保持上述第一数据存储部中保持的数据。
2.根据权利要求1所述的半导体集成电路,其特征在于上述第一数据存储部有能从上述测试图形发生部有选择地取入被输入给上述存储器的数据输入信号和每个上述位的良好与否判断信号的选择器。
3.根据权利要求1所述的半导体集成电路,其特征在于上述补救可否判断部在作为从上述比较部生成的每个位的良好与否判断信号,收到了多个位的不良的判断时,断定上述存储器不能补救。
4.一种半导体集成电路,其特征在于备有沿列方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出包含每个位的良好与否判断信号的表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的列地址信号的全部或一部分分支出来的信号、以及将从上述比较部生成的上述每个位的良好与否判断信号,作为不良地址数据取入,检查上述存储器周边的逻辑时,形成扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,在上述第一存储部中,从上述比较部输出的信号是这样一种信号在上述存储器中存在不良单元的情况下被激活,直至测试结束之前输入保持激活状态的失效信号,上述失效信号被激活时,保持上述第一数据存储部中保持的数据。
5.根据权利要求4所述的半导体集成电路,其特征在于上述第一数据存储部有能从上述测试图形发生部有选择地取入被输入给上述存储器的数据输入信号和每个上述位的良好与否判断信号的选择器。
6.根据权利要求4所述的半导体集成电路,其特征在于上述补救可否判断部在作为从上述比较部生成的每个位的良好与否判断信号,收到了多个位的不良的判断时,断定上述存储器不能补救。
7.一种半导体集成电路,其特征在于备有沿行方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的行地址信号的全部或一部分的位分支出来的信号,作为不良地址数据取入,检查上述存储器周边的逻辑时,作为扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;输入上述比较部的输出信号,存储与上述不良单元的存在与否对应的故障的有无状态的第二数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,上述第二数据存储部呈上述有故障的状态时,上述第一存储部保持上述第一数据存储部中保持的数据。
8.一种半导体集成电路,其特征在于备有沿行方向具有一组补救用的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的行地址信号的全部或一部分的位分支出来的信号作为不良地址数据取入,检查上述存储器周边的逻辑时,作为扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,在上述第一存储部中,从上述比较部输出的信号是这样一种信号在上述存储器中存在不良单元的情况下被激活,直至测试结束之前输入保持激活状态的失效信号,上述失效信号被激活时,保持上述第一数据存储部中保持的数据。
9.一种半导体集成电路,其特征在于备有具有进行列方向及行方向的补救的冗余线的存储器;发生对上述存储器特定的测试图形的测试图形发生部;读出来自上述存储器的输出,判断上述存储器中是否存在不良单元,输出表示上述不良单元的存在与否的信号的比较部;检查上述存储器时,将从上述测试图形发生部输入给上述存储器的地址信号分支出来的信号、以及来自上述比较部的输出信号作为不良地址数据取入,检查上述存储器周边的逻辑时,作为扫描链的一部分,观测向上述存储器的输入信号用的第一数据存储部;输入上述比较部的输出信号,存储与上述不良单元的存在与否对应的故障的有无状态的第二数据存储部;以及将向上述第一数据存储部的输入和上述第一数据存储部的保持内容的输出作为输入,判断上述存储器能补救的补救可否判断部,上述第二数据存储部呈上述有上述故障的状态时,上述第一存储部保持上述第一数据存储部中保持的数据。
10.根据权利要求1至权利要求9中的任意一项所述的半导体集成电路,其特征在于从上述比较部输出的信号是这样一种信号只有在上述存储器中存在不良单元的情况下成为被激活的监视信号,以及在上述存储器中存在不良单元的情况下被激活,直至测试结束之前保持激活状态的失效信号被激活的情况下,在上述补救可否判断部中对上述第一数据存储部的输入与上述第一数据存储部的输出进行比较,判断上述存储器是否能补救。
11.一种半导体集成电路的检查方法,它是权利要求1至权利要求9中的任意一项所述的半导体集成电路的检查方法,其特征在于上述第一数据存储部在检查存储器时,用来保持存储器的不良信息,检查存储器周边部的逻辑时,用来观测向存储器的输入信号。
全文摘要
本发明的课题是,提供一种实现使用了BIST的存储器的冗余补救,能抑制冗余补救电路面积及扫描测试用电路的面积的增加的半导体集成电路及检查方法。备有沿列方向具有一组补救用的冗余线的存储器104;测试图形发生部101;判断存储器104中是否存在不良单元的比较部102;检查存储器104时,取入从测试图形发生部101输入给存储器104的信号、以及来自比较部102的每个位的良好与否判断信号,检查存储器周边的逻辑时,用来观测向存储器104的输入信号的第一数据存储部105;表示故障的有无的状态的第二数据存储部106;以及补救可否判断部107,由第二数据存储部106保持第一数据存储部105的数据。
文档编号G11C29/44GK1536581SQ20041003345
公开日2004年10月13日 申请日期2004年4月9日 优先权日2003年4月10日
发明者市川修 申请人:松下电器产业株式会社