JP2008010549A - Unique id for semiconductor device, and method to verify the same - Google Patents
Unique id for semiconductor device, and method to verify the same Download PDFInfo
- Publication number
- JP2008010549A JP2008010549A JP2006178000A JP2006178000A JP2008010549A JP 2008010549 A JP2008010549 A JP 2008010549A JP 2006178000 A JP2006178000 A JP 2006178000A JP 2006178000 A JP2006178000 A JP 2006178000A JP 2008010549 A JP2008010549 A JP 2008010549A
- Authority
- JP
- Japan
- Prior art keywords
- unique
- semiconductor device
- chip
- information
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は半導体装置のユニークIDおよび該ユニークIDの検証方法に関し、特にSoC(System on Chip)にヒューズ実装されるユニークIDに関する。 The present invention relates to a unique ID of a semiconductor device and a method for verifying the unique ID, and more particularly to a unique ID mounted on a SoC (System on Chip).
半導体装置に固有に割り付けられたユニークな識別番号、すなわちユニークIDは、当該半導体装置を使用するシステムのセキュア機能の実現のために使用される場合もある。この場合、ユニークIDは上記システムを構成するフラッシュROM(Read Only Memory)やHDD(Hard Disk Drive)に記録しておくことが一般的であり、通常のCMOS(Complementary Metal Oxide Semiconductor)プロセスで製造するSoCが搭載するメモリでは記録することができない。従って、SoCではヒューズを実装し、製造過程においてユニークIDに合わせてレーザトリミングなどでヒューズを切断することでユニークIDを記録する方法が用いられる。 A unique identification number uniquely assigned to a semiconductor device, that is, a unique ID may be used for realizing a secure function of a system using the semiconductor device. In this case, the unique ID is generally recorded in a flash ROM (Read Only Memory) or HDD (Hard Disk Drive) constituting the system, and is manufactured by a normal CMOS (Complementary Metal Oxide Semiconductor) process. It cannot be recorded in the memory installed in the SoC. Therefore, in SoC, a method of recording a unique ID by mounting a fuse and cutting the fuse by laser trimming or the like in accordance with the unique ID in the manufacturing process is used.
例えば、特許文献1にはレーザトリミング等によりヒューズ実装されたID情報を用いてデータの暗号化や復号化をする技術が開示されている。
For example,
ユニークIDは、セキュア機能実現のためにユニーク性が必要であることから、対象となるSoCのチップ情報を使うことが一般的であり、対象となるSoCが製造されたロットのロット番号、対象となるSoCが切り出されたウェハのウェハ番号、対象となるSoCのウェハ上での位置(チップ位置)および製造年月日などのチップ情報をユニークIDとして使用する。 Since the unique ID needs to be unique for realizing the secure function, it is common to use the chip information of the target SoC, and the lot number and the target of the lot in which the target SoC is manufactured. Chip information such as the wafer number of the wafer from which the SoC is cut, the position (chip position) of the target SoC on the wafer, and the date of manufacture is used as the unique ID.
しかし、これらのチップ情報は規則性を有しランダム性に欠けるため、ヒューズが偶発的に故障したり摩耗故障した場合には、偶然に同一のユニークIDが複数存在することとなる。 However, since the chip information has regularity and lacks randomness, when the fuse accidentally fails or wears out, a plurality of the same unique IDs happens to exist.
すなわち、ロット番号が同じ1つのウェハにおいては、チップ位置を示すチップ番号はシリアルに設定されているので、チップ番号に誤りが生じれば、同じユニークIDを持つチップが、最低でも2組発生することとなる。 That is, in a single wafer having the same lot number, the chip number indicating the chip position is set serially. If an error occurs in the chip number, at least two sets of chips having the same unique ID are generated. It will be.
また、ウェハ番号が異なるだけでロット番号は同じで、ウェハ上での位置も同じチップにおいては、ウェハ番号はシリアルに設定されているので、ウェハ番号に誤りが生じれば、同じユニークIDを持つチップが、最低でも2組発生することとなる。 In addition, the wafer number is set serially in the same chip with the same lot number and the same lot number on the wafer. Therefore, if an error occurs in the wafer number, it has the same unique ID. At least two sets of chips are generated.
また、ロット番号は異なるが同じウェハの同じ位置のチップにおいては、ロット番号はシリアルに設定されているので、ロット番号に誤りが生じれば、同じユニークIDを持つチップが、最低でも2組発生することになる。 In addition, lot numbers are different but chips at the same position on the same wafer are set serially, so if an error occurs in the lot number, at least two sets of chips with the same unique ID are generated. Will do.
また、チップ情報だけでユニークIDを構成すると、例えば1つのチップについてユニークIDが解読されると、その情報を基にその他のチップについてもユニークIDが容易に推測できてしまい、ユニークIDをセキュア機能実現のために使用しても、セキュア機能を果たせないことになる。 In addition, when a unique ID is configured only by chip information, for example, when the unique ID is decoded for one chip, the unique ID can be easily guessed for other chips based on the information, and the unique ID is secured. Even if it is used for realization, the secure function cannot be achieved.
また、チップ情報から歩留まり情報なども推測することができるので、SoC製造メーカーにとってエンドユーザーには知られたくない情報も知られてしまうという問題もある。 In addition, since yield information and the like can be estimated from the chip information, there is a problem that information that the SoC manufacturer does not want the end user to know is also known.
しかし、ユニークIDをチップ情報で構成する代わりに、ユニークIDをチップ情報以外のデータで構成する場合には以下の問題がある。 However, when the unique ID is composed of data other than the chip information instead of configuring the unique ID with the chip information, there are the following problems.
すなわち、例えば、SoCごとにユニークIDをランダムなデータで構成する場合、当該ユニークIDを検証するには、比較のための期待値データとして、ユニークIDと同じデータをテスタにおいて準備する必要があり、テスタには、期待値データをSoCの個数分だけ準備する必要があり、その準備に手間がかかるという問題がある。 That is, for example, when a unique ID is configured with random data for each SoC, in order to verify the unique ID, it is necessary to prepare the same data as the unique ID in the tester as expected value data for comparison, The tester needs to prepare the expected value data for the number of SoCs, and there is a problem that it takes time to prepare.
また、一般的にLSIのテストでは期待値は同一のファンクションパターンでテストするので、期待値の種類が増えれば、その数だけのテストパターンを用意する必要が生じ、その準備にも手間がかかるという問題がある。 In addition, since the expected values are generally tested with the same function pattern in the LSI test, if the number of types of expected values increases, it is necessary to prepare as many test patterns as there are, and it takes time to prepare them. There's a problem.
なお、1種類のテストパターンを基にして、LSIごとにインクリメントすることも可能ではあるが、初期値の設定が複雑になることや再テスト時に手間がかかるなど実用的ではない。 Although it is possible to increment each LSI based on one type of test pattern, it is not practical because the setting of the initial value becomes complicated and it takes time for retesting.
本発明は上記のような問題点を解消するためになされたもので、ランダム性が高いとともに、ユニーク性に優れ、かつ検証も容易な半導体装置のユニークIDを提供することを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a unique ID of a semiconductor device that has high randomness, excellent uniqueness, and easy verification.
本発明に係る請求項1記載の半導体装置のユニークIDは、半導体装置に固有に設定された半導体装置のユニークIDであって、前記半導体装置のユニークIDは、前記半導体装置の製造時の情報を含んだ固有のチップ情報と、前記チップ情報に対して巡回冗長検査演算を施して得られた検査ビットとを含んでいる。 The unique ID of the semiconductor device according to the first aspect of the present invention is a unique ID of the semiconductor device set uniquely to the semiconductor device, and the unique ID of the semiconductor device is information on manufacturing of the semiconductor device. It includes the inherent chip information included, and check bits obtained by performing a cyclic redundancy check operation on the chip information.
本発明に係る請求項5記載の半導体装置のユニークIDの検証方法は、前記半導体装置に接続されたテスタに前記半導体装置のユニークIDを読み出すステップ(a)と、前記テスタにおいて、前記半導体装置のユニークIDの前記チップ情報に対して前記巡回冗長検査演算を施すステップ(b)と、前記巡回冗長検査演算で得られた余りの値と、前記半導体装置のユニークIDの検査ビットとを比較して、前記半導体装置のユニークIDの良否を判断するステップ(c)とを備えている。 According to a fifth aspect of the present invention, there is provided a semiconductor device unique ID verification method comprising: a step (a) of reading a unique ID of the semiconductor device to a tester connected to the semiconductor device; The step (b) of performing the cyclic redundancy check operation on the chip information of the unique ID is compared with the remainder value obtained by the cyclic redundancy check operation and the check bit of the unique ID of the semiconductor device. And (c) determining whether the unique ID of the semiconductor device is good or bad.
本発明に係る請求項6記載の半導体装置のユニークIDの検証方法は、前記半導体装置は内部に演算処理部を備え、前記半導体装置に接続されたテスタから前記演算処理部に指示を与えて、前記半導体装置のユニークIDの前記チップ情報に対して前記巡回冗長検査演算を施すステップ(a)と、前記巡回冗長検査演算で得られた余りの値と、前記半導体装置のユニークIDの検査ビットとを比較するステップ(b)と、前記比較結果の情報を前記テスタに読み出して、前記半導体装置のユニークIDの良否を判断するステップ(c)とを備えている。
In the semiconductor device unique ID verification method according to
本発明に係る請求項1記載の半導体装置のユニークIDによれば、半導体装置の製造時の情報を含んだ固有のチップ情報と、チップ情報に対して巡回冗長検査演算を施して得られた検査ビットとを含んで構成されるので、チップ情報だけでユニークIDを構成する場合に比べて、ユニーク性を高めることができるとともに、ランダム性を高めることができる。また、チップ情報だけでユニークIDを構成する場合に比べて情報を解読することが困難になり、半導体装置製造メーカーにとってエンドユーザーには知られたくない情報が知られてしまうことを防止できる。 According to the unique ID of the semiconductor device according to the first aspect of the present invention, the unique chip information including information at the time of manufacturing the semiconductor device and the inspection obtained by performing the cyclic redundancy check operation on the chip information Therefore, the uniqueness can be increased and the randomness can be increased as compared with the case where the unique ID is configured only by the chip information. In addition, it is difficult to decipher the information as compared with the case where the unique ID is configured only by the chip information, and it is possible to prevent the semiconductor device manufacturer from knowing information that the end user does not want to know.
本発明に係る請求項5記載の半導体装置のユニークIDの検証方法によれば、テスタにおいて巡回冗長検査演算の検査ビットを検証するだけで、ユニークID全体の検証を行うことができるので、各チップにおけるユニークIDの不具合発生の有無を容易に検証することができる。
According to the unique ID verification method for a semiconductor device according to
本発明に係る請求項6記載の半導体装置のユニークIDの検証方法によれば、半導体装置内部の演算処理部において巡回冗長検査演算の検査ビットを検証するだけで、ユニークID全体の検証を行うことができるので、各チップにおけるユニークIDの不具合発生の有無を容易に検証することができる。また、テスタには比較結果の情報だけを与えるので、テスト用のピン数が少なくて済むという利点がある。 According to the unique ID verification method for a semiconductor device according to the sixth aspect of the present invention, the entire unique ID is verified only by verifying the check bit of the cyclic redundancy check operation in the operation processing unit inside the semiconductor device. Therefore, it is possible to easily verify whether or not a unique ID defect has occurred in each chip. Further, since only the information of the comparison result is given to the tester, there is an advantage that the number of test pins can be reduced.
<実施の形態1>
図1は、本発明に係る半導体装置のユニークIDの構成を説明する概念図である。図1に示すように、本発明に係る半導体装置のユニークIDはA0〜Anビットで構成され、そのうちのA0〜Amビットにはチップ情報が割り付けられ、Am+1〜Anビットには巡回冗長検査(CRC:Cyclic Redundancy Checking)演算の検査ビットが割り付けられる構成となっている。
<
FIG. 1 is a conceptual diagram illustrating the configuration of a unique ID of a semiconductor device according to the present invention. As shown in FIG. 1, the unique ID of the semiconductor device according to the present invention is comprised of A0 to An bits, of which A0 to Am bits are assigned chip information, and Am + 1 to An bits are cyclic redundancy check (CRC). : Cyclic Redundancy Checking) An operation check bit is assigned.
ここで、チップ情報とは、一般的に半導体装置の製造工程で使用されるロット番号、半導体装置が形成されたウェハのウェハ番号、ウェハ上での半導体装置の位置を特定するチップ位置情報および製造年月日などであり、バイナリデータとして個々のチップごとに設定されるものであり、個々のチップを特定するために有効な情報である。 Here, the chip information is a lot number generally used in the manufacturing process of the semiconductor device, a wafer number of the wafer on which the semiconductor device is formed, chip position information for specifying the position of the semiconductor device on the wafer, and manufacturing. The date is set for each chip as binary data, and is effective information for specifying each chip.
また、CRC演算の検査ビットとは、生成多項式を用いてチップ情報に対してCRC演算することで得た余りの値を指し、CRC演算では情報ビットと検査ビットとで巡回符号が構成される。CRC演算は、情報伝達に際して誤りが発生していないことを確認する演算であるが、本願では、CRC演算によって得られる検査ビットとチップ情報とを組み合わせることでユニークIDのランダム性をより高めるものである。 The check bit of CRC calculation indicates a remainder value obtained by performing CRC calculation on chip information using a generator polynomial. In CRC calculation, a cyclic code is configured by information bits and check bits. The CRC calculation is an operation for confirming that no error has occurred during information transmission. However, in the present application, the randomness of the unique ID is further enhanced by combining the check bit obtained by the CRC calculation and the chip information. is there.
セキュア機能の実現のために使用するユニークIDをSoC(System on Chip)ごとに割り付けるには、SoCにヒューズを実装し、製造過程においてユニークIDに合わせてレーザトリミングなどでヒューズを切断することでユニークIDを記録する。 In order to assign a unique ID to be used for realizing the secure function for each SoC (System on Chip), a fuse is mounted on the SoC, and the fuse is cut by laser trimming or the like according to the unique ID in the manufacturing process. Record the ID.
このような構成を採ることで、通常のCMOSプロセスで製造するSoCにおいても、ユニークIDを記録することができる。 By adopting such a configuration, a unique ID can be recorded even in a SoC manufactured by a normal CMOS process.
しかし、例えば、チップAのチップ情報が「111011」、チップBのチップ情報が「111111」である場合、チップAのチップ情報の0ビットがヒューズの故障等で1ビットに変わってしまった場合チップAとチップBのチップ情報が同一となってしまい、ユニークIDのセキュア機能が失われてしまう。 However, for example, when the chip information of the chip A is “1111011” and the chip information of the chip B is “111111”, the 0 bit of the chip information of the chip A is changed to 1 bit due to a fuse failure or the like. The chip information of A and chip B becomes the same, and the secure function of the unique ID is lost.
しかし、チップAのチップ情報「111011」に対してCRC演算を施して得られた検査ビットが「1100」であり、チップBのチップ情報「111111」に対してCRC演算を施して得られた検査ビットが「1001」であるならば、チップAのユニークIDは「1110111100」となり、チップBのユニークIDは「1111111001」となるので、両者のユニークIDは、3つのビットで相違することになる。 However, the inspection bit obtained by performing the CRC operation on the chip information “1111011” of the chip A is “1100”, and the inspection bit obtained by performing the CRC operation on the chip information “111111” of the chip B If the bit is “1001”, the unique ID of chip A is “1110111100”, and the unique ID of chip B is “1111111001”.
従って、ヒューズの故障等により、そのうちの1つのビットのデータが置き換わったとしても、チップAおよびチップBのユニークIDは同一とはならず、ユニークIDのセキュア機能を維持することができる。 Therefore, even if one bit of data is replaced due to a failure of the fuse or the like, the unique IDs of the chip A and the chip B are not the same, and the secure function of the unique ID can be maintained.
なお、本発明においては、情報伝達に際しての誤りを検証するために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)に対して、M(X)・Xn-mとした多項式をG(X)で割った余りを表す多項式R(X)によって検査ビットが得られる。 In the present invention, since CRC calculation is not used to verify errors in information transmission, a generally known generator polynomial G (X) may be used in CRC calculation. For example, G (X) = X 7 + X 3 +1 or G (X) = X 16 + X 12 + X 5 +1 may be used in accordance with the amount of chip information. Here, the former is a generator polynomial used for an operation called CRC7, and the latter is a generator polynomial used for an operation called CRC16. As an example of the CRC calculation, as described with reference to FIG. 1, when the unique ID is A0 to An, the chip information is A0 to Am, and the check bits are Am + 1 to An, the polynomial M (X) representing the chip information On the other hand, a check bit is obtained by a polynomial R (X) representing a remainder obtained by dividing a polynomial of M (X) · X nm by G (X).
図2(a)はユニークIDをSoC上に実装するためのヒューズボックス100を模式的に示す図であり、ヒューズボックス100内には、図1を用いて説明したA0〜Anビットにそれぞれ対応するようにn+1個のヒューズ10が配設されている。
FIG. 2A is a diagram schematically showing a
設定したユニークIDに合わせてヒューズ10をレーザトリミングなどで切断することで、ユニークIDが実装されることとなる。
By cutting the
図2(b)はヒューズボックス100におけるヒューズ10の切断、非切断と実装されるデータとの関係を示す図である。
FIG. 2B is a diagram illustrating a relationship between cutting and non-cutting of the
図2(b)に示すように、ヒューズ10を切断することでデータ「1」が実装され、ヒューズ10を切断しない場合にはデータ「0」が実装されることになる。
As shown in FIG. 2B, the data “1” is mounted by cutting the
また、図2(a)に示すように、ヒューズボックス100はパワーオンリセット信号PORによってA0〜Anビットのデータを確定する構成となっており、パワーオンリセット信号PORが「0」の状態でヒューズに電圧をかけてデータを確定し、電源投入時にパワーオンリセット信号PORを「0」から「1」に変化させることでデータをラッチする構成となっている。
Further, as shown in FIG. 2A, the
次に、図3を用いてヒューズボックス100へのユニークIDの実装工程について説明する。
Next, a process for mounting a unique ID in the
図3は半導体装置の製造工程を大まかに説明するフローチャートであり、ステップS1においてウェハ段階での各種製造工程(ウェハプロセス)を実施した後、ステップS2において、ウェハ段階での各種テスト(ウェハテスト1)を行う。 FIG. 3 is a flowchart for roughly explaining the manufacturing process of the semiconductor device. After performing various manufacturing processes (wafer processes) at the wafer stage in step S1, various tests (wafer test 1) at the wafer stage are performed in step S2. )I do.
その後、ステップS3においてヒューズボックス100にユニークIDを実装するためのトリミングデータの作成を行う。この工程では、先に説明したようにチップ情報に対してCRC演算を施して検査ビットを取得する工程を含んでおり、チップ情報と検査ビットとでトリミングデータが構成される。
Thereafter, trimming data for mounting a unique ID in the
そして、ステップS4では、ステップS3で得られたトリミングデータに基づいてレーザトリミングなどでヒューズボックス100内のヒューズ10を切断し、ユニークIDを実装する。
In step S4, the
その後、さらにウェハ段階での各種テスト(ウェハテスト2)を実行し(ステップS5)、ウェハ上に作り込まれた半導体装置をダイシングしてチップに切り分け、各チップをリードフレーム上に搭載してボンディングを行い、その後モールディングにより封止するなどのアセンブリ工程(ステップS6)を経てパッケージングされた半導体装置が完成する。 Thereafter, various tests (wafer test 2) are further performed at the wafer stage (step S5), the semiconductor device built on the wafer is diced into chips, and each chip is mounted on a lead frame and bonded. After that, the packaged semiconductor device is completed through an assembly process (step S6) such as sealing by molding.
次に、図4を用いて、本発明に係る半導体装置のユニークIDを実装したヒューズボックス100を備えたSoC1000の構成を説明する。
Next, the configuration of the
図4に示すようにSoC1000においては、ヒューズボックス100の他に、MPU(Micro Processing Unit)200(演算処理部)およびインターフェース部(I/F)300を備え、MPU200においてはヒューズボックス100からユニークIDの情報を受け、当該ユニークIDに基づいてセキュア機能の実現のための暗号化キーを生成する。そして、この暗号化キーを使用してデータの暗号化を行い、インターフェース部300を通して、外部装置400に転送する。
As shown in FIG. 4, the
例えば、外部装置400をHDD(Hard Disk Drive)のシステムとすれば、ハードディスクアセンブリにライトするデータの暗号化をユニークIDに基づいて実行することができる。
For example, if the
なお、暗号化キーの生成に際しては、ユニークIDをそのまま暗号化キーとして使用しても良く、また、他の情報と組み合わせて暗号化キーを生成しても良い。 When generating an encryption key, the unique ID may be used as it is as an encryption key, or an encryption key may be generated in combination with other information.
また、図1を用いて説明したユニークIDは、A0〜Amビットにはチップ情報が割り付けられ、Am+1〜AnビットにはCRC演算の検査ビットが割り付けられるものとして説明したが、この順番に限定されるものではなく、例えば図5に示すように、A0〜AmビットにはCRC演算の検査ビットが割り付けられ、Am+1〜Anビットにはチップ情報が割り付けられる構成としても良い。また、図6に示すように、A0〜Afビットにはチップ情報1が割り付けられ、Af+1〜AkビットにはCRC演算の検査ビットが割り付けられ、Ak+1〜Anビットにはチップ情報2が割り付けられる構成としても良い。ここで、チップ情報1および2は、全チップ情報を便宜的に2つに分けたもので、このような構成を採ることで、ユニークIDのランダム性がさらに高まり、セキュア機能をさらに高めることができる。
In addition, the unique ID described with reference to FIG. 1 has been described on the assumption that chip information is allocated to the A0 to Am bits and CRC check bits are allocated to the Am + 1 to An bits. However, the ID is limited to this order. For example, as shown in FIG. 5, CRC calculation check bits may be allocated to the A0 to Am bits, and chip information may be allocated to the Am + 1 to An bits. Also, as shown in FIG. 6,
また、チップ情報およびCRC演算の検査ビットを並べてユニークIDを構成する代わりに、チップ情報およびCRC演算の検査ビットを加算して得られたチェックサムデータをユニークIDとして使用しても良い。 Further, instead of arranging chip information and CRC calculation check bits to form a unique ID, checksum data obtained by adding chip information and CRC calculation check bits may be used as a unique ID.
この場合、例えば8ビットのデータを1単位として、16ビットや32ビットの加算用領域(レジスタ等)において足し合わせを行い、加算用領域から溢れた上位桁は無視するなどの処理を行って、得られた16ビットや32ビットの数値をチェックサムデータとする方法が考えられる。 In this case, for example, 8-bit data is set as one unit, addition is performed in a 16-bit or 32-bit addition area (register, etc.), and the upper digit overflowing from the addition area is ignored. A method of using the obtained 16-bit or 32-bit numerical value as checksum data is conceivable.
以上説明したように、本発明に係る実施の形態1のユニークIDにおいては、チップ情報およびCRC演算の検査ビットによりユニークIDを構成し、ヒューズに実装する構成を採用している。このため、チップ情報だけでユニークIDを構成する場合に比べて、ユニーク性を高めることができ、1つのビットに対応するヒューズに不具合が発生した場合に、同一のユニークIDが発生することを防止できる。 As described above, the unique ID according to the first embodiment of the present invention adopts a configuration in which the unique ID is configured by the chip information and the check bit of the CRC calculation and is mounted on the fuse. For this reason, the uniqueness can be improved as compared with the case where the unique ID is configured only by the chip information, and the occurrence of the same unique ID is prevented when a failure occurs in the fuse corresponding to one bit. it can.
また、チップ情報だけでユニークIDを構成すると、例えば1つのチップについてユニークIDが解読されると、その情報を基にその他のチップについてもユニークIDが容易に推測できてしまい、ユニークIDをセキュア機能実現のために使用しても、セキュア機能を果たせない可能性もあるが、CRC演算の検査ビットを合わせて使用することで、固定情報の割合が減り、ランダム性を高めることができる。 In addition, when a unique ID is configured only by chip information, for example, when the unique ID is decoded for one chip, the unique ID can be easily guessed for other chips based on the information, and the unique ID is secured. Even if used for realization, there is a possibility that the secure function cannot be achieved. However, by using the CRC calculation check bits together, the ratio of fixed information can be reduced and the randomness can be improved.
また、チップ情報だけでユニークIDを構成する場合に比べて情報を解読することが困難になり、SoC製造メーカーにとってエンドユーザーには知られたくない情報が知られてしまうことを防止できる。 In addition, it is difficult to decipher the information as compared with the case where the unique ID is configured only by the chip information, and it is possible to prevent the SoC manufacturer from knowing information that the end user does not want to know.
<実施の形態2>
以上説明した本発明に係る実施の形態1においては、ユニークIDを構成するチップ情報の設定方法については特に限定していなかったが、チップ情報の設定方法を工夫することでユニークIDのユニーク性をさらに高めることができる。
<
In the first embodiment according to the present invention described above, the setting method of the chip information constituting the unique ID is not particularly limited. However, the unique ID can be made unique by devising the setting method of the chip information. It can be further increased.
図7(a)、(b)、(c)は、チップ情報のうちウェハ上でのチップ位置の情報の設定例を表す図であり、チップ番号(No.)とチップ位置情報との関係を一覧表として示している。なお、図7(a)〜(c)においては、チップ位置情報をビットAm1〜Amnで与えるものとし、説明を簡潔にするためにビットAm1〜Amnを10ビットで構成するものとする。また、チップ番号は、ウェハ上でのチップ位置を特定するために、所定の規則に従って割り付けられた番号を指しており、チップ番号が判ればウェハ上のどの位置に作り込まれたチップであるかが判る。 7A, 7B, and 7C are diagrams showing setting examples of chip position information on the wafer in the chip information, and show the relationship between the chip number (No.) and the chip position information. It is shown as a list. 7A to 7C, chip position information is given by bits Am1 to Amn, and bits Am1 to Amn are made up of 10 bits for the sake of brevity. In addition, the chip number refers to a number assigned according to a predetermined rule in order to specify the chip position on the wafer. If the chip number is known, the chip is located on the wafer. I understand.
図7(a)ではチップ番号1の場合を「0000000001」とし、チップ番号が1つ繰り上がるごとにビットAm1〜Amnを10進数表記で1つずつ、すなわち01bずつ増加させるようにチップ位置情報を設定する例を示し、図7(b)ではチップ番号1の場合を「0000000001」とし、チップ番号が1つ繰り上がるごとにビットAm1〜Amnを10進数表記で2つずつ、すなわち10bずつ増加させるようにチップ位置情報を設定する例を示し、図7(c)ではチップ番号1の場合を「0000000001」とし、チップ番号が1つ繰り上がるごとにビットAm1〜Amnを10進数表記で3つずつ、すなわち11bずつ増加させるようにチップ位置情報を設定する例を示している。
In FIG. 7A,
図7(a)に示すように、1つずつの繰り上がりでは、チップ番号1のチップ位置情報は「0000000001」であり、チップ番号3のチップ位置情報は「0000000011」となるが、両者は下位2ビット目のみが異なるだけであり、その下位2ビット目に対応するヒューズに不具合が発生して異なる値を示した場合、両者は同一の値となってしまう。
As shown in FIG. 7A, in the case of moving up one by one, the chip position information of
同様に、図7(b)に示すように、2つずつの繰り上がりでは、チップ番号1のチップ位置情報は「0000000001」であり、チップ番号2のチップ位置情報は「0000000011」となるが、両者は下位2ビット目のみが異なるだけであり、その下位2ビット目に対応するヒューズに不具合が発生して異なる値を示した場合、両者は同一の値となってしまう。
Similarly, as shown in FIG. 7B, in the case of moving up two by two, the chip position information of
これは、1つずつあるいは、2つずつの繰り上げの場合に限定されるものではなく、4つずつ、8つずつのようにチップ位置情報の繰り上げ単位を2n(n=0,1,2,・・・:0以上の整数)とする場合には、何れか1つのビットに対応するヒューズに不具合が発生すると、同一のチップ位置情報が存在することになる。 This is not limited to the case of incrementing by one or two, but the increment unit of chip position information is 2 n (n = 0, 1, 2), such as four by eight. ,...: Integer greater than or equal to 0), if a failure occurs in a fuse corresponding to any one bit, the same chip position information exists.
一方、図7(c)に示すように、10進数表記で3つずつの繰り上がりでは、チップ番号1のチップ位置情報は「0000000001」であり、チップ番号2のチップ位置情報は「0000000100」となり、両者は最下位ビットおよび下位3ビット目が異なることとなり、1つのヒューズに不具合が発生するだけでは同一の値となる可能性が減少する。これは、他のチップ番号間においても同様である。
On the other hand, as shown in FIG. 7C, in the case of increments of 3 in decimal notation, the chip position information of
このように、チップ位置情報の繰り上げ単位を2n以外とすることで、ヒューズの1つに不具合が発生しただけでは同一のチップ位置情報が存在することになる可能性が低くなる。 Thus, by setting the unit for raising the chip position information to a value other than 2 n , it is less likely that the same chip position information exists if only one of the fuses malfunctions.
なお、上記においては、チップ情報のうちウェハ上でのチップ位置情報を例に採って説明したが、ロット番号、ウェハ番号および製造年月日に対しても同様に適用することは可能であり、これらについても適用することで、ユニークIDのユニーク性をさらに高めることができる。 In the above description, the chip position information on the wafer has been described as an example of the chip information. However, the same can be applied to the lot number, the wafer number, and the manufacturing date. By applying these also, the uniqueness of the unique ID can be further enhanced.
以上説明したように、本発明に係る実施の形態2のユニークIDにおいては、チップ情報の設定において、各情報の繰り上げ単位を10進数表記で2n以外とすることで、1つのビットに対応するヒューズに不具合が発生した場合に、同一のチップ情報が存在することになる可能性を低くすることができ、ユニークIDのユニーク性をさらに高めることができる。 As described above, in the unique ID according to the second embodiment of the present invention, when setting the chip information, the carry unit of each information is set to other than 2 n in decimal notation, so that it corresponds to one bit. When a defect occurs in the fuse, the possibility that the same chip information exists can be reduced, and the uniqueness of the unique ID can be further enhanced.
<実施の形態3>
以上説明した本発明に係る実施の形態1および2においては、ユニークIDの構成について説明したが、本発明に係る実施の形態3としては、実施の形態1および2において説明したユニークIDの検証方法について説明する。
<
In
図8は、図4を用いて説明したSoC1000にテスタ410を接続した構成を示すブロック図である。
FIG. 8 is a block diagram showing a configuration in which a
図8に示すように、SoC1000をインターフェース部300介してテスタ410に接続し、MPU200を介してヒューズボックス100からユニークIDを読み出して検証を行う。
As shown in FIG. 8, the
このとき、本発明に係る半導体装置のユニークIDにおいては、チップ情報とともにCRC演算の検査ビットを有しているので、テスタ410においては、CRC演算の検査ビットを検証することで、ユニークID全体の検証を行うことができる。
At this time, since the unique ID of the semiconductor device according to the present invention has the check bit for CRC calculation together with the chip information, the
以下、本発明に係る半導体装置のユニークIDの検証方法について、図9に示すフローチャートを用いて説明する。 Hereinafter, a method for verifying a unique ID of a semiconductor device according to the present invention will be described with reference to a flowchart shown in FIG.
図9に示すように、まずステップS11において、テスタ410からSoC1000のインターフェース部300を通してMPU200に命令を与え、ヒューズボックス100に実装されたユニークIDのデータを読み出してテスタ410に与える。
As shown in FIG. 9, first, in step S <b> 11, an instruction is given from the
ここで、読み出されるユニークIDは、図1に示したようにA0〜Anビットのデータで構成されている。 Here, the unique ID to be read is composed of data of A0 to An bits as shown in FIG.
次に、テスタ410において、ユニークIDのうち、A0〜Amビットに割り付けられたチップ情報に対してCRC演算を実行する(ステップS12)。
Next, in the
すなわち、テスタ410においては、ユニークIDを構成する検査ビットを算出するのに使用した生成多項式G(X)と同じものを有しており、A0〜Amビットのチップ情報に対してCRC演算を施す機能が備わっている。
That is, the
そして、ステップS13において、当該生成多項式G(X)を用いてチップ情報に対してCRC演算を施すことで得られた余りの値と、ユニークIDのうち、Am+1〜Anビットに割り付けられた検査ビットとを比較し、両者が一致していれば検証対象のSoC1000は、ユニークIDに不具合が存在しない良品であると判断する。一方、両者が一致しない場合は、検証対象のSoC1000のユニークIDには不具合が存在していると判断する。
Then, in step S13, the remainder value obtained by performing CRC calculation on the chip information using the generator polynomial G (X) and the check bits assigned to Am + 1 to An bits among the unique IDs If the two match, the
なお、上記説明においては図1に示したユニークIDを例としたが、図5および図6に示したユニークIDに対しても同様に検証可能である。 In the above description, the unique ID shown in FIG. 1 is taken as an example, but the unique ID shown in FIGS. 5 and 6 can be similarly verified.
また、当該生成多項式G(X)を用いてチップ情報に対してCRC演算することで得られた余りの値と、ユニークIDのうち、Am+1〜Anビットに割り付けられた検査ビットとを比較し、両者が一致していれば検証対象のSoC1000は、ユニークIDに不具合が存在しない良品であると判断するとしたが、チップ情報およびCRC演算の検査ビットを含めた多項式を当該生成多項式G(X)で割り、その余りの値が0であれば良品であると判断することでもよい。
Further, the remainder value obtained by performing CRC operation on the chip information using the generator polynomial G (X) is compared with the check bits assigned to Am + 1 to An bits in the unique ID, If the two match, the
以上説明したように、本発明に係る実施の形態3のユニークIDの検証方法によれば、テスタ410においてCRC演算の検査ビットを検証するだけで、ユニークID全体の検証を行うことができるので、各チップにおけるユニークIDの不具合発生の有無を容易に検証することができる。
As described above, according to the unique ID verification method of the third embodiment of the present invention, it is possible to verify the entire unique ID only by verifying the check bit of the CRC calculation in the
<変形例>
以上説明した本発明に係る実施の形態3において説明したユニークIDの検証方法では、SoC1000に接続した外部のテスタでユニークIDの検証を行う例を示したが、ユニークIDの検証をSoC1000内のMPU200で実行しても良い。
<Modification>
In the unique ID verification method described in the third embodiment of the present invention described above, an example in which the unique ID is verified by an external tester connected to the
以下、本発明に係るユニークIDの検証方法の変形例について、図10に示すフローチャートを用いて説明する。 Hereinafter, a modified example of the unique ID verification method according to the present invention will be described with reference to the flowchart shown in FIG.
図10に示すように、まずステップS21において、テスタ410からSoC1000のインターフェース部300を通してMPU200に命令を与え、ヒューズボックス100に実装されたユニークIDのデータを読み出す。そして、MPU200においてユニークIDのうち、A0〜Amビットに割り付けられたチップ情報に対してCRC演算を実行させる。
As shown in FIG. 10, first, in step S21, an instruction is given from the
すなわち、MPU200においては、ユニークIDを構成する検査ビットを算出するのに使用した生成多項式G(X)と同じものを有しており、A0〜Amビットのチップ情報に対してCRC演算を施す機能が備わっている。
In other words, the
そして、MPU200において、当該生成多項式G(X)を用いてチップ情報に対してCRC演算することで得られた余りの値と、ユニークIDのうち、Am+1〜Anビットに割り付けられた検査ビットとを比較する(ステップS22)。
Then, the
その後、ステップS23において、テスタ410からSoC1000のインターフェース部300を通してMPU200に命令を与え、ステップS22おいて得られた比較結果の情報を読み出してテスタ410に与える。
Thereafter, in step S23, an instruction is given from the
テスタ410においては、比較結果が一致した旨の情報を得た場合は、検証対象のSoC1000は、ユニークIDに不具合が存在しない良品であると判断し、比較結果が一致しない旨の情報を得た場合は、検証対象のSoC1000のユニークIDには不具合が存在していると判断する。
In the
また、MPU200において当該生成多項式G(X)を用いてチップ情報に対してCRC演算することで得られた余りの値と、ユニークIDのうち、Am+1〜Anビットに割り付けられた検査ビットとの比較をし、テスタ410においてその比較結果が一致した旨の情報を得た場合、検証対象のSoC1000は、ユニークIDに不具合が存在しない良品であると判断するとしたが、MPU200においてチップ情報およびCRC演算の検査ビットを含めた多項式を当該生成多項式G(X)で割り、その余りのちを0と比較し、テスタ410においてその比較結果が一致した旨の情報を得た場合、検証対象のSoC1000は、ユニークIDに不具合が存在しない良品であると判断することでもよい。
Further, the
以上説明したユニークIDの検証方法の変形例においては、MPU200においてCRC演算の検査ビットを検証するだけで、ユニークID全体の検証を行うことができるので、各チップにおけるユニークIDの不具合発生の有無を容易に検証することができる。また、MPU200においてCRC演算の検査ビットを検証し、比較結果の情報のみをテスタ410に与えるので、実施の形態3において説明したユニークIDの検証方法に比べて、インターフェース部300におけるテスト用のピン数が少なくて済むという利点もある。
In the modification of the unique ID verification method described above, the
Claims (6)
前記半導体装置のユニークIDは、
前記半導体装置の製造時の情報を含んだ固有のチップ情報と、
前記チップ情報に対して巡回冗長検査演算を施して得られた検査ビットとを含む、半導体装置のユニークID。 A unique ID of the semiconductor device set uniquely for the semiconductor device,
The unique ID of the semiconductor device is
Unique chip information including information at the time of manufacturing the semiconductor device;
A unique ID of the semiconductor device, including a check bit obtained by performing a cyclic redundancy check operation on the chip information.
前記半導体装置のユニークIDは、
前記複数のヒューズに対して、切断状態および非切断状態を作り込むことで前記半導体装置に実装される、請求項1記載の半導体装置のユニークID。 The semiconductor device includes a plurality of fuses,
The unique ID of the semiconductor device is
The unique ID of the semiconductor device according to claim 1, wherein the semiconductor device is mounted on the semiconductor device by creating a cut state and a non-cut state for the plurality of fuses.
前記半導体装置の製造時のロット番号、前記半導体装置が形成されたウェハのウェハ番号、前記ウェハ上での前記半導体装置の位置を特定するチップ位置および製造年月日の少なくとも1つを含む、請求項2記載の半導体装置のユニークID。 The chip information is
At least one of a lot number at the time of manufacturing the semiconductor device, a wafer number of a wafer on which the semiconductor device is formed, a chip position specifying the position of the semiconductor device on the wafer, and a manufacturing date. Item 15. A unique ID of the semiconductor device according to Item 2.
前記繰り上げの単位は、10進数表記で2n(n=0,1,2,・・)以外である、請求項3記載の半導体装置のユニークID。 The chip information defines each information by regularly moving binary data,
4. The semiconductor device unique ID according to claim 3, wherein the unit of the carry is other than 2n (n = 0, 1, 2,...) In decimal notation.
(a)前記半導体装置に接続されたテスタに前記半導体装置のユニークIDを読み出すステップと、
(b)前記テスタにおいて、前記半導体装置のユニークIDの前記チップ情報に対して前記巡回冗長検査演算を施すステップと、
(c)前記巡回冗長検査演算で得られた余りの値と、前記半導体装置のユニークIDの検査ビットとを比較して、前記半導体装置のユニークIDの良否を判断するステップと、を備える半導体装置のユニークIDの検証方法。 A method for verifying a unique ID of a semiconductor device according to claim 1, comprising:
(a) reading a unique ID of the semiconductor device to a tester connected to the semiconductor device;
(b) performing the cyclic redundancy check operation on the chip information of the unique ID of the semiconductor device in the tester;
(c) comparing a remainder value obtained by the cyclic redundancy check operation with a check bit of the unique ID of the semiconductor device to determine whether the unique ID of the semiconductor device is good or bad. Unique ID verification method.
前記半導体装置は内部に演算処理部を備え、
(a)前記半導体装置に接続されたテスタから前記演算処理部に指示を与えて、前記半導体装置のユニークIDの前記チップ情報に対して前記巡回冗長検査演算を施すステップと、
(b)前記巡回冗長検査演算で得られた余りの値と、前記半導体装置のユニークIDの検査ビットとを比較するステップと、
(c)前記比較結果の情報を前記テスタに読み出して、前記半導体装置のユニークIDの良否を判断するステップと、を備える半導体装置のユニークIDの検証方法。
A method for verifying a unique ID of a semiconductor device according to claim 1, comprising:
The semiconductor device includes an arithmetic processing unit therein,
(a) giving an instruction to the arithmetic processing unit from a tester connected to the semiconductor device, and performing the cyclic redundancy check operation on the chip information of the unique ID of the semiconductor device;
(b) comparing a remainder value obtained by the cyclic redundancy check operation with a check bit of the unique ID of the semiconductor device;
(c) reading the information of the comparison result to the tester and determining whether the unique ID of the semiconductor device is good or bad.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006178000A JP2008010549A (en) | 2006-06-28 | 2006-06-28 | Unique id for semiconductor device, and method to verify the same |
TW096118513A TW200807425A (en) | 2006-06-05 | 2007-05-24 | Semiconductor device, unique ID of semiconductor device and method for verifying unique ID |
US11/806,226 US7809997B2 (en) | 2006-06-05 | 2007-05-30 | Semiconductor device, unique ID of semiconductor device and method for verifying unique ID |
KR1020070054305A KR20070116551A (en) | 2006-06-05 | 2007-06-04 | Semiconductor device, unique id of semiconductor device and method for verifying unique id |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006178000A JP2008010549A (en) | 2006-06-28 | 2006-06-28 | Unique id for semiconductor device, and method to verify the same |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008010549A true JP2008010549A (en) | 2008-01-17 |
Family
ID=39068511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006178000A Pending JP2008010549A (en) | 2006-06-05 | 2006-06-28 | Unique id for semiconductor device, and method to verify the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008010549A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019215724A (en) * | 2018-06-13 | 2019-12-19 | ラピスセミコンダクタ株式会社 | Semiconductor device |
-
2006
- 2006-06-28 JP JP2006178000A patent/JP2008010549A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019215724A (en) * | 2018-06-13 | 2019-12-19 | ラピスセミコンダクタ株式会社 | Semiconductor device |
US10971237B2 (en) | 2018-06-13 | 2021-04-06 | Lapis Semiconductor Co., Ltd. | Semiconductor device |
JP7141858B2 (en) | 2018-06-13 | 2022-09-26 | ラピスセミコンダクタ株式会社 | semiconductor equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7809997B2 (en) | Semiconductor device, unique ID of semiconductor device and method for verifying unique ID | |
US7328384B1 (en) | Method and apparatus using device defects as an identifier | |
JP5113074B2 (en) | Information security device | |
KR101366376B1 (en) | Signal generator based device security | |
Hiller et al. | Cherry-picking reliable PUF bits with differential sequence coding | |
JP2005234883A (en) | Method for writing/reading out in/from storage device, and data storage system | |
US6600686B2 (en) | Apparatus for recognizing chip identification and semiconductor device comprising the apparatus | |
CN102714060A (en) | Paired programmable fuses | |
Tshagharyan et al. | An effective functional safety solution for automotive systems-on-chip | |
US9705501B2 (en) | Systems and methods for enhancing confidentiality via logic gate encryption | |
JP2010244596A (en) | Integrated circuit | |
US20070234138A1 (en) | Semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
US7545934B2 (en) | Security information packaging system, LSI, and security information packaging method | |
Shaheen et al. | Advanced ECC solution for automotive SoCs | |
JP2007179450A (en) | Semiconductor integrated circuit | |
CN102971984B (en) | Method for authenticating a storage device and host device | |
US7191339B1 (en) | System and method for using a PLD identification code | |
JP4880999B2 (en) | Semiconductor integrated circuit and inspection method thereof | |
JP2007011871A (en) | Confidential information implementation system and lsi | |
JP2008010549A (en) | Unique id for semiconductor device, and method to verify the same | |
CN101086757A (en) | Semiconductor device, unique ID of semiconductor device and method for verifying unique ID | |
Sargsyan | ISO 26262 compliant memory BIST architecture | |
JP6898921B2 (en) | Lifecycle state encryption management | |
TWI400708B (en) | Fuse apparatus for controlling built-in self stress and control method thereof | |
JP3606788B2 (en) | Semiconductor integrated circuit and inspection method for semiconductor integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Effective date: 20080711 Free format text: JAPANESE INTERMEDIATE CODE: A7424 |