(57)【要約】【課題】  半導体集積回路内に記憶した識別情報の厳密性を保証する。【解決手段】  コンピュータを用いて、半導体集積回路を識別する方法では、コンピュータが有するプロセッサが、メモリブロック内の不良のメモリセル群を非選択にする制御情報を、メモリブロックの試験結果に基づいて生成し、識別情報が登録されているデータベースに、制御情報の値と同じ値の識別情報が登録されているか否かを判定し、制御情報の値と同じ値の識別情報がデータベースに登録されていないとき、半導体集積回路内の不揮発性記憶素子に制御情報の値を記憶し、制御情報の値と同じ値の識別情報がデータベースに登録されているとき、データベースに登録されていない値に制御情報の値を変更し、変更した制御情報の値を不揮発性記憶素子に記憶し、メモリブロックの再試験の結果が正しいとき、不揮発性記憶素子に記憶した値を識別情報としてデータベースに登録する。【選択図】  図２
2014203506.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて、メモリセル群と不良のメモリセル群の代わりに使用される冗長メモリセル群とを含むメモリブロックを有する半導体集積回路を識別する方法であって、
前記コンピュータが有するプロセッサが、前記メモリブロックを試験し、
前記プロセッサが、前記メモリブロック内の前記不良のメモリセル群を非選択にする制御情報を、前記メモリブロックの試験結果に基づいて生成し、
前記プロセッサが、前記半導体集積回路の識別情報が登録されているデータベースに、前記制御情報の値と同じ値の前記識別情報が登録されているか否かを判定し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されていないとき、前記半導体集積回路内の不揮発性記憶素子に前記制御情報の値を記憶し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されているとき、前記プロセッサが、前記データベースに登録されていない値に前記制御情報の値を変更可能か判定し、前記制御情報の値が変更可能であるとき、前記データベースに登録されていない値に前記制御情報の値を変更し、変更した前記制御情報の値を前記不揮発性記憶素子に記憶し、
前記制御情報の値を前記不揮発性記憶素子に記憶した後、前記プロセッサが、前記メモリブロックを再度試験し、
前記メモリブロックの再試験の結果が正しいとき、前記不揮発性記憶素子に記憶した値を前記識別情報として前記データベースに登録する
ことを特徴とする半導体集積回路の識別方法。
【請求項２】
請求項１記載の半導体集積回路の識別方法において、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不良のメモリセル群が選択されないようにする
ことを特徴とする半導体集積回路の識別方法。
【請求項３】
請求項１または請求項２に記載の半導体集積回路の識別方法において、
前記プロセッサが、前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不揮発性記憶素子に対する書き込みが少ない値を前記データベースに登録されていない値の中から優先的に選択して、前記制御情報の値を変更する
ことを特徴とする半導体集積回路の識別方法。
【請求項４】
請求項１または請求項２に記載の半導体集積回路の識別方法において、
前記プロセッサが、前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記冗長メモリセル群への切り替えを正常な前記メモリブロックで発生させない値を前記データベースに登録されていない値の中から優先的に選択して、前記制御情報の値を変更する
ことを特徴とする半導体集積回路の識別方法。
【請求項５】
メモリセル群と不良のメモリセル群の代わりに使用される冗長メモリセル群とを含むメモリブロックを有する半導体集積回路の識別情報が登録されるデータベースと、
前記半導体集積回路に前記識別情報を付与する試験装置とを備え、
前記試験装置は、
前記メモリブロックを試験し、
前記メモリブロック内の前記不良のメモリセル群を非選択にする制御情報を、前記メモリブロックの試験結果に基づいて生成し、
前記データベースに、前記制御情報の値と同じ値の前記識別情報が登録されているか否かを判定し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されていないとき、前記半導体集積回路内の不揮発性記憶素子に前記制御情報の値を記憶し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されているとき、前記データベースに登録されていない値に前記制御情報の値を変更可能か判定し、前記制御情報の値が変更可能であるとき、前記データベースに登録されていない値に前記制御情報の値を変更し、変更した前記制御情報の値を前記不揮発性記憶素子に記憶し、
前記制御情報の値を前記不揮発性記憶素子に記憶した後、前記メモリブロックを再度試験し、
前記メモリブロックの再試験の結果が正しいとき、前記不揮発性記憶素子に記憶した値を前記識別情報として前記データベースに登録する
ことを特徴とする識別情報生成システム。
【請求項６】
請求項５記載の識別情報生成システムにおいて、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不良のメモリセル群が選択されないようにする
ことを特徴とする識別情報生成システム。
【請求項７】
メモリセル群と不良のメモリセル群の代わりに使用される冗長メモリセル群とを含むメモリブロックを有する半導体集積回路の識別情報を生成する処理をコンピュータに実行させる識別情報生成プログラムであって、
前記コンピュータに、
前記メモリブロックを試験させ、
前記メモリブロック内の前記不良のメモリセル群を非選択にする制御情報を、前記メモリブロックの試験結果に基づいて生成させ、
前記半導体集積回路の識別情報が登録されているデータベースに、前記制御情報の値と同じ値の前記識別情報が登録されているか否かを判定させ、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されていないとき、前記半導体集積回路内の不揮発性記憶素子に前記制御情報の値を記憶させ、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されているとき、前記データベースに登録されていない値に前記制御情報の値を変更可能か判定させ、前記制御情報の値が変更可能であるとき、前記データベースに登録されていない値に前記制御情報の値を変更させ、変更した前記制御情報の値を前記不揮発性記憶素子に記憶させ、
前記制御情報の値を前記不揮発性記憶素子に記憶した後、前記メモリブロックを再度試験させ、
前記メモリブロックの再試験の結果が正しいとき、前記不揮発性記憶素子に記憶した値を前記識別情報として前記データベースに登録させる
ことを特徴とする識別情報生成プログラム。
【請求項８】
請求項７記載の識別情報生成プログラムにおいて、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不良のメモリセル群が選択されないようにする
ことを特徴とする識別情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の識別方法、識別情報生成システムおよび識別情報生成プログラムに関する。
【背景技術】
【０００２】
半導体集積回路の識別情報は、例えば、半導体集積回路の製造時期等を特定するトレーサビリティ、半導体集積回路を搭載した機器の認証情報、暗号鍵等に使用される。例えば、識別情報を記憶する専用の不揮発性記憶素子を有する半導体集積回路が提案されている（例えば、特許文献１参照）。
【０００３】
近年、ＳＲＡＭ（Static Random Access Memory）の特性のばらつきにより生成されるランダムなデータを識別情報として利用する技術が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２１３４６４号公報
【特許文献２】特開２０１２−７３９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
識別情報を記憶する専用の不揮発性記憶素子を有する半導体集積回路は、例えば、専用の不揮発性記憶素子の分だけ回路面積が大きくなる。また、識別情報の生成にＳＲＡＭの特性ばらつきを利用する方法では、ばらつきの経時変化等により、識別情報の値が変化するおそれがある。このため、識別情報の生成にＳＲＡＭの特性ばらつきを利用する方法は、識別情報の値が変化しないことを前提とした用途（例えば、認証情報、暗号鍵）には、適していない。
【０００６】
１つの側面では、本件開示の半導体集積回路の識別方法、識別情報生成システムおよび識別情報生成プログラムは、半導体集積回路内に記憶した識別情報の厳密性を保証することを目的とする。
【課題を解決するための手段】
【０００７】
一観点によれば、コンピュータを用いて、半導体集積回路を識別する方法では、コンピュータが有するプロセッサが、メモリブロックを試験し、メモリブロック内の不良のメモリセル群を非選択にする制御情報を、メモリブロックの試験結果に基づいて生成し、半導体集積回路の識別情報が登録されているデータベースに、制御情報の値と同じ値の識別情報が登録されているか否かを判定し、制御情報の値と同じ値の識別情報がデータベースに登録されていないとき、半導体集積回路内の不揮発性記憶素子に制御情報の値を記憶し、制御情報の値と同じ値の識別情報がデータベースに登録されているとき、データベースに登録されていない値に制御情報の値を変更可能か判定し、制御情報の値が変更可能であるとき、データベースに登録されていない値に制御情報の値を変更し、変更した制御情報の値を不揮発性記憶素子に記憶し、制御情報の値を不揮発性記憶素子に記憶した後、メモリブロックを再度試験し、メモリブロックの再試験の結果が正しいとき、不揮発性記憶素子に記憶した値を識別情報としてデータベースに登録する。
【０００８】
別の観点によれば、識別情報生成システムは、メモリセル群と不良のメモリセル群の代わりに使用される冗長メモリセル群とを含むメモリブロックを有する半導体集積回路の識別情報が登録されるデータベースと、半導体集積回路に識別情報を付与する試験装置とを有し、試験装置は、メモリブロックを試験し、メモリブロック内の不良のメモリセル群を非選択にする制御情報を、メモリブロックの試験結果に基づいて生成し、データベースに、制御情報の値と同じ値の識別情報が登録されているか否かを判定し、制御情報の値と同じ値の識別情報がデータベースに登録されていないとき、半導体集積回路内の不揮発性記憶素子に制御情報の値を記憶し、制御情報の値と同じ値の識別情報がデータベースに登録されているとき、データベースに登録されていない値に制御情報の値を変更可能か判定し、制御情報の値が変更可能であるとき、データベースに登録されていない値に制御情報の値を変更し、変更した制御情報の値を不揮発性記憶素子に記憶し、制御情報の値を不揮発性記憶素子に記憶した後、メモリブロックを再度試験し、メモリブロックの再試験の結果が正しいとき、不揮発性記憶素子に記憶した値を識別情報としてデータベースに登録する。
【０００９】
別の観点によれば、識別情報生成プログラムは、コンピュータに、メモリブロックを試験させ、メモリブロック内の不良のメモリセル群を非選択にする制御情報を、メモリブロックの試験結果に基づいて生成させ、半導体集積回路の識別情報が登録されているデータベースに、制御情報の値と同じ値の識別情報が登録されているか否かを判定させ、制御情報の値と同じ値の識別情報がデータベースに登録されていないとき、半導体集積回路内の不揮発性記憶素子に制御情報の値を記憶させ、制御情報の値と同じ値の識別情報がデータベースに登録されているとき、データベースに登録されていない値に制御情報の値を変更可能か判定させ、制御情報の値が変更可能であるとき、データベースに登録されていない値に制御情報の値を変更させ、変更した制御情報の値を不揮発性記憶素子に記憶させ、制御情報の値を不揮発性記憶素子に記憶した後、メモリブロックを再度試験させ、メモリブロックの再試験の結果が正しいとき、不揮発性記憶素子に記憶した値を識別情報としてデータベースに登録させる。
【発明の効果】
【００１０】
本件開示の半導体集積回路の識別方法、識別情報生成システムおよび識別情報生成プログラムは、半導体集積回路内に記憶した識別情報の厳密性を保証できる。
【図面の簡単な説明】
【００１１】
【図１】半導体集積回路の識別方法、識別情報生成システムおよび識別情報生成プログラムの一実施形態を示す図である。
【図２】図１に示した識別情報生成システムの動作の一例を示す図である。
【図３】識別情報が付与される半導体集積回路の別の例を示す図である。
【図４】試験装置のハードウエア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、実施形態を図面を用いて説明する。
【００１３】
図１は、半導体集積回路の識別方法、識別情報生成システムおよび識別情報生成プログラムの一実施形態を示している。この実施形態の識別情報生成システムＳＹＳは、半導体集積回路ＣＨＩＰに識別情報を付与する試験装置ＴＳＴと、半導体集積回路ＣＨＩＰの識別情報が登録されるデータベースＤＢとを有している。なお、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰに識別情報を付与する試験装置の一例である。識別情報は、例えば、半導体集積回路ＣＨＩＰを識別するための情報（値）である。
【００１４】
データベースＤＢには、例えば、識別情報と任意の内容である追加情報とが登録される。例えば、識別情報が半導体集積回路ＣＨＩＰの製造時期等を特定するトレーサビリティに使用される場合、データベースＤＢには、製造時期等の追加情報が識別情報に対応して登録される。なお、識別情報の用途は、トレーサビリティに限定されない。例えば、識別情報は、半導体集積回路ＣＨＩＰを搭載した機器の認証情報、暗号鍵等に使用されてもよい。また、データベースＤＢの書式は、図１の例に限定されない。例えば、追加情報は、省かれてもよい。
【００１５】
半導体集積回路ＣＨＩＰは、メモリセル群ＭＣＧと不良のメモリセル群ＭＣＧの代わりに使用される冗長メモリセル群ＭＣＧｒとを含むメモリブロックＭＢＬＫを有する半導体集積回路の一例である。例えば、半導体集積回路ＣＨＩＰは、３個のメモリブロックＭＢＬＫ（ＭＢＬＫ１、ＭＢＬＫ２、ＭＢＬＫ３）と不揮発性記憶素子ＮＶＭとを有している。なお、半導体集積回路ＣＨＩＰの構成は、図１の例に限定されない。例えば、メモリブロックＭＢＬＫの数は、３個以外でもよい。図の×印は、メモリブロックＭＢＬＫ内に不良のメモリセル群ＭＣＧが存在することを示している。
【００１６】
メモリブロックＭＢＬＫ１は、７個のメモリセル群ＭＣＧ（ＭＣＧ１−ＭＣＧ７）と、冗長メモリセル群ＭＣＧｒと、７個のセレクタＳＥＬ（ＳＥＬ１−ＳＥＬ７）とを有している。メモリセル群ＭＣＧは、例えば、半導体メモリである。なお、メモリセル群ＭＣＧの数は、７個に限定されない。また、冗長メモリセル群ＭＣＧｒの数は、１個に限定されない。
【００１７】
冗長メモリセル群ＭＣＧｒは、例えば、メモリセル群ＭＣＧ１−ＭＣＧ７に不良のメモリセル群ＭＣＧが存在するとき、不良のメモリセル群ＭＣＧの代わりに使用される半導体メモリである。図１の例では、メモリブロックＭＢＬＫ１内の不良のメモリセル群ＭＣＧは、メモリセル群ＭＣＧ４である。この場合、冗長メモリセル群ＭＣＧｒは、メモリセル群ＭＣＧ４の代わりに使用される。以下、冗長メモリセル群ＭＣＧｒをメモリセル群ＭＣＧｒとも称する。
【００１８】
セレクタＳＥＬは、不揮発性記憶素子ＮＶＭに記憶されている制御情報を受ける。制御情報は、例えば、メモリブロックＭＢＬＫ内の不良のメモリセル群ＭＣＧを非選択にする制御情報である。例えば、制御情報は、非選択にするメモリセル群ＭＣＧのアドレスを示す情報である。すなわち、制御情報は、例えば、メモリブロックＭＢＬＫ内の不良のメモリセル群ＭＣＧ以外のメモリセル群ＭＣＧとセレクタＳＥＬとを選択するための制御情報である。以下、制御情報を選択制御情報とも称する。例えば、セレクタＳＥＬは、選択制御情報に基づいて、接続先のメモリセル群ＭＣＧを選択する。
【００１９】
例えば、選択制御情報がメモリセル群ＭＣＧ４のアドレスを示している場合、セレクタＳＥＬ１−ＳＥＬ７は、メモリセル群ＭＣＧ１−ＭＣＧ３、ＭＣＧ５−ＭＣＧ７、ＭＣＧｒにそれぞれ接続される。すなわち、メモリセル群ＭＣＧ４は、セレクタＳＥＬ１−ＳＥＬ７のいずれにも接続されない。これにより、メモリブロックＭＢＬＫ１は、正常な７個のメモリセル群ＭＣＧ（ＭＣＧ１−ＭＣＧ３、ＭＣＧ５−ＭＣＧ７、ＭＣＧｒ）を使用できる。
【００２０】
メモリブロックＭＢＬＫ２、ＭＢＬＫ３の構成は、メモリブロックＭＢＬＫ１と同様である。なお、メモリブロックＭＢＬＫ内のメモリセル群ＭＣＧの数は、メモリブロックＭＢＬＫ１、ＭＢＬＫ２、ＭＢＬＫ３で異なっていてもよい。
【００２１】
不揮発性記憶素子ＮＶＭは、例えば、過電圧または過電流により切断されるヒューズを利用してデータを記憶する。ヒューズは、レーザ光の照射により切断されるタイプでもよい。なお、不揮発性記憶素子ＮＶＭは、ヒューズを利用しないタイプの不揮発性メモリでもよい。不揮発性記憶素子ＮＶＭには、例えば、メモリブロックＭＢＬＫ１、ＭＢＬＫ２、ＭＢＬＫ３のそれぞれの選択制御情報が記憶されている。図１の不揮発性記憶素子ＮＶＭ内の破線枠内の数字は、メモリブロックＭＢＬＫ１、ＭＢＬＫ２、ＭＢＬＫ３のそれぞれの選択制御情報の一例を示している。
【００２２】
例えば、メモリブロックＭＢＬＫ１の選択制御情報“１００”は、メモリセル群ＭＣＧ４を非選択にすることを示している。また、メモリブロックＭＢＬＫ２の選択制御情報“０００”は、冗長メモリセル群ＭＣＧｒを非選択にすることを示している。すなわち、メモリブロックＭＢＬＫ２のメモリセル群ＭＣＧ１−ＭＣＧ７には、不良は存在していない。また、メモリブロックＭＢＬＫ３の選択制御情報“０１１”は、メモリセル群ＭＣＧ３を非選択にすることを示している。
【００２３】
なお、この実施形態では、試験装置ＴＳＴは、識別情報として使用可能な選択制御情報を、不揮発性記憶素子ＮＶＭに記憶する。すなわち、不揮発性記憶素子ＮＶＭに記憶された情報は、選択制御情報の他に、識別情報としても使用される。図１の例では、不揮発性記憶素子ＮＶＭに記憶されているメモリブロックＭＢＬＫ１、ＭＢＬＫ２、ＭＢＬＫ３の選択制御情報“１００００００１１”は、半導体集積回路ＣＨＩＰの識別情報としても使用され、データベースＤＢの３行目に登録されている。
【００２４】
図２は、図１に示した識別情報生成システムＳＹＳの動作の一例を示している。すなわち、図２は、半導体集積回路の識別方法の一例を示している。図２の動作は、ハードウエアのみで実現されてもよく、ハードウエアをソフトウエアにより制御することにより実現されてもよい。例えば、識別情報生成プログラム等のソフトウエアは、コンピュータに図２の動作を実行させてもよい。すなわち、コンピュータは、識別情報生成プログラムを記録した記憶媒体を読み取り、図２の動作を実行してもよい。
【００２５】
ステップＳ１００では、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰ内の全てのメモリブロックＭＢＬＫを試験する。例えば、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧがメモリブロックＭＢＬＫに存在するか検出する。なお、ステップＳ１００の試験では、半導体集積回路ＣＨＩＰ内の不揮発性記憶素子ＮＶＭは、例えば、書き込みが実行されていない初期状態である。
【００２６】
ステップＳ１１０では、試験装置ＴＳＴは、全てのメモリブロックＭＢＬＫが修復可能であるか判定する。例えば、試験装置ＴＳＴは、各メモリブロックＭＢＬＫの不良のメモリセル群ＭＣＧの数が各メモリブロックＭＢＬＫの冗長メモリセル群ＭＣＧｒの数以下のとき、各メモリブロックＭＢＬＫは修復可能であると判定する。すなわち、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧが存在しない場合も、メモリブロックＭＢＬＫは修復可能であると判定する。
【００２７】
全てのメモリブロックＭＢＬＫが修復可能であるとき（ステップＳ１１０のＹｅｓ）、試験装置ＴＳＴの動作は、ステップＳ１２０に移る。一方、少なくとも１つのメモリブロックＭＢＬＫが修復不可能であるとき（ステップＳ１１０のＮｏ）、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰを不良品として処理し、識別情報の生成処理を終了する。
【００２８】
ステップＳ１２０では、試験装置ＴＳＴは、ステップＳ１００で実行した試験の結果に基づいて、選択制御情報を生成する。例えば、試験装置ＴＳＴは、ステップＳ１００で不良のメモリセル群ＭＣＧを検出した場合、不良のメモリセル群を選択しないようにする選択制御情報を生成する。これにより、冗長メモリセル群ＭＣＧｒが不良のメモリセル群ＭＣＧの代わりに使用される。あるいは、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧが存在しない場合、冗長メモリセル群ＭＣＧｒを選択しないようにする選択制御情報を生成する。
【００２９】
ステップＳ１３０では、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報の値がデータベースＤＢに存在するか否かを判定する。すなわち、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報の値と同じ値の識別情報がデータベースＤＢに登録されているか否かを判定する。これにより、ステップＳ１２０で生成した選択制御情報が識別情報として使用可能か否かが判定される。
【００３０】
選択制御情報の値がデータベースＤＢに存在するとき（ステップＳ１３０のＹｅｓ）、試験装置ＴＳＴの動作は、ステップＳ１４０に移る。一方、選択制御情報の値がデータベースＤＢに存在しないとき（ステップＳ１３０のＮｏ）、試験装置ＴＳＴの動作は、ステップＳ１６０に移る。すなわち、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報の値がデータベースＤＢに存在しないとき、ステップＳ１２０で生成した選択制御情報を識別情報としても使用することに決定する。
【００３１】
ステップＳ１４０、Ｓ１５０、Ｓ１５２、Ｓ１５４の一連の処理は、ステップＳ１２０で生成した選択制御情報の値をデータベースＤＢに登録されていない値に変更可能か否か判定する処理の一例である。例えば、不良のメモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒの数より少ないメモリブロックＭＢＬＫの選択制御情報は、全体の選択制御情報のうちの変更可能な部分である。以下、選択制御情報のうちの変更可能な部分以外の部分を変更不可部とも称する。
【００３２】
例えば、選択制御情報のうちの変更不可部の値と同じ値を変更不可部に対応する部分に有する識別情報が、データベースＤＢに登録されていない識別情報の中に存在する場合、選択制御情報の値は、データベースＤＢに登録されていない値に変更可能である。なお、変更不可部は、例えば、全体の選択制御情報のうち、不良のメモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒの数と同じメモリブロックＭＢＬＫの選択制御情報である。
【００３３】
ステップＳ１４０では、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報が変更可能な部分を含む選択制御情報か否かを判定する。すなわち、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒの数より少ないメモリブロックＭＢＬＫが存在するか否かを判定する。
【００３４】
ステップＳ１２０で生成した選択制御情報が変更可能な部分を含む選択制御情報であるとき（ステップＳ１４０のＹｅｓ）、試験装置ＴＳＴの動作は、ステップＳ１５０に移る。すなわち、不良のメモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒの数より少ないメモリブロックＭＢＬＫが存在するとき、試験装置ＴＳＴの動作は、ステップＳ１５０に移る。
【００３５】
一方、ステップＳ１２０で生成した選択制御情報が変更可能な部分を含む選択制御情報でないとき（ステップＳ１４０のＮｏ）、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰを不良品として処理し、識別情報の生成処理を終了する。すなわち、不良のメモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒの数より少ないメモリブロックＭＢＬＫが存在しないとき、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰを不良品として処理し、識別情報の生成処理を終了する。
【００３６】
ステップＳ１５０では、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報の値を変更する。例えば、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒの数より少ないメモリブロックＭＢＬＫの選択制御情報（変更可能な部分）の値を変更する。なお、選択制御情報の値を変更する際には、例えば、不良のメモリセル群ＭＣＧが選択されないようにする。
【００３７】
ステップＳ１５２では、試験装置ＴＳＴは、ステップＳ１５０で変更した選択制御情報の値がデータベースＤＢに存在するか否かを判定する。すなわち、試験装置ＴＳＴは、ステップＳ１５０で変更した選択制御情報の値と同じ値の識別情報がデータベースＤＢに登録されているか否かを判定する。これにより、ステップＳ１５０で変更した選択制御情報が識別情報として使用可能か否かが判定される。
【００３８】
選択制御情報の値がデータベースＤＢに存在するとき（ステップＳ１５２のＹｅｓ）、試験装置ＴＳＴの動作は、ステップＳ１５４に移る。一方、選択制御情報の値がデータベースＤＢに存在しないとき（ステップＳ１５４のＮｏ）、試験装置ＴＳＴの動作は、ステップＳ１６０に移る。すなわち、試験装置ＴＳＴは、ステップＳ１５０で変更した選択制御情報の値がデータベースＤＢに存在しないとき、ステップＳ１５０で変更した選択制御情報を識別情報としても使用することに決定する。
【００３９】
ステップＳ１５４では、試験装置ＴＳＴは、選択制御情報のうちの変更可能な部分の値の変更を全ての組み合わせで試行したか否かを判定する。例えば、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒの数より少ないメモリブロックＭＢＬＫの選択制御情報の値の変更を全ての組み合わせで試行したか否かを判定する。
【００４０】
選択制御情報のうちの変更可能な部分の値の全ての組み合わせのうち、少なくとも１つの組み合わせが試行されていないとき（ステップＳ１５４のＮｏ）、試験装置ＴＳＴの動作は、ステップＳ１５０に戻る。すなわち、選択制御情報のうちの変更可能な部分の値の全ての組み合わせのうち、少なくとも１つの組み合わせが試行されていないとき、試験装置ＴＳＴは、ステップＳ１５０において、選択制御情報の値を、試行されていない組み合わせの値に変更する。
【００４１】
一方、選択制御情報のうちの変更可能な部分の値の変更を全ての組み合わせで試行しているとき（ステップＳ１５４のＹｅｓ）、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰを不良品として処理し、識別情報の生成処理を終了する。すなわち、試験装置ＴＳＴは、選択制御情報のうちの変更可能な部分の値の変更を全ての組み合わせで試行しても、データベースＤＢに登録されていない値が見つからない場合、選択制御情報を変更できないと判定する。
【００４２】
このように、ステップＳ１４０、Ｓ１５０、Ｓ１５２、Ｓ１５４の一連の処理では、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報の値をデータベースＤＢに登録されていない値に変更可能か否かを判定する。そして、試験装置ＴＳＴは、選択制御情報の値が変更可能であるとき、ステップＳ１２０で生成した選択制御情報の値をデータベースＤＢに登録されていない値に変更する。
【００４３】
図１の例では、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧが存在しないメモリブロックＭＢＬＫの選択制御情報を変更することにより、変更した部分の選択制御情報を含む全体の選択制御情報の値がデータベースＤＢに登録されていない値になるか否かを判定する。例えば、試験装置ＴＳＴは、データベースＤＢに識別情報“１００００００１１”を登録した後に、図１に示した状態と同様の不良を有する半導体集積回路ＣＨＩＰを試験した場合、ステップＳ１４０−Ｓ１５４において、以下のように動作する。試験装置ＴＳＴは、メモリブロックＭＢＬＫ２の３ビットの選択制御情報を変更することにより、メモリブロックＭＢＬＫ２の変更した選択制御情報（３ビット）を含む９ビットの選択制御情報の値がデータベースＤＢに登録されていない値になるか否かを判定する。
【００４４】
例えば、試験装置ＴＳＴは、ステップＳ１５０において、メモリブロックＭＢＬＫ２の３ビットの選択制御情報の値を“０００”から“００１”に変更する。これにより、全体の選択制御情報の値は、“１００００００１１”から“１００００１０１１”に変更される。そして、例えば、データベースＤＢに識別情報“１００００１０１１”が登録されていない場合（ステップＳ１５２のＮｏ）、試験装置ＴＳＴの動作は、ステップＳ１６０に移る。
【００４５】
なお、例えば、データベースＤＢに識別情報“１００００１０１１”が登録されている場合（ステップＳ１５２のＹｅｓ）、試験装置ＴＳＴは、ステップＳ１５０を再度実行する。例えば、試験装置ＴＳＴは、メモリブロックＭＢＬＫ２の３ビットの選択制御情報の値を“００１”から“０１０”に変更する。これにより、全体の選択制御情報の値は、“１００００１０１１”から“１０００１００１１”に変更される。なお、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧが存在しないメモリブロックＭＢＬＫ２の３ビットの選択制御情報の値の変更を全ての組み合わせで試行しても、データベースＤＢに登録されていない値が見つからない場合、選択制御情報を変更できないと判定する。
【００４６】
このように、試験装置ＴＳＴは、例えば、ステップＳ１００の試験で不良が検出されない半導体集積回路ＣＨＩＰが複数生産された場合でも、複数の半導体集積回路ＣＨＩＰにそれぞれ固有の識別情報を付与できる。例えば、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報が他の半導体集積回路ＣＨＩＰと一致する場合、正常なメモリブロックＭＢＬＫの選択制御情報を変更し、全体の選択制御情報を半導体集積回路ＣＨＩＰ固有の値にする。これにより、識別情報としても使用可能な選択制御情報が生成される。
【００４７】
ステップＳ１６０では、試験装置ＴＳＴは、選択制御情報を半導体集積回路ＣＨＩＰ内の不揮発性記憶素子ＮＶＭに書き込む。例えば、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報の値がデータベースＤＢに登録されていないとき、ステップＳ１２０で生成した選択制御情報の値を不揮発性記憶素子ＮＶＭに記憶する。また、例えば、試験装置ＴＳＴは、ステップＳ１２０で生成した選択制御情報の値がデータベースＤＢに登録されているとき、ステップＳ１５０で変更した選択制御情報の値を不揮発性記憶素子ＮＶＭに記憶する。
【００４８】
ステップＳ１７０では、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰ内の全てのメモリブロックＭＢＬＫを再度試験する。例えば、試験装置ＴＳＴは、不良のメモリセル群ＭＣＧがメモリブロックＭＢＬＫに存在するか検出する。なお、ステップＳ１７０の試験では、半導体集積回路ＣＨＩＰ内の不揮発性記憶素子ＮＶＭのデータは、ステップＳ１６０で更新されている。このため、ステップＳ１７０では、例えば、ステップＳ１６０で書き込まれた選択制御情報に基づいて選択されたメモリセル群ＭＣＧが試験される。
【００４９】
ステップＳ１８０では、試験装置ＴＳＴは、全てのメモリブロックＭＢＬＫが良品（正常）か否かを判定する。全てのメモリブロックＭＢＬＫが良品のとき（ステップＳ１８０のＹｅｓ）、試験装置ＴＳＴの動作は、ステップＳ１９０に移る。一方、少なくとも１つのメモリブロックＭＢＬＫに不良が存在するとき（ステップＳ１８０のＮｏ）、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰを不良品として処理し、識別情報の生成処理を終了する。
【００５０】
ステップＳ１９０では、試験装置ＴＳＴは、ステップＳ１６０で不揮発性記憶素子ＮＶＭに書き込んだ選択制御情報の値を、データベースＤＢに登録する。これにより、不揮発性記憶素子ＮＶＭに記憶されている選択制御情報が識別情報としてデータベースＤＢに登録される。
【００５１】
このように、試験装置ＴＳＴは、識別情報としても使用可能な選択制御情報を生成する。そして、試験装置ＴＳＴは、生成した選択制御情報を不揮発性記憶素子ＮＶＭに書き込むとともに、識別情報としてデータベースＤＢに登録する。これにより、この実施形態では、識別情報を記憶する専用の記憶素子を半導体集積回路ＣＨＩＰに追加することなく、半導体集積回路ＣＨＩＰ内に記憶した識別情報の厳密性を保証できる。
【００５２】
なお、識別情報生成システムＳＹＳの動作は、この例に限定されない。例えば、データベースＤＢに登録されていない識別情報が検索可能に管理されている場合、ステップＳ１５２、Ｓ１５４は、省かれてもよい。この場合、例えば、試験装置ＴＳＴは、ステップＳ１５０の前に、選択制御情報のうちの変更不可部の値と同じ値を変更不可部に対応する部分に有する識別情報を、データベースＤＢに登録されていない識別情報の中から検索する。
【００５３】
そして、例えば、試験装置ＴＳＴは、選択制御情報のうちの変更不可部の値と同じ値を変更不可部に対応する部分に有する識別情報を検出した場合、ステップＳ１５０において、データベースＤＢに登録されていない値（検出した値）に選択制御情報の値を変更する。なお、データベースＤＢに登録されていない値に選択制御情報の値を変更する際には、例えば、不良のメモリセル群ＭＣＧが選択されないようにする。
【００５４】
また、試験装置ＴＳＴは、選択制御情報のうちの変更不可部の値と同じ値を変更不可部に対応する部分に有する識別情報を検出できなかった場合、選択制御情報を変更できないと判定する。この場合、試験装置ＴＳＴは、半導体集積回路ＣＨＩＰを不良品として処理し、識別情報の生成処理を終了する。このように、試験装置ＴＳＴは、データベースＤＢに登録されていない識別情報を検索することにより、選択制御情報の値をデータベースＤＢに登録されていない値に変更可能か否かを判定してもよい。
【００５５】
また、例えば、試験装置ＴＳＴは、ステップＳ１５０において、不揮発性記憶素子ＮＶＭに対する書き込みが少ない値をデータベースＤＢに登録されていない値の中から優先的に選択して、選択制御情報の値を変更してもよい。すなわち、試験装置ＴＳＴは、データベースＤＢに登録されていない値に選択制御情報の値を変更する際に、不揮発性記憶素子ＮＶＭに対する書き込みが少ない値をデータベースＤＢに登録されていない値の中から優先的に選択して、選択制御情報の値を変更してもよい。この場合、識別情報の書き込み時間および書き込み不良を削減できる。
【００５６】
あるいは、試験装置ＴＳＴは、選択制御情報を例外の値（非選択にするメモリセル群ＭＣＧが定義されていない値）に設定できる場合、ステップＳ１５０において、図３で説明するような動作を実行してもよい。
【００５７】
図３は、識別情報が付与される半導体集積回路の別の例を示している。なお、図３は、選択制御情報を例外の値（非選択にするメモリセル群ＭＣＧが定義されていない値）に設定可能な半導体集積回路ＣＨＩＰａの一例を示している。例えば、選択制御情報が例外の値に設定された場合、冗長メモリセル群ＭＣＧｒへの切り替えは実行されない。
【００５８】
図の×印の意味および破線枠内の数字の意味は、図１と同様である。また、破線枠内の括弧内の数字は、変更前の選択制御情報の値を示している。例えば、破線枠内の括弧内に示した“０００”は、図２のステップＳ１２０で生成される選択制御情報のうちのメモリブロックＭＢＬＫ１の選択制御情報の値であり、不揮発性記憶素子ＮＶＭには書き込まれていない。
【００５９】
図３に示した半導体集積回路ＣＨＩＰａは、メモリブロックＭＢＬＫ内のメモリセル群ＭＣＧおよびセレクタＳＥＬの数を除いて、図１に示した半導体集積回路ＣＨＩＰと同様である。図１および図２で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。
【００６０】
例えば、半導体集積回路ＣＨＩＰａの各メモリブロックＭＢＬＫ（ＭＢＬＫ１−ＭＢＬＫ３）は、４個のメモリセル群ＭＣＧ（ＭＣＧ１−ＭＣＧ４）と、冗長メモリセル群ＭＣＧｒと、４個のセレクタＳＥＬ（ＳＥＬ１−ＳＥＬ４）とを有している。各メモリブロックＭＢＬＫの選択制御情報は、メモリセル群ＭＣＧの数が冗長メモリセル群ＭＣＧｒを含めて５個であるため、３ビットである。
【００６１】
例えば、選択制御情報が“０００”のとき、セレクタＳＥＬ１−ＳＥＬ４は、冗長メモリセル群ＭＣＧｒへの切り替えを実行しない。すなわち、セレクタＳＥＬ１−ＳＥＬ４は、メモリセル群ＭＣＧ１−ＭＣＧ４にそれぞれ接続される。
【００６２】
選択制御情報が“００１”のとき、切り替え対象のメモリセル群ＭＣＧは、メモリセル群ＭＣＧ１である。したがって、選択制御情報が“００１”のとき、セレクタＳＥＬ１−ＳＥＬ４は、メモリセル群ＭＣＧ２−ＭＣＧ３、ＭＣＧｒにそれぞれ接続される。
【００６３】
選択制御情報が“０１０”のとき、切り替え対象のメモリセル群ＭＣＧは、メモリセル群ＭＣＧ２である。したがって、選択制御情報が“０１０”のとき、セレクタＳＥＬ１−ＳＥＬ４は、メモリセル群ＭＣＧ１、ＭＣＧ３、ＭＣＧ４、ＭＣＧｒにそれぞれ接続される。
【００６４】
選択制御情報が“０１１”のとき、切り替え対象のメモリセル群ＭＣＧは、メモリセル群ＭＣＧ３である。したがって、選択制御情報が“０１１”のとき、セレクタＳＥＬ１−ＳＥＬ４は、メモリセル群ＭＣＧ１、ＭＣＧ２、ＭＣＧ４、ＭＣＧｒにそれぞれ接続される。
【００６５】
選択制御情報が“１００”のとき、切り替え対象のメモリセル群ＭＣＧは、メモリセル群ＭＣＧ４である。したがって、選択制御情報が“１００”のとき、セレクタＳＥＬ１−ＳＥＬ４は、メモリセル群ＭＣＧ１−ＭＣＧ３、ＭＣＧｒにそれぞれ接続される。
【００６６】
このように、切り替え対象のメモリセル群ＭＣＧ等の情報は、“０００”から“１００”までの選択制御情報に割り当てられている。したがって、“１０１”、“１１０”および“１１１”は、例外の値である。このため、各メモリブロックＭＢＬＫのセレクタＳＥＬ１−ＳＥＬ４は、選択制御情報が例外の値（１０１、１１０、１１１）のとき、メモリセル群ＭＣＧ１−ＭＣＧ４にそれぞれ接続される。すなわち、選択制御情報が例外の値（１０１、１１０、１１１）のとき、冗長メモリセル群ＭＣＧｒへの切り替えは実行されない。
【００６７】
したがって、試験装置ＴＳＴは、例えば、図２のステップＳ１５０において、正常なメモリブロックＭＢＬＫの選択制御情報が例外の値になる識別情報の値を、データベースＤＢに登録されていない値の中から優先的に選択する。すなわち、試験装置ＴＳＴは、データベースＤＢに登録されていない値に選択制御情報の値を変更する際に、正常なメモリブロックＭＢＬＫの選択制御情報が例外の値になる識別情報の値を、データベースＤＢに登録されていない値の中から優先的に選択する。例えば、試験装置ＴＳＴは、データベースＤＢに識別情報“０００００００１１”が登録され、識別情報“１０１００００１１”が登録されていない場合、正常なメモリブロックＭＢＬＫ１の選択制御情報が“１０１”になる識別情報“１０１００００１１”を選択する。
【００６８】
ここで、例えば、冗長メモリセル群ＭＣＧｒに不良が存在し、他のメモリセル群ＭＣＧに不良が存在していないメモリブロックＭＢＬＫは、冗長メモリセル群ＭＣＧｒへの切り替えが実行されることにより、正常から不良に変化する。この場合、冗長メモリセル群ＭＣＧｒへの切り替えが発生しない例外の値に選択制御情報の値を変更することにより、正常なメモリブロックＭＢＬＫが不良になることを防止できる。
【００６９】
例えば、図３のメモリブロックＭＢＬＫ１では、不揮発性記憶素子ＮＶＭに“１０１００００１１”が書き込まれても、冗長メモリセル群ＭＣＧｒへの切り替えは発生しない。このため、この実施形態では、冗長メモリセル群ＭＣＧｒに不良が存在する場合にも、正常なメモリブロックＭＢＬＫが不良になることを防止できる。なお、正常なメモリブロックＭＢＬＫの選択制御情報が例外の値になる選択候補（識別情報の値）が全てデータベースＤＢに登録されている場合、試験装置ＴＳＴは、冗長メモリセル群ＭＣＧｒへの切り替えが実行される値に、選択制御情報の値を変更してもよい。
【００７０】
このように、試験装置ＴＳＴは、データベースＤＢに登録されていない値に選択制御情報の値を変更する際に、冗長メモリセル群ＭＣＧｒへの切り替えを正常なメモリブロックＭＢＬＫで発生させない値を、データベースＤＢに登録されていない値の中から優先的に選択してもよい。すなわち、試験装置ＴＳＴは、冗長メモリセル群ＭＣＧｒへの切り替えを正常なメモリブロックＭＢＬＫで発生させない値をデータベースＤＢに登録されていない値の中から優先的に選択して、選択制御情報の値を変更してもよい。この場合、正常なメモリブロックＭＢＬＫが選択制御情報の変更に起因して不良になることを低減できる。
【００７１】
以上、図１から図３に示した実施形態の半導体集積回路の識別方法および識別情報生成システムＳＹＳは、メモリセル群ＭＣＧと冗長メモリセル群ＭＣＧｒとを含むメモリブロックＭＢＬＫを有する半導体集積回路ＣＨＩＰ、ＣＨＩＰａに識別情報を付与する。例えば、この実施形態では、図２のステップＳ１２０において、メモリブロックＭＢＬＫ内の不良のメモリセル群ＭＣＧを非選択にする選択制御情報を、メモリブロックＭＢＬＫの試験結果に基づいて生成する。そして、この実施形態では、ステップＳ１２０で生成した選択制御情報の値がデータベースＤＢに登録されていないとき、ステップＳ１２０で生成した選択制御情報の値を不揮発性記憶素子ＮＶＭに記憶する。
【００７２】
また、この実施形態では、ステップＳ１２０で生成した選択制御情報の値がデータベースＤＢに登録されているとき、データベースＤＢに登録されていない値に選択制御情報の値を変更可能か判定する。そして、この実施形態では、ステップＳ１２０で生成した選択制御情報の値が変更可能であるとき、データベースＤＢに登録されていない値に選択制御情報の値を変更し、変更した選択制御情報の値を不揮発性記憶素子ＮＶＭに記憶する。
【００７３】
すなわち、この実施形態では、ステップＳ１２０で生成した選択制御情報が他の半導体集積回路ＣＨＩＰと一致する場合、正常なメモリブロックＭＢＬＫの選択制御情報を変更し、全体の選択制御情報を半導体集積回路ＣＨＩＰ固有の値にする。これにより、この実施形態では、他の半導体集積回路ＣＨＩＰと重複しない半導体集積回路ＣＨＩＰ固有の識別情報を生成できる。
【００７４】
さらに、この実施形態では、選択制御情報の値を不揮発性記憶素子ＮＶＭに記憶した後に実行するメモリブロックＭＢＬＫの再試験の結果が正しいとき、不揮発性記憶素子ＮＶＭに記憶した値をデータベースＤＢに登録する。
【００７５】
このように、この実施形態では、メモリブロックＭＢＬＫ用の不揮発性記憶素子ＮＶＭに記憶する選択制御情報を識別情報として使用可能に変更しているため、識別情報を記憶する専用の記憶素子等の追加回路を使用しない。このため、この実施形態では、識別情報を記憶する専用のヒューズを使用する方法に比べて、半導体集積回路ＣＨＩＰの回路面積を削減できる。例えば、識別情報のビット数が数十から数百ビットで、１ビット分のヒューズが否定論理積回路換算で数百ゲート相当の面積の場合、数千から数万ゲートの面積が削減される。
【００７６】
また、この実施形態では、識別情報が不揮発性記憶素子ＮＶＭに記憶されるため、不揮発性記憶素子ＮＶＭに記憶した識別情報の厳密性を保証できる。例えば、この実施形態では、素子の特性ばらつきに依存した値を識別情報に利用する方法に比べて、識別情報の読み出し値の再現性を向上できる。すなわち、この実施形態では、識別情報の値が半導体集積回路ＣＨＩＰから読み出される度に変化することを防止できる。また、例えば、この実施形態では、半導体集積回路ＣＨＩＰ内に記憶した識別情報が経時変化することを防止できる。
【００７７】
すなわち、この実施形態では、半導体集積回路ＣＨＩＰ、ＣＨＩＰａの回路面積の増加を抑制しつつ、半導体集積回路ＣＨＩＰ、ＣＨＩＰａ内に記憶した識別情報の厳密性を保証できる。例えば、この実施形態では、識別情報を記憶する専用の記憶素子を半導体集積回路ＣＨＩＰ、ＣＨＩＰａに追加することなく、半導体集積回路ＣＨＩＰ、ＣＨＩＰａ内に記憶した識別情報の厳密性を保証できる。
【００７８】
さらに、この実施形態では、データベースＤＢに登録されていない値に選択制御情報の値を変更する際に、不揮発性記憶素子ＮＶＭに対する書き込みが少ない値をデータベースＤＢに登録されていない値の中から優先的に選択して、選択制御情報の値を変更してもよい。この場合、識別情報の書き込み時間および書き込み不良を削減できる。
【００７９】
あるいは、この実施形態では、データベースＤＢに登録されていない値に選択制御情報の値を変更する際に、冗長メモリセル群ＭＣＧｒへの切り替えを正常なメモリブロックＭＢＬＫで発生させない値を、データベースＤＢに登録されていない値の中から優先的に選択してもよい。この場合、正常なメモリブロックＭＢＬＫが選択制御情報の変更に起因して不良になることを防止できる。
【００８０】
図１から図３に示した実施形態の試験装置ＴＳＴは、例えば、パーソナルコンピュータ等のコンピュータを用いて実現することができる。
【００８１】
図４は、試験装置ＴＳＴのハードウエア構成の一例を示している。なお、図１から図１３で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。
【００８２】
コンピュータＣＰは、例えば、プロセッサＰＵと、メモリＭＥＭと、ハードディスク装置ＨＤＤと、外部インタフェースＯＩＦと、出力部ＯＵＴＵと、入力部ＩＮＵと、光学ドライブ装置ＯＤＲとを有している。プロセッサＰＵと、メモリＭＥＭと、ハードディスク装置ＨＤＤと、外部インタフェースＯＩＦと、出力部ＯＵＴＵと、入力部ＩＮＵと、光学ドライブ装置ＯＤＲとは、バスを介して互いに接続されている。
【００８３】
また、コンピュータＣＰは、コンピュータＣＰの外部の装置に、外部インタフェースＯＩＦを介して接続される。例えば、コンピュータＣＰは、半導体集積回路ＣＨＩＰを試験する際に使用される接続装置ＴＩＦに、外部インタフェースＯＩＦを介して接続されている。また、コンピュータＣＰは、例えば、データベースＤＢを記憶している記憶装置に外部インタフェースＯＩＦを介して接続されている。なお、データベースＤＢは、メモリＭＥＭやハードディスク装置ＨＤＤに格納されてもよい。
【００８４】
メモリＭＥＭは、例えば、コンピュータＣＰのオペレーティングシステムを格納している。また、メモリＭＥＭは、例えば、図２の動作をプロセッサＰＵが実行するための識別情報生成プログラム等のソフトウエアを格納している。なお、識別情報生成プログラム等のソフトウエアは、ハードディスク装置ＨＤＤに格納されてもよい。
【００８５】
そして、プロセッサＰＵは、例えば、メモリＭＥＭ等に格納された識別情報生成プログラムを実行することにより、図１に示した試験装置ＴＳＴの機能を実現する。例えば、図１に示した試験装置ＴＳＴは、プロセッサＰＵと、メモリＭＥＭと、ハードディスク装置ＨＤＤと、外部インタフェースＯＩＦとの協同により実現される。したがって、例えば、図１に示した識別情報生成システムＳＹＳは、コンピュータＣＰとデータベースＤＢとにより実現される。
【００８６】
光学ドライブ装置ＯＤＲは、光ディスク等のリムーバブルディスクＤＩＳを装着可能であり、装着したリムーバブルディスクＤＩＳに記録された情報の読み出しおよび記録を行う。識別情報生成プログラム等のソフトウエアは、例えば、光ディスクなどのリムーバブルディスクＤＩＳに記録して頒布することができる。例えば、コンピュータＣＰは、識別情報生成プログラム等のソフトウエアを、リムーバブルディスクＤＩＳから光学ドライブ装置ＯＤＲを介して読み出し、メモリＭＥＭやハードディスク装置ＨＤＤに格納してもよい。また、コンピュータＣＰは、識別情報生成プログラム等のソフトウエアを、インターネット等のネットワークに接続する通信装置を介してダウンロードし、メモリＭＥＭやハードディスク装置ＨＤＤに格納してもよい。
【００８７】
出力部ＯＵＴＰは、例えば、プロセッサＰＵにより実行された処理の結果を出力するユニットである。出力部ＯＵＴＰの一例は、ディスプレイ、タッチパネル、スピーカー等である。また、入力部ＩＮＵは、例えば、ユーザからの操作を受け、コンピュータＣＰにデータを入力するユニットである。入力部ＩＮＵの一例は、キーボード、マウス、タッチパネル等である。
【００８８】
なお、コンピュータＣＰと接続される接続装置ＴＩＦは、例えば、半導体集積回路ＣＨＩＰと試験装置ＴＳＴとを接続する装置である。例えば、接続装置ＴＩＦは、試験装置ＴＳＴから受ける信号等を半導体集積回路ＣＨＩＰに出力し、半導体集積回路ＣＨＩＰから受ける信号等を試験装置ＴＳＴに出力する。例えば、図２の動作が半導体ウエハ上の半導体集積回路ＣＨＩＰに対して実行される場合、接続装置ＴＩＦは、プローバ等である。また、例えば、図２の動作がパッケージに封入された半導体集積回路ＣＨＩＰに対して実行される場合、接続装置ＴＩＦは、テストボード等である。
【００８９】
試験装置ＴＳＴのハードウエア構成は、図４の例に限定されない。例えば、コンピュータＣＰは、識別情報生成プログラム等のソフトウエアを、光ディスク以外の記憶媒体から読み出し、メモリＭＥＭやハードディスク装置ＨＤＤに格納してもよい。この場合、コンピュータＣＰは、識別情報生成プログラム等のソフトウエアが記録された記憶媒体に対応したインタフェースを有している。すなわち、識別情報生成プログラム等のソフトウエアは、例えば、光ディスク以外の記憶媒体に記録されてもよい。
【００９０】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
コンピュータを用いて、メモリセル群と不良のメモリセル群の代わりに使用される冗長メモリセル群とを含むメモリブロックを有する半導体集積回路を識別する方法であって、
前記コンピュータが有するプロセッサが、前記メモリブロックを試験し、
前記プロセッサが、前記メモリブロック内の前記不良のメモリセル群を非選択にする制御情報を、前記メモリブロックの試験結果に基づいて生成し、
前記プロセッサが、前記半導体集積回路の識別情報が登録されているデータベースに、前記制御情報の値と同じ値の前記識別情報が登録されているか否かを判定し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されていないとき、前記半導体集積回路内の不揮発性記憶素子に前記制御情報の値を記憶し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されているとき、前記プロセッサが、前記データベースに登録されていない値に前記制御情報の値を変更可能か判定し、前記制御情報の値が変更可能であるとき、前記データベースに登録されていない値に前記制御情報の値を変更し、変更した前記制御情報の値を前記不揮発性記憶素子に記憶し、
前記制御情報の値を前記不揮発性記憶素子に記憶した後、前記プロセッサが、前記メモリブロックを再度試験し、
前記メモリブロックの再試験の結果が正しいとき、前記不揮発性記憶素子に記憶した値を前記識別情報として前記データベースに登録する
ことを特徴とする半導体集積回路の識別方法。
（付記２）
付記１記載の半導体集積回路の識別方法において、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不良のメモリセル群が選択されないようにする
ことを特徴とする半導体集積回路の識別方法。
（付記３）
付記１または付記２に記載の半導体集積回路の識別方法において、
前記プロセッサが、前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不揮発性記憶素子に対する書き込みが少ない値を前記データベースに登録されていない値の中から優先的に選択して、前記制御情報の値を変更する
ことを特徴とする半導体集積回路の識別方法。
（付記４）
付記１または付記２に記載の半導体集積回路の識別方法において、
前記プロセッサが、前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記冗長メモリセル群への切り替えを正常な前記メモリブロックで発生させない値を前記データベースに登録されていない値の中から優先的に選択して、前記制御情報の値を変更する
ことを特徴とする半導体集積回路の識別方法。
（付記５）
メモリセル群と不良のメモリセル群の代わりに使用される冗長メモリセル群とを含むメモリブロックを有する半導体集積回路の識別情報が登録されるデータベースと、
前記半導体集積回路に前記識別情報を付与する試験装置とを備え、
前記試験装置は、
前記メモリブロックを試験し、
前記メモリブロック内の前記不良のメモリセル群を非選択にする制御情報を、前記メモリブロックの試験結果に基づいて生成し、
前記データベースに、前記制御情報の値と同じ値の前記識別情報が登録されているか否かを判定し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されていないとき、前記半導体集積回路内の不揮発性記憶素子に前記制御情報の値を記憶し、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されているとき、前記データベースに登録されていない値に前記制御情報の値を変更可能か判定し、前記制御情報の値が変更可能であるとき、前記データベースに登録されていない値に前記制御情報の値を変更し、変更した前記制御情報の値を前記不揮発性記憶素子に記憶し、
前記制御情報の値を前記不揮発性記憶素子に記憶した後、前記メモリブロックを再度試験し、
前記メモリブロックの再試験の結果が正しいとき、前記不揮発性記憶素子に記憶した値を前記識別情報として前記データベースに登録する
ことを特徴とする識別情報生成システム。
（付記６）
付記５記載の識別情報生成システムにおいて、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不良のメモリセル群が選択されないようにする
ことを特徴とする識別情報生成システム。
（付記７）
付記５または付記６に記載の識別情報生成システムにおいて、
前記試験装置は、前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不揮発性記憶素子に対する書き込みが少ない値を前記データベースに登録されていない値の中から優先的に選択して、前記制御情報の値を変更する
ことを特徴とする識別情報生成システム。
（付記８）
付記５または付記６に記載の識別情報生成システムにおいて、
前記試験装置は、前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記冗長メモリセル群への切り替えを正常な前記メモリブロックで発生させない値を前記データベースに登録されていない値の中から優先的に選択して、前記制御情報の値を変更する
ことを特徴とする識別情報生成システム。
（付記９）
メモリセル群と不良のメモリセル群の代わりに使用される冗長メモリセル群とを含むメモリブロックを有する半導体集積回路の識別情報を生成する処理をコンピュータに実行させる識別情報生成プログラムであって、
前記コンピュータに、
前記メモリブロックを試験させ、
前記メモリブロック内の前記不良のメモリセル群を非選択にする制御情報を、前記メモリブロックの試験結果に基づいて生成させ、
前記半導体集積回路の識別情報が登録されているデータベースに、前記制御情報の値と同じ値の前記識別情報が登録されているか否かを判定させ、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されていないとき、前記半導体集積回路内の不揮発性記憶素子に前記制御情報の値を記憶させ、
前記制御情報の値と同じ値の前記識別情報が前記データベースに登録されているとき、前記データベースに登録されていない値に前記制御情報の値を変更可能か判定させ、前記制御情報の値が変更可能であるとき、前記データベースに登録されていない値に前記制御情報の値を変更させ、変更した前記制御情報の値を前記不揮発性記憶素子に記憶させ、
前記制御情報の値を前記不揮発性記憶素子に記憶した後、前記メモリブロックを再度試験させ、
前記メモリブロックの再試験の結果が正しいとき、前記不揮発性記憶素子に記憶した値を前記識別情報として前記データベースに登録させる
ことを特徴とする識別情報生成プログラム。
（付記１０）
付記９記載の識別情報生成プログラムにおいて、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不良のメモリセル群が選択されないようにする
ことを特徴とする識別情報生成プログラム。
（付記１１）
付記９または付記１０に記載の識別情報生成プログラムにおいて、
前記コンピュータに、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記不揮発性記憶素子に対する書き込みが少ない値を前記データベースに登録されていない値の中から優先的に選択させ、前記制御情報の値を変更させる
ことを特徴とする識別情報生成プログラム。
（付記１２）
付記９または付記１０に記載の識別情報生成プログラムにおいて、
前記コンピュータに、
前記データベースに登録されていない値に前記制御情報の値を変更する際に、前記冗長メモリセル群への切り替えを正常な前記メモリブロックで発生させない値を前記データベースに登録されていない値の中から優先的に選択させ、前記制御情報の値を変更させる
ことを特徴とする識別情報生成プログラム。
【００９１】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【００９２】
ＣＨＩＰ、ＣＨＩＰａ‥半導体集積回路；ＣＰ‥コンピュータ；ＤＢ‥データベース；ＤＩＳ‥リムーバブルディスク；ＭＢＬＫ１、ＭＢＬＫ２、ＭＢＬＫ３‥メモリブロック；ＭＣＧ１−ＭＣＧ７‥メモリセル群；ＭＣＧｒ‥冗長メモリセル群；ＭＥＭ‥メモリ；ＨＤＤ‥ハードディスク装置；ＩＮＵ‥入力部；ＮＶＭ‥不揮発性記憶素子；ＯＤＲ‥光学ドライブ装置；ＯＩＦ‥外部インタフェース；ＯＵＴＵ‥出力部；ＰＵ‥プロセッサ；ＳＥＬ１−ＳＥＬ７‥セレクタ；ＴＳＴ‥試験装置
【図１】
2014203506.tif 000003
【図２】
2014203506.tif 000004
【図３】
2014203506.tif 000005
【図４】
2014203506.tif 000006