半导体装置、半导体装置的唯一id及该唯一id的验证方法

文档序号:7232086阅读:281来源:国知局
专利名称:半导体装置、半导体装置的唯一id及该唯一id的验证方法
技术领域
本发明涉及半导体装置、半导体装置的唯一ID及该唯一(unique)ID的验证(verify)方法,特别涉及用来在具有熔丝(fuse)切断型的数据记录单元的SOC(系统芯片)中缩短制造时间的技术及安装有熔丝的唯一ID。
背景技术
过去,为了实现SOC(系统芯片)中的安全(secure)功能,采用对每一个SOC安装固有分配的唯一识别号、即唯一ID的方法(例如专利文献1)。
虽然该唯一ID可以记录在构成使用上述SOC的系统的闪速ROM(只读存储器)或HDD(硬盘驱动器)中,但是,要在安装于用通常的CMOS(互补金属氧化物半导体)工艺制造的SOC上的存储器中进行记录很困难。因此,在一般的SOC的制造方法中,采用下述方法在装配工序之前的晶片测试工序中,利用激光修整(laser trimming)(以下也简称作LT)等来切断熔丝,由此制作出唯一ID。
为了实现安全功能,该唯一ID需要具有唯一性,所以,一般将制造对象SOC的批次的制造批号(lot number)、用于切出对象SOC的晶片的晶片号、对象SOC在晶片上的位置(芯片位置)和制造年月日等芯片信息作为唯一ID使用。
而且,将该芯片信息作为n(自然数)个位值,使其与位A0~An-1对应,在具有n个熔丝的熔丝盒(fuse box)中,与位A0~An-1对应地将各熔丝切断(例如,若是“1”则切断,若是“0”则不切断)。
专利文献1公开了使用通过激光修整等安装了熔丝的ID信息来进行数据的加密或解密的技术。
专利文献1特开2003-101527号公报如上所述,由于唯一ID是将芯片信息作为位值并与熔丝对应的,所以,在1块晶片中,当形成的芯片数增加时,熔丝数也增加。因此,越是微细化或大口径化,进行LT的时间越长。例如,当在1块晶片上可以形成4000个芯片时,假如1个芯片设置128个熔丝(128位)并将其一半的64个切断,则必须对该1块晶片进行64×4000=256000次LT。因此,存在SOC等半导体装置的制造时间变长的问题。
此外,为了实现安全功能,唯一ID一般使用对象SOC的芯片信息,但是,这些芯片信息具有规律性而缺乏随机性,所以,当熔丝出现偶然故障或耗损故障时,就会存在多个偶然相同的唯一ID。
即,由于在批号相同的1个晶片中表示芯片位置的芯片号串行设定,所以,若晶片号发生错误,则至少会产生2组具有相同唯一ID的芯片。
此外,对于只是晶片号不同而批号相同且在晶片上的位置也相同的芯片,因晶片号串行设定,所以,若晶片号发生错误,则至少会产生2组具有相同唯一ID的芯片。
此外,对于批号不同但同一晶片的同一位置的芯片,因批号串行设定,所以,若批号发生错误,则至少会产生2组具有相同唯一ID的芯片。
此外,若只用芯片信息构成唯一ID,则当例如对1个芯片进行唯一ID解读时,就能够容易地根据该信息推测出其他芯片的唯一ID,即使是为了实现安全功能而使用唯一ID,也起不到安全的作用。
此外,因也可以根据芯片信息推测出成品率信息等,故存在SOC制造商不想让终端用户知道的信息也会被人知道的问题。
但是,当取代用芯片信息构成唯一ID而使用芯片信息之外的数据构成唯一ID时,会存在以下问题。
即,例如,当使用随机数据对每一个SOC构成唯一ID时,在验证该唯一ID时,作为用来比较的期望值数据,需要在测试器中准备和唯一ID相同的数据,测试器必须准备SOC的个数部分的期望值数据,存在该准备很费事的问题。
此外,由于一般在LSI的测试中,期望值使用同一应用模式进行测试,所以,若期望值的种类增加,则必须准备相应数量的测试模式,存在该准备很费事的问题。
再有,虽然也可以在1种测试模式的基础上按每个LSI增加,但是,因初始值的设定复杂和再测试时很费事等原因,故不实用。

发明内容
本发明是为了解决上述问题而提出的,其第1目的是提供一种能缩短制造时间的半导体装置,第2目的是提供一种随机性高同时唯一性好且容易验证的半导体装置的唯一ID。
本发明的半导体装置为了对由规定数个位构成的数据进行记录,在包含规定数个熔丝的熔丝组(fuse group)中,使各熔丝与各个位相对应进行切断,其中,熔丝组还包含表示记录中的数据的反转的反转熔丝,当熔丝组中应切断的第1熔丝的个数比规定数的一半多时,第1熔丝不切断而切断反转熔丝,并且熔丝组中除了第1熔丝和反转熔丝的第2熔丝也切断。
本发明的半导体装置的唯一ID是固有地设定于半导体装置上的半导体装置的唯一ID,上述半导体装置的唯一ID包括包含上述半导体装置制造时的信息的固有芯片信息、以及对上述芯片信息实施循环冗余校验运算(cyclic redundancy checking operation)后得到的校验位(inspection bit)。
本发明的半导体装置的唯一ID的验证方法的第1方案包括将上述半导体装置的唯一ID读出到连接于半导体装置上的测试器中的步骤(a);在上述测试器中对上述半导体装置的唯一ID的上述芯片信息实施上述循环冗余校验运算的步骤(b);以及将由上述循环冗余校验运算得到的余值(remainder value)和上述半导体装置的唯一ID的校验位进行比较并判断上述半导体装置的唯一ID是否良好的步骤(c)。
本发明的半导体装置的唯一ID的验证方法的第2方案是在半导体装置内部具备运算处理部,所述方法具备从连接于上述半导体装置上的测试器对上述运算处理部给予指示以对上述半导体装置的唯一ID的上述芯片信息实施上述循环冗余校验运算的步骤(a);将由上述循环冗余校验运算得到的余值和上述半导体装置的唯一ID的校验位进行比较的步骤(b);以及将上述比较结果的信息读出到上述测试器中并判断上述半导体装置的唯一ID是否良好的步骤(c)。
若按照本发明的半导体装置,可以减少数据记录的激光修整次数。因此,能够缩短制造时间。
若按照本发明的半导体装置的唯一ID,因其包括包含半导体装置制造时的信息的固有芯片信息和对芯片信息进行循环冗余校验运算得到的校验位而构成,所以,与只由芯片信息构成唯一ID的情况相比,可以提高唯一性,并且可以提高随机性。此外,与只由芯片信息构成唯一ID的情况相比,提高了解读信息的难度,可以防止半导体装置制造商不想让终端用户知道的信息被人知道。
若按照本发明的半导体装置的唯一ID的验证方法的第1方案,只要在测试器中验证循环冗余校验运算的校验位,就可以进行整个唯一ID的验证,因此很容易验证各芯片中的唯一ID有没有故障发生。
若按照本发明的半导体装置的唯一ID的验证方法的第2方案,只要在半导体装置内部的运算处理部中验证循环冗余校验运算的校验位,就可以进行整个唯一ID的验证,因此很容易验证各芯片中的唯一ID有没有故障发生。此外,因对测试器只给出比较结果的信息,故具有只需要少量的测试用引脚即可的优点。


图1是表示实施方式1的SOC的结构的框图。
图2是表示实施方式1的熔丝盒的结构的框图。
图3是表示实施方式1的熔丝盒的输入端子和输出端子的信号的图。
图4是在实施方式1的熔丝盒记录的位串(bit string)中表示反转位(invert bit)的有效性的示意图。
图5是表示实施方式1的半导体装置的制造方法的一工序(唯一ID记录工序)的流程图。
图6是表示实施方式1的半导体装置中的与反转位的有无对应的位变化率的差的图。
图7是表示实施方式1的冗余电路的结构的框图。
图8是表示实施方式2的半导体装置的制造方法的一工序(唯一ID记录工序)的流程图。
图9是表示实施方式3的半导体装置的制造方法的一工序(唯一ID记录工序)的流程图。
图10是说明实施方式4的半导体装置的唯一ID的结构的概念图。
图11是说明对熔丝盒安装唯一ID的工序的图。
图12是说明实施方式4的半导体装置的唯一ID的变形例的结构的概念图。
图13是说明实施方式4的半导体装置的唯一ID的变形例的结构的概念图。
图14是在实施方式5的半导体装置的唯一ID中表示晶片上的芯片位置的信息的设定例子的图。
图15是说明在实施方式6的半导体装置的唯一ID的验证方法中用来进行唯一ID的验证的结构的框图。
图16是说明实施方式6的唯一ID的验证方法的流程图。
图17是说明实施方式6的唯一ID的验证方法的变形例的流程图。
具体实施例方式
本发明的半导体装置的特征是在表示唯一ID等数据的位串中,通过设置反转位并示出其它位的反转/非反转,从而减少整体位数。由此,可以降低为了切断熔丝而进行激光修整(LT)的次数(LT次数)。下面,使用附图详细说明各实施方式。
<实施方式1>
图1是表示实施方式1的SOC(系统芯片)1000的结构的框图。
如图1所示,SOC1000具备熔丝盒100、MPU(微处理单元)200(运算处理部)和I/F(接口)部30。熔丝盒100具有多个记录唯一ID的熔丝(图1中未示出),各熔丝与唯一ID的各位对应。MPU200具有寄存器21和存储器22。
在图1中,将记录在熔丝盒100中的唯一ID读出至MPU200的寄存器21,并经I/F300转送至外部装置200。或者,可以是读出至寄存器21的唯一ID从寄存器21储存至存储器22并经过加工之后,再次读出至寄存器21,并经I/F300转送至外部装置200。
图2(a)是表示用来将唯一ID安装在SOC上的熔丝盒100的示意图,在熔丝盒100内配设有n+1个(n自然数)熔丝10,使其分别与A0~An位对应。
通过与所设定的唯一ID相匹配地利用激光修整等切断熔丝10,来安装唯一ID。
图2(b)示出熔丝盒100中的熔丝10的切断、不切断与所安装的数据的关系。
如图2(b)所示,通过切断熔丝10来安装数据“1”,当不切断熔丝10时,安装数据“0”。
此外,如图2(a)所示,熔丝盒100成为利用电源接通复位信号POR确定A0~An位的数据的结构,在电源接通复位信号POR为“0”状态的下,对熔丝加电压来确定数据,电源接入时,使电源接通复位信号POR从“0”变到“1”,由此来锁存数据。
图3(a)示出图2(a)的熔丝盒100中的输出信号A0~An相对于电源接通复位信号POR的关系。如图3(a)所示,当电源接通复位信号POR为0时,输出信号A0~An处于不定状态,当电源接通复位信号POR为1时,输出信号A0~An变成与已记录的数据、即唯一ID对应的位串。即,如图3(b)所示,若熔丝10未切断,则Ai(0≤i≤n)变成“0”,如图3(c)所示,若熔丝10切断,则Ai(0≤i≤n)变成“1”。
图4(a)、图4(b)是在图2(a)的熔丝盒100记录的位串(唯一ID)中表示反转位的有效性的示意图。
图4(a)示出32位长的位串A。位串A在32位中有22位是“1”(与本发明的第1熔丝对应),10位是“0”。因此,必须切断32个熔丝10中的22个,所以,LT次数变成22次。
此外,图4(b)示出32位长的位串加上1位反转位后共33位长的位串B。位串B是将位串A的各位反转并且使表示反转的反转位为1的位串。即,位串B通过使反转位为1来以不同的形式表示与位串A相同的值。位串B有10位是“1”(与本发明的第2熔丝对应),22位是“0”。因此,必须切断33个熔丝10中的11个(上述10位加上1位反转位),所以,LT次数变成11次。
即,在位串A中,当为“1”的位个数比所有的位的个数的一半多时,可以通过在位串B中设置表示反转的反转位并使该反转位为“1”来减少LT次数。
图5是表示熔丝盒100内置有128个(128位)熔丝10时的图1的SOC100的制造方法的一工序(唯一ID记录工序)的流程图。在该128位长的位串[127:0]中,位127是反转位。
首先,在步骤S1中,向MPU200输入127位长的原数据(originaldata)(位串)[126:0]。
接着,进入步骤S2,MPU200判定在步骤S1输入的位串[126:0]中为“1”的位是否多于一半(即64个以上)。当是64个以上时,进入步骤S3,当不到64个时,进入步骤S4。
接着,在步骤S3中,MPU200使位串[126:0]反转,并且使反转位[127]=1。然后,进入步骤S5。
接着,在步骤S4中,MPU200不使位串[126:0]反转,而使反转位[127]=0。然后,进入步骤S5。
接着,在步骤S5中,MPU200对分别与位串[126:0]和位[127]对应的熔丝实施LT。由此,可以减少执行LT的次数。
即,在图5中,位串[127:0]与本发明的熔丝组对应,位[127]与本发明的反转熔丝对应。
若假定上述位串[126:0]是随机数据,则当使用现有的半导体装置时LT次数的最大值是127次,但本实施方式的半导体装置可以将LT次数的最大值降低到64次(当超过64次时,通过使用反转位使其反转,从而可以使其为64次以下)。例如,在图4(a)中,“1”在位串A中最多连续出现8个,而在图4(b)的位串B中,最多连续出现4个。即,通过使用反转位来减少“1”的个数,从而可以减小数据的连续性。由此,能够使别人难以解读(decode)。
图6(a)、图6(b)是表示当8位长的位串是随机数据时,与反转位的有无对应的位变化率(位的值是“1”的比例)的差的图。图6(a)和图6(b)分别示出没有反转位和有反转位的情况。
如图6(a)所示,当没有反转位时,变化位的个数(值是“1”的位的个数)可以取从0到8的值。而且,变化位的个数是k(0≤k≤8)的概率是8Ck/28=8Ck/256,所以,由变化位的个数×概率给出的位变化率的合计(期望值)是1024/256=4。
另一方面,如图6(b)所示,当有反转位时,变化位的个数可以取从0到4的值(当变化位的个数是5、6、7、8时,通过反转,变化位的个数变成3、2、1、0,所以,通过使其加上反转位的1,从而变化位的个数变成4、3、2、1)。因概率和图6(a)的情况一样,故由变化位的个数×概率给出的位变化率的合计(期望值)是837/256=3.27。即,通过设定反转位,可以使LT的次数降低至3.27/4=81.75%。
这样,若按照本实施方式的半导体装置,通过使用反转位来减少“1”的个数,从而可以减少唯一ID等记录中的LT次数。因此,能够缩短制造时间。
此外,因能够降低数据的连续性,故别人难以解读。如上所述,因使用芯片信息作为一般的唯一ID,故可以通过增加被他人解读的难度来对芯片信息保密。
此外,在本发明中,单单是为了确保唯一性而记录芯片信息,其内容本身没有被利用。因此,在读出时对其内容本身不一定必须进行正确的译码。因此,即使反转位是“1”,也不一定必须反转后再读出,为了提高保密性,最好是宁愿不反转地读出(即使是不反转地读出也能够确保唯一性)。
再有,当需要将反转后的数据译码成反转之前的值时,利用硬件或软件的任一方法进行译码即可。
此外,上面说明了将唯一ID记录在SOC中的情况,但不限于此,对于所有的使用熔丝进行数据记录的情况,本发明都可以适用。
即,不限于安装在SOC中的存储器,对于其他产品,本发明也可以适用。
此外,不限于唯一ID,例如,如图7所示那样,对于利用一般存储器使用的、使用了熔丝的冗余电路等来记录数据的情况,本发明也可以适用。图7所示的冗余电路30具备存储单元阵列310、行译码器320、位线负载330、冗余(备用)单元340、冗余(备用)行译码器350、地址缓冲器360、比较器370和程序电路380。
在图7中,地址缓冲器360中输入表示应访问的存储器的地址的地址信号SIG1。地址缓冲器360根据输入的地址信号SIG1生成输入地址信号SIG2,并将其输入到比较器370。此外,程序电路380根据利用熔丝切断预先编程了的故障(defective)地址来生成故障地址信号SIG3,并将其输入到比较器370。
比较器370将故障地址信号SIG3与所输入的输入地址信号SIG2比较,当它们一致时,向行译码器320输入通常电路非激活信号SIG4,使存储单元阵列310不激活,并且向冗余(备用)行译码器350输入冗余电路激活信号SIG5,激活冗余(备用)单元340。即,通过在程序电路380中切断熔丝以将存储单元阵列310中的故障单元作为故障地址来预先进行编程,从而用冗余(备用)单元340来替换上述故障单元以进行修复。对于这样的程序电路380中的故障地址的编程,也和上述唯一ID的记录一样,通过使用反转位,可以减少LT次数。
再有,如上所述,当所记录的数据是唯一ID时,因其内容本身没有被利用,故即使反转位是“1”,也不一定必须反转后读出。但是,当所记录的数据是冗余电路30的故障地址时,因必须正确地读取故障地址(若读取不正确,则正常的单元会被冗余单元340替换),所以,当反转位是“1”时,必须将数据反转后再读出。
此外,有时需要根据产品的不同,利用熔丝来进行器件内部电压或定时调整等,即使在这种情况下,也和上述唯一ID的记录或故障地址的程序一样,通过使用反转位,可以减少LT次数。
<实施方式2>
在实施方式1中,说明了对由1个位串构成的整个数据设定1个反转位的情况。但是,有时在实际处理的数据中包含为“1”的位所占的比例极小的部分,在这种情况下,通过将该部分从反转位的对象中除去,从而可以进一步减少LT次数。即,可以只对由1个位串构成的数据的一部分设定1个反转位。
图8是表示实施方式2的半导体装置的制造方法中的一工序(唯一ID记录工序)的流程图。在图8中,对作为n位长的数据的位串[n-1:0]设置作为反转位的位[n]。该位串[n-1:0]可以分成m位长的位串[m-1:0]和(n-m)位长的位串[n-1:m](m是(n-1)以下的自然数),作为反转位的位[n]只将位串[n-1:m]作为对象来进行设定。即,图8的流程图在实施方式1的图5的流程图中增加了步骤S1’,对于位串[n-1:0]中的位串[n-1:m],使其从步骤S1进到步骤S2,并且对于位串[n-1:0]中的位串[m-1:0],使其从步骤S1’直接进到步骤S5。
即,在图8中,位串[n-1:m]和位串[m-1:0]分别与本发明的第1至第2熔丝组对应。
例如,在图5中,只有当127位长的位串[126:0]中为“1”的位为64个以上时才将反转位设为“1”。因此,当位串[126:0]中的位串[63:0]全是“0”、位串[126:64]全是“1”时,因“1”的位是63个,故反转位变成“0”。因此,LT次数变成63次(实际上,即使在位串中“0”或“1”的比例变得极高,也不可能所有的位都是“1”或“0”,但在本实施方式中,为说明方便起见,将最极端的情况作为例子来进行说明(实施方式3也一样))。
另一方面,在图8中,当位串[126:0]中的位串[63:0]全是“0”、位串[126:64]全是“1”时,若设n=127、m=64,则位串[126:0]中只有位串[126:64]成为反转对象。即,在位串[126:64]中,因“1”的位多于一半(即32个以上),故从步骤S1、S2进到S3,使位串[126:64]反转,同时使反转位[127]为“1”,然后,进入步骤S5。因此,位串[126:64]中的LT次数变成1次。此外,在位串[63:0]中,因从步骤S1’直接进入步骤S5,故位串[63:0]中的LT次数变成0次。因此,位串[126:0]中的LT次数的合计是1次。
这样,若按照本实施方式的半导体装置,在由1个位串构成的数据中,将为“1”的位的比例极小的部分从对象中排除地来设定1个反转位。因此,除了实施方式1的效果之外,还具有能够进一步减少LT次数的效果。
再有,上面说明了将位串[126:0]分成位串[63:0]和位串[126:64]的情况,但不限于此,可以在任意位置上以位为单位将数据分开,或者,也可以以字为单位或以字节为单位进行分开(实施方式3也一样)。
<实施方式3>
在实施方式2中,说明了对由1个位串构成的数据设定1个反转位的情况。但是,不限于此,或者,也可以对由1个位串构成的数据设定2个以上的反转位。
图9是表示实施方式3的半导体装置的制造方法中的一工序(唯一ID记录工序)的流程图。在图9中,对作为(n-1)位长的数据的位串[n-2:0]设置作为反转位的位[n-1]、[n]。该位串[n-2:0]可以分成k位长的位串[k-1:0]、(m-k)位长的位串[m-1:k]和(n-m-1)位长的位串[n-2:m](k是(m-1)以下的自然数),只对位串[m-1:k]设定作为反转位的位[n-1],只对位串[n-2:m]设定作为反转位的位[n]。即,图9的流程图将在实施方式2的图8的流程图中的步骤S1~S4作为步骤S1-1~S4-1和步骤S1-2~S4-2,分别对位串[m-1:k]和[n-2:m]个别进行。
即,在图9中,位串[m-1:k]、[n-2:m]和位[n-1]、[n]分别与本发明的第3至第4熔丝组和第1至第2反转熔丝对应。
例如,在图8中,当位串[126:0]中的位串[63:0]全是“0”、位串[94:64]全是“1”、位串[126:95]全是“0”时,若设n=127、m=64,则位串[126:0]中只有位串[126:64](即位串[94:64]和位串[126:95])变成作为反转位的位[127]的对象。即,在位串[126:64]中,因为“1”的位少于一半(即不到32个),故从步骤S1、S2进到S4,不使位串[126:64]反转,使作为反转位的位[127]为“0”,然后,进入步骤S5。因此,位串[126:64]中的LT次数变成31次。此外,在位串[63:0]中,因从步骤S1’直接进入步骤S5,故位串[63:0]中的LT次数变成0次。因此,位串[126:0]中的LT次数的合计是31次。
另一方面,在图9中,当位串[126:0]中的位串[63:0]全是“0”、位串[94:64]全是“1”、位串[126:95]全是“0”时,若设n=127、m=64、k=95,则位串[126:0]中只将位串[94:64]作为反转对象。即,在位串[94:64]中,因“1”的位多于一半(即16个以上),故从步骤S1-1、S2-1进到S3-1,使位串[94:64]反转,并且使作为反转位的位[126]=1,然后,进入步骤S5。因此,位串[94:64]中的LT次数变成1次。此外,在位串[125:95]中,因“1”的位为一半以下(即不到16个),故从步骤S1-2、S2-2进到S4-2,不使位串[125:95]反转,使作为反转位的位[127]=0,然后,进入步骤S5。因此,位串[125:95]中的LT次数变成0次。此外,在位串[63:0]中,因从步骤S1’直接进入步骤S5,故位串[63:0]中的LT次数变成0次。由此,位串[126:0]中的LT次数的合计是1次。
这样,若按照本实施方式的半导体装置,将由1个位串构成的数据分成多个区域,对每一个区域设定反转位。因此,除了实施方式2的效果之外,还具有能够进一步减少LT次数的效果。
再有,上面说明了将位串中的一部分区域排除在反转位的对象之外并对其剩下的区域设定多个反转位的情况,但不限于此,或者,也可以对位串的整个区域设定多个反转位。
<实施方式4>
图10是说明本发明的半导体装置的唯一ID的结构的概念图。如图10所示,本发明的半导体装置的唯一ID由A0~An位构成,其中的A0~Am位中分配有芯片信息,Am+1~An位中分配有循环冗余校验(CRC)运算的校验位。
这里,芯片信息一般是半导体装置的制造工序中所使用的批号、形成半导体装置的晶片的晶片号、指定晶片上的半导体装置的位置的芯片位置信息和制作年月日等,是作为二进制数据对各芯片设定的信息,是用来指定各芯片的有效信息。
此外,CRC运算的校验位是指使用生成多项式对芯片信息进行CRC运算得到的余值,在CRC运算中,由信息位和校验位构成循环码。CRC运算是信息传送时确认没有发生错误的运算,在本申请中,通过使由CRC运算得到的校验位与芯片信息组合,从而更加提高唯一ID的随机性。
为了将用于实现安全功能而使用的唯一ID分配到每一个SOC,在SOC内安装熔丝,在制造过程中,利用激光修整等,与唯一ID相匹配地切断熔丝,由此将唯一ID记录下来。
通过采用这样的结构,在利用通常的CMOS工艺制造的SOC中,也可以记录唯一ID。
但是,例如,当芯片A的芯片信息是“111011”、芯片B的芯片信息是“111111”时,当芯片A的芯片信息的0位因熔丝的故障等原因而变成1位时,芯片A和芯片B的芯片信息变成一样了,失去了唯一ID的安全功能。
但是,若对芯片A的芯片信息“111011”进行CRC运算得到的校验位是“ 1100”、对芯片B的芯片信息“111111”进行CRC运算得到的校验位是“1001”,则芯片A的唯一ID变成“1110111100”,芯片B的唯一ID变成“1111111001”,所以,两者的唯一ID有3个位不同。
因此,即使因熔丝的故障等而使其中的1个位的数据被置换,芯片A和芯片B的唯一ID也不会一致,可以维持唯一ID的安全功能。
再有,在本发明中,因不使用CRC运算来验证信息传送时的错误,故CRC运算中的生成多项式G(X)可以使用一般熟知的多项式,也可以与芯片信息的信息量相匹配,使用例如G(X)=X7+X3+1或G(X)=X16+X12+X5+1。这里,前者是称之为CRC7的运算中使用的生成多项式,后者是称之为CRC16的运算中使用的生成多项式。作为CRC运算的一个例子,如使用图1说明的那样,当唯一ID是A0~An、芯片信息是A0~Am、校验位是Am+1~An时,对于表示芯片信息的多项式M(X),可以由表示用G(X)除多项式M(X)·Xn-m的余数的多项式R(X)得到校验位。
接着,使用图11说明对图2(a)所示的熔丝盒100安装唯一ID的工序。
图11是概略说明半导体装置的制造工序的流程图,在步骤S10实施了晶片阶段的各种制造工序(晶片工艺)之后,在步骤S20中,进行晶片阶段的各种测试(晶片测试1)。
然后,在步骤S30中,进行用来对熔丝盒100安装唯一ID的修整数据的作成。在该工序中,如前所述,包含对芯片信息进行CRC运算并取得校验位的工序,修整数据由芯片信息和校验位构成。
接着,在步骤S40中,根据在步骤S30得到的修整数据,利用激光修整等切断熔丝盒100内的熔丝10,安装唯一ID。
然后,进而执行晶片阶段的各种测试(晶片测试2)(步骤S50),对在晶片上做出的半导体装置进行切割,将其切分为芯片,将各芯片安装在引线框上,再进行键合,然后,经过模塑密封等装配工序(步骤S6),完成封装后的半导体装置。
在具备使用图1说明了的熔丝盒100的SOC1000中,MPU200接收来自熔丝盒100的唯一ID的信息,并根据该唯一ID生成用来实现安全功能的加密密钥。接着,使用该加密密钥进行数据的加密,并通过接口部300向外部装置400传送。
例如,若外部装置400是HDD(硬盘驱动)系统,则可以根据唯一ID执行对写入盘头组件中的数据的加密。
再有,加密密钥生成时,可以将唯一ID直接作为加密密钥使用,此外,也可以与其他信息组合生成加密密钥。
此外,对使用图10说明了的唯一ID,说明了对A0~Am位分配芯片信息、对Am+1~An位分配CRC运算的校验位的情况,但也可以不限定于该顺序,而例如像图12所示那样,构成为对A0~Am位分配CRC运算的校验位、对Am+1~An位分配芯片信息。此外,也可以如图13所示,对A0~Af位分配芯片信息1、对Af+1~Ak位分配CRC运算的校验位、对Ak+1~An位分配芯片信息2。这里,芯片信息1和2是为了方便将全部芯片信息分成2个部分的信息,通过采用这样的结构,可以进一步提高唯一ID的随机性,进而提高安全功能。
此外,也可以不使芯片信息和CRC运算的校验位并列来构成唯一ID,而将把芯片信息和CRC运算的校验位相加后得到的校验和数据作为唯一ID使用。
这时,可以考虑下述方法以8位数据作为1个单位,在16位或32位的加法运算区(寄存器等)进行求和,进行忽略从加法运算区溢出的进位位等的处理,将得到的16位或32位的数值作为校验和数据。
如上所述,本发明实施方式4的唯一ID采用了由芯片信息和CRC运算的校验位构成唯一ID并安装在熔丝中的结构。因此,与只由芯片信息构成唯一ID的情况相比,可以提高唯一性,当与1个位对应的熔丝发生故障时,可以防止出现相同的唯一ID。
此外,若只由芯片信息构成唯一ID,例如,当对1个芯片解读唯一ID时,容易根据该信息推测出其它芯片的唯一ID,虽然是为了实现安全功能而使用唯一ID,却很可能实现不了安全功能,但是,通过配合CRC运算校验位来使用,就可以减小固定信息的比例,提高随机性。
此外,与只用芯片信息构成唯一ID的情况相比,解读信息困难,可以防止SOC制造商不想让终端用户知道的信息被人知道。
<实施方式5>
在上面已说明的本发明的实施方式4中,对构成唯一ID的芯片信息的设定方法没有特别的限定,但通过改进芯片信息的设定方法,可以进一步提高唯一ID的唯一性。
图14(a)、图14(b)和图14(c)是表示芯片信息中晶片上的芯片位置的信息的设定例子的图,示出表示芯片号(No.)和芯片位置信息的关系的一览表。再有,在图14(a)~图14(c)中,由位Am1~Amn给出芯片位置信息,为说明简洁起见,假定用10个位来构成位Am1~Amn。此外,芯片号是指为了指定晶片上的芯片位置而按照规定的规则分配的号码,若知道芯片号,就可以知道是在晶片上的什么位置上做出的芯片。
图14(a)示出一个设定芯片位置信息的例子,其中将芯片号是1的情况作为“0000000001”,芯片号每增加1,使位Am1~Amn增加一个10进制数的1、即01b,图14(b)示出一个设定芯片位置信息的例子,其中将芯片号是1的情况作为“0000000001”,芯片号每增加1,使位Am1~Amn增加一个10进制数的2、即10b,图14(c)示出一个设定芯片位置信息的例子,其中将芯片号是1的情况作为“0000000001”,芯片号每增加1,使位Am1~Amn增加一个10进制数的3、即11 b。
如图14(a)所示,在1个1个增加时,芯片号1的芯片位置信息是“0000000001”,芯片号3的芯片位置信息是“0000000011”,两者只是低位的第2位不同,若与该低位的第2位对应的熔丝发生故障而表示不同的值时,则两者会变成同一个值。
同样,如图14(b)所示,在2个2个增加时,芯片号1的芯片位置信息是“0000000001”,芯片号2的芯片位置信息是“0000000011”,两者只是低位的第2位不同,若与该低位的第2位对应的熔丝发生故障而表示不同的值时,则两者会变成同一个值。
这不限于1个1个增加或2个2个增加的情况,当像4个4个地增加或8个8个地增加那样,设芯片位置信息增加(incrementing)的单位是2n(n=0、1、2、...;0以上的整数)时,若与任何1个位对应的熔丝发生故障时,就会存在相同的芯片位置信息。
另一方面,如图14(c)所示,在按10进制3个3个增加时,芯片号1的芯片位置信息是“0000000001”,芯片号2的芯片位置信息是“0000000100”,两者的最低位和低位的第3位不同,只有1个熔丝发生故障时出现同一值的可能性减小。这在其它的芯片号之间也一样。
这样,通过使芯片位置信息增加的单位是2n之外的值,从而当只有1个熔丝发生故障时,存在同一芯片位置信息的可能性会降低。
再有,上面采用芯片信息中晶片上的芯片位置信息为例子进行了说明,但批号、晶片号和制造年月日也同样适用,使用它们也可以进一步提高唯一ID的唯一性。
如上所述,在本发明的实施方式5的唯一ID中,当进行芯片信息的设定时,通过使各信息的增加单位是用十进制数表示的除2n之外的值,从而当与1个位对应的熔丝发生故障时,就使存在同一芯片信息的可能性会降低,可以进一步提高唯一ID的唯一性。
<实施方式6>
在上面已说明的本发明的实施方式4和5中,说明了唯一ID的结构,作为本发明的实施方式6,说明在实施方式4和5中已说明了的唯一ID的验证方法。
图15是表示在使用图1说明了的SOC1000上连接测试器410后的结构的框图。
如图15所示,经接口部300使SOC1000与测试器410连接,并经MPU200从熔丝盒100中读出唯一ID,再进行验证。
这时,在本发明的半导体装置的唯一ID中,因具有芯片信息和CRC运算的校验位,故在测试器410中,通过验证CRC运算的校验位,可以进行整个唯一ID的验证。
下面,使用图16所示的流程图说明本发明的半导体装置的唯一ID的验证方法。
如图16所示,首先,在步骤S11中,通过SOC1000的接口部300,从测试器410向MPU200发出命令,读出安装在熔丝盒100中的唯一ID的数据,再送给测试器410。
这里,读出的唯一ID如图10所示,由A0~An位的数据构成。
接着,在测试器S410中,对唯一ID中的已分配给A0~Am位的芯片信息执行CRC运算(步骤S12)。
即,在测试器410中,具有和算出构成唯一ID的校验位所使用的生成多项式G(X)相同的多项式,并具有对A0~Am位的芯片信息实施CRC运算的功能。
而且,在步骤S13中,将使用该生成多项式G(X)对芯片信息实施CRC运算得到的余值与唯一ID中已分配给Am+1~An位的校验位比较,若两者一致,则判断为验证对象的SOC1000是唯一ID没有故障的优质品。另一方面,若两者不一致,则判断为验证对象的SOC1000的唯一ID存在故障。
再有,在上面的说明中,以图10所示的唯一ID作为例子,但对于图12和图13所示的唯一ID,也可以同样进行验证。
此外,虽然将使用该生成多项式G(X)对芯片信息进行CRC运算得到的余值与唯一ID中已分配给Am+1~An位的校验位比较,若两者一致,则判断为验证对象的SOC1000是唯一ID没有故障的优质品,但是,也可以用该生成多项式G(X)除含有芯片信息和CRC运算的校验位的多项式,若其余值为0,则判断为优质品。
如以上说明的那样,若按照本发明的实施方式6的唯一ID的验证方法,在测试器410中,只验证CRC运算的校验位,就可以进行整个唯一ID的验证,所以,能够容易验证各芯片中的唯一ID是否发生故障。
<变形例>
在上面已说明的本发明的实施方式6的唯一ID的验证方法中,示出了利用与SOC1000连接的外部测试器进行唯一ID的验证的例子,但也可以利用SOC1000内的MPU200进行唯一ID的验证。
下面,使用图17所示的流程图说明本发明的唯一ID的验证方法的变形例。
如图17所示,首先,在步骤S21中,通过SOC1000的接口部300从测试器410向MPU200发出命令,读出安装在熔丝盒100中的唯一ID的数据。接着,在MPU200中,对唯一ID中的已分配给A0~Am位的芯片信息进行CRC运算。
即,在MPU200中,具有和算出构成唯一ID的校验位所使用的生成多项式G(X)相同的多项式,并具有对A0~Am位的芯片信息实施CRC运算的功能。
而且,在MPU200中,将使用该生成多项式G(X)对芯片信息进行CRC运算得到的余值与唯一ID中已分配给Am+1~An位的校验位进行比较(步骤S22)。
然后,在步骤S23中,通过SOC1000的接口部300从测试器410向MPU200发出命令,读出在步骤S22中得到的比较结果的信息,再送给测试器410。
在测试器410中,当得到比较结果是一致的信息时,则判断为验证对象的SOC1000是唯一ID没有故障的优质品,当得到比较结果是不一致的信息时,判断为验证对象的SOC1000的唯一ID存在故障。
此外,虽然在MPU200中,将使用该生成多项式G(X)对芯片信息进行CRC运算得到的余值与唯一ID中已分配给Am+1~An位的校验位比较,当测试器410得到其比较结果是一致的信息时,判断为验证对象的SOC1000是唯一ID没有故障的优质品,但是,也可以在MPU200中,用该生成多项式G(X)除含有芯片信息和CRC运算的校验位的多项式,将其余值与0比较,当测试器410得到其比较结果是一致的信息时,判断为验证对象的SOC1000是唯一ID没有故障的优质品。
在上面已说明的唯一ID的验证方法的变形例中,只在MPU200中验证CRC运算的校验位,就可以进行整个唯一ID的验证,所以,能容易验证各芯片中的唯一ID是否发生故障。此外,因在MPU200中验证CRC运算的校验位且只将比较结果的信息送给测试器410,所以与在实施方式3中说明了的唯一ID的验证方法相比,具有只需要少量的接口部300中的测试用的引脚数即可的优点。
权利要求
1.一种半导体装置,为了对由规定数个位构成的数据进行记录,在包含上述规定数个熔丝的熔丝组中,使各上述熔丝与各上述位相对应地进行切断,其中,上述熔丝组还包含表示上述记录中的上述数据的反转的反转熔丝,当上述熔丝组中应切断的第1熔丝的个数多于上述规定数的一半时,上述第1熔丝不切断而切断上述反转熔丝,并且上述熔丝组中除上述第1熔丝和上述反转熔丝以外的第2熔丝也切断。
2.权利要求1记载的半导体装置,其中,上述熔丝组具有成为上述反转熔丝的对象的第1熔丝组、以及不成为上述反转熔丝的对象的第2熔丝组。
3.权利要求1记载的半导体装置,其中,上述反转熔丝至少具有第1反转熔丝和第2反转熔丝,上述熔丝组至少具有成为上述第1反转熔丝的对象的第3熔丝组、以及成为上述第2反转熔丝的对象的第4熔丝组。
4.权利要求2记载的半导体装置,其中,上述反转熔丝至少具有第1反转熔丝和第2反转熔丝,上述第1熔丝组至少具有成为上述第1反转熔丝的对象的第3熔丝组、以及成为上述第2反转熔丝的对象的第4熔丝组。
5.权利要求1记载的半导体装置,其中,上述数据是SOC中的安全ID。
6.权利要求1记载的半导体装置,其中,上述数据是存储单元阵列中的故障单元的地址。
7.一种半导体装置的唯一ID,固有地设定于半导体装置上,其中,上述半导体装置的唯一ID包括包含上述半导体装置在制造时的信息的固有的芯片信息、以及对上述芯片信息实施循环冗余校验运算后得到的校验位。
8.权利要求7记载的半导体装置的唯一ID,其中,上述半导体装置具备多个熔丝,上述半导体装置的唯一ID通过将上述多个熔丝作成切断状态和非切断状态而安装在上述半导体装置中。
9.权利要求8记载的半导体装置的唯一ID,其中,上述芯片信息包括上述半导体装置制造时的批号、形成上述半导体装置的晶片的晶片号、指定上述半导体装置在上述晶片上的位置的芯片位置和制造年月日中的至少1个。
10.权利要求9记载的半导体装置的唯一ID,其中,上述芯片信息通过规则地使二进制数据增加来规定各信息,上述增加的单位是用十进制数表示的除2n之外的数,其中n=0、1、2、...。
11.一种对权利要求7记载的半导体装置的唯一ID进行验证的方法,其中,具备(a)将上述半导体装置的唯一ID读出到连接于上述半导体装置上的测试器中的步骤;(b)在上述测试器中对上述半导体装置的唯一ID的上述芯片信息实施上述循环冗余校验运算的步骤;以及(c)将由上述循环冗余校验运算得到的余值和上述半导体装置的唯一ID的校验位进行比较并判断上述半导体装置的唯一ID是否良好的步骤。
12.一种对权利要求7记载的半导体装置的唯一ID进行验证的方法,其中,上述半导体装置内部具备运算处理部,所述方法具备(a)从连接于上述半导体装置上的测试器对上述运算处理部给予指示以对上述半导体装置的唯一ID的上述芯片信息实施上述循环冗余校验运算的步骤;(b)将由上述循环冗余校验运算得到的余值和上述半导体装置的唯一ID的校验位进行比较的步骤;以及(c)将上述比较结果的信息读出到上述测试器中并判断上述半导体装置的唯一ID是否良好的步骤。
全文摘要
本发明涉及半导体装置、半导体装置的唯一ID及该唯一ID的验证方法,在步骤S1中,输入127位长的原数据(位串)[126:0]。接着,进入步骤S2,判定在步骤S1输入的位串[126:0]中为“1”的位是否多于一半(即64个以上)。而且,当是64个以上时,进入步骤S3。接着,在步骤S3中,使位串[126:0]反转,并且使作为反转位的位[127]=1。然后,进入步骤S5。接着,在步骤S5中,对分别与位串[126:0]和位[127]相对应的熔丝实施LT。
文档编号H01L23/544GK101086757SQ20071010887
公开日2007年12月12日 申请日期2007年6月5日 优先权日2006年6月5日
发明者森保文, 东克彦, 三浦学 申请人:株式会社瑞萨科技
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1