(57)【特許請求の範囲】
【請求項１】
記憶の読み出し／更新動作に用いる第１の電源電圧及び評価用に用いる第２の電源電圧の供給を受けることができる複数のメモリセルが配列されたメモリセルアレイを含む半導体装置であって、
チップ認証信号が該半導体装置に入力されると、前記第２の電源電圧が前記複数のメモリセルに供給され、前記第１の電源電圧下で記憶されたデータと異なるデータが読み出された前記メモリセルのアドレスに基づく認証情報を前記チップ認証信号の応答に用いる半導体装置。
【請求項２】
請求項１記載の半導体装置において、前記メモリセルはＳＲＡＭである半導体装置。
【請求項３】
請求項１記載の半導体装置において、前記第２の電源電圧が前記第１の電源電圧より低い半導体装置。
【請求項４】
請求項１記載の半導体装置において、前記認証情報は該半導体装置からのアクセスの可否を表す半導体装置。
【請求項５】
請求項１記載の半導体装置において、前記チップ認証信号が該半導体装置外部より入力され、前記認証情報を該半導体装置外部に出力する半導体装置。
【請求項６】
請求項１記載の半導体装置において、前記第１の電源電圧及び前記第２の電源電圧は前記メモリセルに与える電源電圧である半導体装置。
【請求項７】
請求項１記載の半導体装置において、前記第２の電源電圧が供給されている間、前記メモリセルのワード線の選択電圧を前記第２の電源電圧より高くする半導体装置。
【請求項８】
複数のメモリセルが配列されたメモリセルアレイと、
チップ認証信号が入力されチップ応答信号の出力が可能な認証入出力部と、
前記メモリセルアレイに少なくとも通常動作に用いる第１の電源電圧及び評価用に用いる第２の電源電圧を供給することができる可変電源回路と、
不良データが読み出される前記メモリセルのアドレスを抽出するテスト回路と、
前記テスト回路の出力に基づき前記チップ応答信号を生成するテスト回路制御回路と、を含む半導体装置。
【請求項９】
請求項８記載の半導体装置において、前記メモリセルはＳＲＡＭである半導体装置。
【請求項１０】
請求項８記載の半導体装置において、前記第２の電源電圧が前記第１の電源電圧より低い半導体装置。
【請求項１１】
請求項８記載の半導体装置において、前記チップ応答信号は該半導体装置からのアクセスの可否を表す半導体装置。
【請求項１２】
請求項８記載の半導体装置において、前記チップ認証信号が該半導体装置外部より入力され、前記チップ応答信号を該半導体装置外部に出力する半導体装置。
【請求項１３】
請求項８記載の半導体装置において、前記第１の電源電圧及び前記第２の電源電圧は前記メモリセルに与える電源電圧である半導体装置。
【請求項１４】
請求項８記載の半導体装置において、前記可変電源回路から前記第２の電源電圧を供給している間、前記メモリセルのワード線の選択電圧を前記第２の電源電圧より高くする半導体装置。
【請求項１５】
請求項８記載の半導体装置において、前記チップ認証信号が入力されることで前記認証入出力部が、前記可変電源回路に前記第１の電源電圧から前記第２の電源電圧に切り替えることを指示する半導体装置。
【請求項１６】
複数のメモリセルが配列されたメモリセルアレイと、前記メモリセルアレイに少なくとも通常動作に用いる第１の電源電圧及び評価用に用いる第２の電源電圧を供給することができる可変電源回路と、前記可変電源回路を制御する制御回路と、テスト回路と、を含む半導体装置であって、
チップ認証信号を受信した前記制御回路は前記可変電源回路に対して前記第２の電源電圧を前記メモリセルアレイに供給するよう指示し、前記テスト回路に対しては前記メモリセルアレイに記憶されたデータと読み出したデータとの一致・不一致を確認させ、不一致のデータを有する前記メモリセルのアドレスに基づく認証情報を前記チップ認証信号の応答に用いることを特徴とする半導体装置。
【請求項１７】
請求項１６記載の半導体装置において、前記メモリセルはＳＲＡＭであることを特徴とする半導体装置。
【請求項１８】
請求項１６記載の半導体装置において、前記第２の電源電圧が前記第１の電源電圧より低いことを特徴とする半導体装置。
【請求項１９】
請求項１６記載の半導体装置において、前記認証情報は該半導体装置からのアクセスの可否を表すものであることを特徴とする半導体装置。
【請求項２０】
請求項１６記載の半導体装置において前記チップ認証信号が該半導体装置外部より入力され、前記認証情報が該半導体装置外部に出力されることを特徴とする半導体装置。
【請求項２１】
請求項１６記載の半導体装置において、前記第１の電源電圧及び前記第２の電源電圧は前記メモリセルに与えられる電源電圧であることを特徴とする半導体装置。
【請求項２２】
請求項１６記載の半導体装置において、前記可変電源回路から前記第２の電源電圧を供給している間、前記メモリセルのワード線の選択電圧を前記第２の電源電圧より高くすることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置への認証、特に専用プロセスを最小限の実装にとどめるハードウェアによる認証テストに関する。
【背景技術】
【０００２】
Ｅコマースやネットバンキングなど、インターネットを介して行われる電子商取引サービスの市場は拡大の一途をたどっている。また、ＩＣカードを使った電子マネーサービスは普及／拡大期に入りつつある。そして、これらのサービスには、常により高いレベルのセキュリティ技術が求められている。
【０００３】
ソフトウエアレベルでは、強靭な暗号化アルゴリズムを中心とした暗号化技術により、十分なセキュリティが達成されている。その一方で、同様のアルゴリズムを物理的に実装するハードウエアレベルでは、ハッカー（クラッカー）などの攻撃者に秘密鍵の解読を許してしまう可能性が指摘されている。
【０００４】
従来から、ヒューズ（Ｆｕｓｅ）や不揮発性メモリを用いて製造時にＩＤを格納する手法が用いられている。“ＩＤ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｃｉｒｃｕｉｔ  ｕｓｉｎｇ  Ｄｅｖｉｃｅ  Ｍｉｓｍａｔｃｈ”（非特許文献１）や“Ａ  １．６ｐＪ／ｂｉｔ  ９６％  Ｓｔａｂｌｅ  Ｃｈｉｐ−ＩＤ  Ｇｅｎｅｒａｔｉｎｇ  Ｃｉｒｃｕｉｔ  ｕｓｉｎｇ  Ｐｒｏｃｅｓｓ  Ｖａｒｉａｔｉｏｎｓ”（非特許文献２）では、これらの技術が説明されている。
【０００５】
図１は、非特許文献１の動作の説明を行うための概念図である。また、図２は実際に非特許文献１の技術をセルアレイの検査に適用した際の図である。
【０００６】
図１（ａ）では、セルアレイ９００３中に含まれるトランジスタアレイ９００３ｓの検査に、コンパレータ９００１ｓを用いることを図示する。
【０００７】
トランジスタアレイ９００３ｓ中の各トランジスタＴ１、Ｔ２、Ｔ３、…、Ｔｎはそれぞれ異なる閾値電圧を持つ。これらの閾値電圧は製造段階での製品間によって相違するものであり、各チップ固有の物となる。
【０００８】
アドレスデコーダ９００４によってサイクル毎にアクセスするトランジスタを切り替える。これにより抵抗９００２ｓとトランジスタアレイ９００３ｓとの間の中間電位Ｖ１がトランジスタの動作に従い変化する。上述の通り各トランジスタの閾値電圧は製品毎にばらつきがある。従って、中間電位Ｖ１はランダムばらつきにより変化する。
【０００９】
図１（ｂ）は、中間電位Ｖ１とコンパレータ出力であるＩＤとの対応を表す図である。このようにＮサイクルとＮ−１サイクルの出力値の比較を行い、アナログ値からデジタル値への変換を行うことで、チップ固有のデータ列（チップ固有ＩＤ）が形成される。
【００１０】
生成されたデータ列と、製造時に予めデータベースに格納しておいたチップ固有ＩＤとの比較を行うことで、ＩＤの認証を行う。
【００１１】
図２は、図１をセルアレイ９００３の固有ＩＤ生成時のアドレスデコーダ９００４も含めた構成を表す。
【００１２】
図３は、非特許文献２の動作の説明を行うための概念図である。
【００１３】
非特許文献２の手法では、クロスカップル型ＮＯＲを用いてチップ固有ＩＤを生成する。本図のトランジスタＭ０からＭ９の閾値電圧も、図１のトランジスタＴ１、Ｔ２、Ｔ３、…、Ｔｎ同様セル毎に異なる。また、本図のトランジスタＭ０からＭ９の閾値電圧により各セルに保持される値（Ｖ０、Ｖ１）は決定される。
【００１４】
非特許文献１の手法同様、サイクル毎にアクセスするセルを切り替えることで、チップ固有ＩＤのデータ列が生成される。非特許文献２記載の技術では、クロスカップルコンバータを用いてチップ固有ＩＤのデータ列を生成するため、非特許文献１記載の技術と異なり、低オフセットの増幅器が不要となる特徴を持つ。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】“ＩＤ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｃｉｒｃｕｉｔ  ｕｓｉｎｇ  Ｄｅｖｉｃｅ  Ｍｉｓｍａｔｃｈ”  Ｋ．Ｌｏｆｓｔｒｏｍ，  ｅｔ  ａｌ．  ＩＳＳＣＣ２０００
【非特許文献２】“Ａ  １．６ｐＪ／ｂｉｔ  ９６％  Ｓｔａｂｌｅ  Ｃｈｉｐ−ＩＤ  Ｇｅｎｅｒａｔｉｎｇ  Ｃｉｒｃｕｉｔ  ｕｓｉｎｇ  Ｐｒｏｃｅｓｓ  Ｖａｒｉａｔｉｏｎｓ”  Ｙ．Ｓｕ、  ｅｔ  ａｌ．  ＩＳＳＣＣ２００７
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかし、上記のＩＤを格納する方法では専用プロセスが必要であるため、コストが増大する。また、製造時に書込まれたデータが実使用時に改ざんされる危険性があるといった問題がある。
【００１７】
また非特許文献１及び非特許文献２の技術とも、チップ固有ＩＤ生成のために専用ハードマクロが必要となる。このため、面積オーバヘッド、ピン数の増加によりコストが増大する。
【００１８】
また専用ハードマクロを用いるため、識別のためのビット長に制限が生じる。
【００１９】
本発明の目的は、チップ内蔵メモリのビット不良がランダムなアドレスで発生することを利用して、チップ固有ＩＤを生成し、これを活用する手段を提供することにある。
【００２０】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００２２】
本発明の代表的な実施の形態に関わる半導体装置は、複数のメモリセルが配列されたメモリセルアレイと、チップ認証信号が入力されチップ応答信号の出力が可能な認証入出力部と、メモリセルアレイに少なくとも通常動作に用いる第１の電源電圧及び評価用に用いる第２の電源電圧を供給することができる可変電源回路と、不良データが読み出されるメモリセルのアドレスを抽出するテスト回路と、テスト回路の出力に基づきチップ応答信号を生成するテスト回路制御回路と、を含む。
【発明の効果】
【００２３】
本発明に関わる半導体装置を用いる事で、通常のファンクション動作に用いることができるメモリをＩＤ生成に用いることができ、面積オーバヘッドが発生しない。
【００２４】
また、本発明に関わる半導体装置を用いる事で、大量のメモリが搭載されるＳｏＣ及びマイコンでの識別のためのビット長の多ビット化を容易に進めることができる。結果チップの脆弱性が改善できる。
【図面の簡単な説明】
【００２５】
【図１】非特許文献１の動作の説明を行うための概念図である。
【図２】非特許文献１の技術をセルアレイの検査に適用した際の図である。
【図３】非特許文献２の動作の説明を行うための概念図である。
【図４】本発明の第１の実施の形態に関する動作の基本概念を示す概念図である。
【図５】本発明の第１の実施の形態に関するチップ固有ＩＤ生成時の一例を表す図である。
【図６】本発明の第１の実施の形態に関するＳＲＡＭ適用時の動作を示す概念図である。
【図７】本発明の第1の実施の形態に関わるチップの内部構成図である。
【図８】本発明の第1の実施の形態に関わる認証動作のフローチャートである。
【図９】ステップＳ１１０２を実行するための回路の構成を表すブロック図である。
【図１０】本発明の第２の実施の形態に関わるＳＲＡＭ及びアシストレベル調整の対象となる電圧を表す回路図である。
【図１１】本発明の第２の実施の形態に関わるアシストレベル調整の方向性を示す概念図である。
【図１２】ビット不良率のシミュレーション結果を表す図である。
【図１３】メモリセルの読み出し動作マージンを悪化させる対策の説明のための図である。
【図１４】本発明の第５の実施の形態に関わるチップの内部構成図である。
【図１５】本発明の第８の実施の形態に関わるホストコンピュータ側のフェイルビットマップ（チップ固有ＩＤ）の使用方法に関する概念図である。
【図１６】ホストコンピュータの在所地がチップ製造・販売元の場合の処理フローを表す図である。
【図１７】ホストコンピュータの在所地がサービス提供元の場合の処理フローを表す図である。
【図１８】本発明の第９の実施の形態に関わるホストコンピュータ側のチップ固有ＩＤとしてのフェイルビットマップの使用方法に関する概念図である。
【図１９】本発明の第１０の実施の形態に関わる処理のやり方を表す概念図である。
【図２０】本発明の第１１の実施の形態の説明に用いる図である。
【図２１】本発明の第１１の実施の形態に関わるチップの内部構成図である。
【図２２】本発明の第１２の実施の形態の概念図である。
【図２３】本発明の第１３の実施の形態の概念図である。
【図２４】本発明の第１４の実施の形態の概念図である。
【図２５】本発明の第１５の実施の形態の概念図である。
【図２６】本発明の第１の実施の形態に関わる別のチップの内部構成図である。
【図２７】本発明の第１の実施の形態に関する別の認証動作のフローチャートである。
【発明を実施するための形態】
【００２６】
以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。しかし、特に明示した場合を除き、それは互いに無関係なものではなく、一方は他方の一部又は全部の変形例、詳細、補足説明などの関係にある。また、以下の実施の形態において、要素の数など（個数、数値、量、範囲などを含む）に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものでなく、特定の数以上でも以下でも良い。
【００２７】
さらに、以下の実施の形態において、その構成要素は、特に明示した場合及び原理的に明らかに必須であると考えられる場合を除き、必ずしも必須のものでないことは言うまでもない。また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、ＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。なお、実施の形態で、ＭＯＳＦＥＴ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ：またはＭＯＳＦＥＴトランジスタと略す）と記載した場合、ゲート絶縁膜として非酸化膜を除外するものではない。
【００２８】
以下、図を用いて本発明の実施の形態を説明する。
【００２９】
（第１の実施の形態）
図４は、本発明の第１の実施の形態に関する動作の基本概念を示す概念図である。また、図５は、本発明の第１の実施の形態に関するチップ固有ＩＤ生成時の一例を表す図である。
【００３０】
本発明では、チップ内のトランジスタの動作電圧を徐々に低下することで、エラーが発生することをチップ固有ＩＤの生成に用いる。なお、ここではＤＲＡＭ等の動的なチップを想定している。
【００３１】
図４の図からも明らかなように、良品である以上、チップ内のトランジスタに標準電圧を掛けている場合は、全てのトランジスタが正常動作を行う。なお、標準電圧とは、通常動作に用いる電源電圧のことであり、通常動作とは良品のＤＲＡＭなどの情報記憶媒体を製品に実装した際に想定する、記憶の読み出し／更新動作に用いる電源電圧を掛けている状態を言う。
【００３２】
しかし、トランジスタに掛かる電圧を低下させると、徐々にトランジスタの動作が不安定になる。これはトランジスタの閾値電圧Ｖｔｈ以下になることによる。
【００３３】
チップ内のトランジスタの閾値電圧は製品間、ロット間だけでなくチップ内でもばらつく。このため、トランジスタに掛かる電圧を標準電圧の９０％、８０％、７０％と変化させることで、エラーの発生状況が変換する。本来「Ｈ」を表すはずのものが、「Ｌ」になるといったことが発生する（図４右側）。この状況を利用するのが本発明の中心的な技術である。図５ではこの利用の方法を説明する。
【００３４】
図５の例では、標準電圧（１Ｖ）の８０％では、６／４９の確立でエラーが発生する。また、標準電圧の６０％では、１１／４９の確率でエラーが発生する。
【００３５】
このフェイルビットマップをチップ固有ＩＤとして用いる。この際、標準電圧の何％のものをチップ固有ＩＤとして用いるか、またはある％のものと別の％のものを組み合わせて用いるかは設計事項である。
【００３６】
このチップ固有ＩＤをホストコンピュータのデータベースに登録する。チップ・ホスト間の通信時には低電圧テスト（＝フェイル情報の取得）を行い、ホストコンピュータのデータベース上のチップ固有ＩＤとのフェイル情報の認証を行う。
【００３７】
これは、トランジスタのデータ保持期間の影響を受けるため、フェイルアドレス再現が難しいことを利用したものである。
【００３８】
逆に、ＳＲＡＭを用いる場合は、保持ノードの電位はデータの保持時間に依存せず、トランジスタの閾値ばらつきにより不良アドレスが決定される。この為、低電圧動作時のフェイルビットマップの再現が容易である。これへの対応も考える。
【００３９】
図６は、本発明の第１の実施の形態に関するＳＲＡＭ適用時の動作を示す概念図である。
【００４０】
ＳＲＡＭには動作マージンを表す指標として、スタティックノイズマージン（ＳＮＭ）が存在する。スタティックノイズマージンとはワード線を活性化させているときにメモリセルの保持しているデータが破壊されないかどうかを表す指標である。この値が大きいほど、読み出し時のＳＲＡＭのメモリセルは安定する。
【００４１】
図６右側の二つの絵はメモリセルのインバータ特性を表すグラフである。このグラフからも分かるとおり、標準電圧で動作させる時と比べ、８０％電圧で駆動させると、グラフの右上の略正方形の面積が小さくなる。すなわち低電圧動作をおこなうとランダムエラーの発生確率が上昇する。
【００４２】
ＳＲＡＭにおいては、複数回テストを繰り返し、その際の発生確率でエラーの発生を判定する。これにより、ＤＲＡＭなどと同様にエラーの発生状況で、フェイルビットマップを作成することが可能となる。
【００４３】
次に、先ほど述べた「認証」について説明する。
【００４４】
図７は、本発明の第1の実施の形態に関わるチップの内部構成図である。また、図８は、本発明の第1の実施の形態に関わる認証動作のフローチャートである。
【００４５】
本発明の第1の実施の形態に関わるチップは、コントローラ１０１、可変電源回路１０２、メモリ１０３、メモリＢＩＳＴ１０４、ＣＰＵ２０１、内部バス２０２を含んで構成される。
【００４６】
コントローラ１０１は、チップ内部を制御する制御回路である。コントローラ１０１中には、フェイルビットカウンタ（ＦＢＣ）１０５などが含まれる。このフェイルビットカウンタ１０５はＳＲＡＭ上のフェイルビットの数をカウントするカウンタ回路である。
【００４７】
コントローラ１０１の主な制御対象としては、１）可変電源回路１０２の出力制御、２）メモリＢＩＳＴ１０４へのテスト実行指示及びテスト結果取得、３）外部入出力及び外部入出力に伴う符号化復号化認証可否の判定の制御、が考えられる。本明細書では上記を全てコントローラ１０１が実行するものとして説明しているが、これらを制御対象毎に別のモジュールとしてもよい。例えば、上記１）を電源制御部、２）をメモリＢＩＳＴ制御回路、３）を認証入出力部などに分離することも考えられる。
【００４８】
可変電源回路１０２は、通常時には標準電圧を、認証時には標準電圧と異なる電圧を提供するためのオンチップの可変電源回路である。なお、ここではオンチップとしているが、チップ外の可変電源回路としても良い。
【００４９】
またメモリ１０３中にはメモリだけでなく図示しないメモリ周辺回路も存在する。このメモリ周辺回路を動作させるための、周辺電源電圧も可変電源回路１０２が供給する。この可変電源回路１０２の出力である周辺電源電圧を可変にするかは設計事項である。
【００５０】
メモリ１０３は、装置の認証の対象となるメモリである。メモリ１０３は、内部構成としてメモリアレイ１０３ａ、メモリ選択回路１０３ｂ、読み出し／書き込み回路１０３ｃを含む。
【００５１】
メモリアレイ１０３ａは半導体基板に設けられた強誘電性の複数のメモリセルを備えた揮発性の記憶素子群を言う。ここで用いられる記憶素子には、ＳＲＡＭやＤＲＡＭなどが考えられるがこれに拘るものではない。
【００５２】
メモリ選択回路１０３ｂは、メモリＢＩＳＴ１０４及び内部バス２０２経由でＣＰＵ２０１から送られるアドレスを用いてデータの読み出し／書き込みの対象となる記憶素子を特定するためのワード線電位Ｖｗｌを操作するための回路である。
【００５３】
読み出し／書き込み回路１０３ｃは、書き込み時にはビット線電位Ｖｂｌに書き込み対象のデータをセットし、読み出し時には特定されたＳＲＡＭ内部に記憶されているデータが出力されるデータを読み出す回路である。
【００５４】
なお、後述する図１４、図２１、図２６では、メモリ１０３内の構成は省略する。
【００５５】
メモリＢＩＳＴ１０４は、本発明に関わるテストを実行するためのテスト回路である。コントローラ１０１へのメモリＢＩＳＴ１０４の出力としては、種々の物が考えられる。たとえば、不良箇所のアドレスを出力するもの、テスト実行時に読み出したデータをそのままの形で出力するもの、等である。メモリＢＩＳＴ１０４の出力をどのような形式にするかはコントローラ１０１内の処理と合わせて設計事項である。
【００５６】
いずれにしても、可変電源回路１０２が設定した標準電圧と異なる（ほとんどの場合は標準電圧よりも低い）電圧でメモリ１０３のデータを読み出すことがテスト内容となる。
【００５７】
基本的にはメモリＢＩＳＴ１０４のテストの内容としてはメモリＢＩＳＴ１０４からメモリＢＩＳＴ１０４が指定するアドレスにデータを書き込み、そのアドレスからデータを読み出した際に、書き込んだものと同じものが得られるか、という手段で行う。ただしこれに限られるものでなく、テストする際に、メモリＢＩＳＴ１０４がメモリ１０３にリセット信号を入力し初期値を読み出せるか？で判断しても良い。
【００５８】
この際、メモリＢＩＳＴ１０４のテストの対象としてはコントローラ１０１から指定されたアドレスのデータだけをテストする、一定のメモリ量をテストの対象にする等が考えられる。これをどのようにするかは設計事項である。
【００５９】
ＣＰＵ２０１は、通常動作時にメモリを内部バス２０２経由で利用する中央処理制御装置である。
【００６０】
内部バス２０２は、メモリ１０３とＣＰＵ２０１他との間を接続する汎用の内部バスである。通常の動作時においては、内部バス経由でメモリ１０３とデータをやり取りすることが多い。
【００６１】
これらを用いて、認証時の動作の説明を行う。
【００６２】
まず、コントローラ１０１は、チップ外部（ここではホストコンピュータとする）からの認証要求信号を受けつける。これを受けて、コントローラ１０１が、可変電源回路１０２に対して、電圧制御信号を送り、メモリの電源レベルの初期化を行う（ステップＳ１１０１）。
【００６３】
可変電源回路１０２の出力が安定した後、コントローラ１０１は、メモリＢＩＳＴ１０４に対してテストの実行を指示する（ステップＳ１１０２）。このメモリＢＩＳＴ１０４によるテストは、メモリ１０３の場合は加速試験によって行われる。認証の対象がＤＲＡＭの場合はメモリ１０３よりも簡易な方法で行われることとなる。
【００６４】
この際、フェイルビット数が設定範囲内かどうかの判定を行う。フェイルビット数の設定範囲は設計時に決定される。フェイルビット数が設定範囲内かどうかの判定は，フェイルビットカウンタ１０５および本図では図示しない比較器１０６を用いて行う。
【００６５】
フェイルビット数が設定範囲内でなければ（ステップＳ１１０３：Ｎｏ）、コントローラ１０１は可変電源回路１０２による電源レベルの再設定を行う（ステップＳ１１０５）。
【００６６】
フェイルビット数の範囲内であれば（ステップＳ１１０３：Ｙｅｓ）、フェイルビットアドレスを読み出し、フェイルビットマップをチップ固有ＩＤとしてチップ外部に出力する（ステップＳ１１０４）。
【００６７】
フェイルビットカウンタ１０５はフェイルビットがどの程度の数発生したかをカウントするカウンタである。この図上では何回フェイルビットのアドレスが入力されるのかでフェイルビット数をカウントしている。ただし、フェイルビットの数が分かる情報であれば、フェイルビットのアドレスには限れられない。
【００６８】
図９は、このステップＳ１１０２を実行するための回路の構成を表すブロック図である。この回路はコントローラ１０１の一部として実装される。
【００６９】
比較器１０６はフェイルビットカウンタ１０５の出力、すなわちフェイルビットの数、とフェイルビット数の設定上限値を対比するコンパレータである。
【００７０】
「フェイルビットの数」＞「フェイルビット数の設定上限値」の場合、比較結果として「Ｌ」を、「フェイルビットの数」＜「フェイルビット数の設定上限値」の場合、比較結果として「Ｈ」をそれぞれ出力する。
【００７１】
電圧制御信号発生器１０７は、上記比較結果が「Ｌ」の場合、再度可変電源回路１０２の電圧設定を指示するための信号を生成する回路である。
【００７２】
Ｃｈｉｐ  ＩＤ生成器１０８は、上記比較結果が「Ｈ」のときに、フェイルビットアドレスよりＣｈｉｐ  ＩＤ（＝フェイルビットマップ）を生成する回路である。
【００７３】
これらの回路を用いて、ステップＳ１１０３、Ｓ１１０４、Ｓ１１０５を処理することが可能となるが、必ずしもこれに限られるものではない。
【００７４】
ホストコンピュータにおいて、チップのフェイルビットマップに記載されたフェイルビットアドレスと、ホストコンピュータのデータベースにあらかじめ格納してあるフェイルビットマップ情報の認証を行う。これにより、ホストコンピュータは認証を行うこととなる（ステップＳ１１０６）。
【００７５】
なお、上記では、テスト結果のフェイルビットマップそれ自体をやり取りする記載としたが、フェイルビットのアドレスのみを束にして送信し、ホストコンピュータ上で、ホストコンピュータの有するフェイルビットマップに当てはめて認証の可否を判断することも可能である。
【００７６】
この図８の処理の変形として、外部からデータをもらい、チップ内でそのデータと不良データが一致するかで認証するものも考えられる。
【００７７】
図２６は、本発明の第1の実施の形態に関わる別のチップの内部構成図である。図２７は本発明の第１の実施の形態に関する別の認証動作のフローチャートである。これらを用いて本発明の第１の実施の形態の別の認証動作を説明する。
【００７８】
基本的な構成は、図７のものと図２６のものは相違しない。ただし、コントローラ１０１ｂ及びメモリＢＩＳＴ１０４ｂは相違する。
【００７９】
図２６の通り、コントローラ１０１ｂは外部のホストコンピュータとの間で通信回数が増加する。従ってこれに対応する構成を取る。逆に、フェイルビットマップの送信を行う必要が無い、メモリＢＩＳＴ１０４ｂの処理が軽くなる利点が存在する。
【００８０】
メモリＢＩＳＴ１０４ｂも基本的動作はメモリＢＩＳＴ１０４と同様である。ただし、ホストコンピュータより指示されたアドレスのＢＩＳＴのみを行えばよいため、処理量は極めて軽くなる。ただし、ホストコンピュータから複数のアドレスの指示を受ける場合などはこの限りではない。
【００８１】
次に図２６及び図２７を用いて、第１の実施の形態に関する別の認証動作を説明する。
【００８２】
まず、ホストがチップに対して認証要求を発する（ステップＳ１２０１）。これを受けてチップのコントローラ１０１ｂは毎回固定された該チップのフェイルビットのアドレスの一部を図示しないホストコンピュータに返送する（ステップＳ１２０２）。このとき返すフェイルビットのアドレスの一部は固定値であるため、コントローラ１０１ｂはメモリ作業領域の確保などを除き、内部的な処理は行わずに済む。
【００８３】
チップのコントローラ１０１ｂから送られてくるステップＳ１２０２のフェイルビットアドレスの正誤確認をホストコンピュータが行う。このフェイルビットアドレスが想定されたものであれば、ホストコンピュータはテスト用アドレスをコントローラ１０１ｂに対して送信する（ステップＳ１２０３）。この送信するテスト用のアドレスはホストコンピュータの有するチップ固有ＩＤであるフェイルビットマップからフェイルビットのアドレスを１または２以上抽出したものである。
【００８４】
ホストコンピュータから送信されるテスト用のフェイルビットのアドレスを受信すると、コントローラ１０１ｂは可変電源回路１０２に対して、電圧制御信号を送り、メモリの電源レベルの初期化を行う（ステップＳ１２０４）。
【００８５】
可変電源回路１０２の出力が安定した後、コントローラ１０１ｂは、メモリＢＩＳＴ１０４に対してテストの実行を指示する（ステップＳ１２０５）。
【００８６】
これらのステップＳ１２０４、Ｓ１２０５はステップＳ１１０１、Ｓ１１０２同様の処理となる。ただし、ステップＳ１２０５ではテスト用のフェイルビットアドレスで指定する箇所のみメモリＢＩＳＴ１０４は評価をすればよい。
【００８７】
このテストの際、フェイルビット数が設定範囲内かどうかの判定を行う。フェイルビット数の設定範囲は設計時に決定される。フェイルビット数が設定範囲内かどうかの判定は，フェイルビットカウンタ１０５および本図では図示しない比較器１０６を用いて行う。
【００８８】
フェイルビット数が設定範囲内でなければ（ステップＳ１２０６：Ｎｏ）、コントローラ１０１ｂは可変電源回路１０２による電源レベルの再設定を行う（ステップＳ１２０８）。これも図８のステップＳ１１０３、Ｓ１１０５同様である。
【００８９】
フェイルビット数が設定範囲内であれば（ステップＳ１２０６：Ｙｅｓ）、コントローラ１０１ｂは、テスト結果であるＦａｉｌ／Ｐａｓｓをホストコンピュータに送出する（ステップＳ１２０７）。
【００９０】
ホストコンピュータはフェイルビットのアドレスを送信しているため、テスト結果として、該アドレスのテスト結果がＰａｓｓだとすると認証失敗とチップのコントローラが判断する。逆にＦａｉｌであれば、認証成功となる。
【００９１】
このように、チップ側で認証の可否が行えるため（Ｆａｉｌ＝認証ＯＫ、Ｐａｓｓ＝認証ＮＧ）、ステップＳ１２０７ではＦａｉｌ／Ｐａｓｓでなく、認証ＯＫ／認証ＮＧの送信を行っても良い。
【００９２】
テスト結果であるＦａｉｌ／Ｐａｓｓの送信を受けて図示しないホストコンピュータはホストに格納してあるフェイルビットマップ中の結果と認証する（ステップＳ１２０９）。
【００９３】
認証ＯＫの場合には、ホストコンピュータはコントローラ１０１ｂに認証結果を送出する（ステップＳ１２１０）。
【００９４】
このように、フェイルビットマップの対比だけでなく特定のアドレスのビットのＦａｉｌ／Ｐａｓｓを判定することでも、認証動作を実行可能である。
【００９５】
以上のような構成を取ることで、通常動作に用いるメモリをＩＤ生成に用いることができ面積オーバヘッドを生じさせることが無くなる。
【００９６】
なお、オーバヘッドを生じさせても良いのであれば、上記で説明した回路に専用の物を用意しても良い。特にＤＲＡＭに上記で説明したＳＲＡＭの構成を適用することも考えられる。
【００９７】
（第２の実施の形態）
次に、本発明の第２の実施の形態に付いて図を用いて説明する。
【００９８】
上記の本発明の第１の実施の形態は、本発明の基本的な動作である。しかし、フローチャートの説明では簡単に済むフェイルビットマップの取得、特にＳＲＡＭの場合、再現性に問題が生じる可能性が高い。そこで、このフェイルビットマップの再現性の向上について説明する。
【００９９】
本実施の形態では更に、ＳＲＡＭのアシストレベル調整によるフェイルビットマップの再現性向上について検討する。
【０１００】
図１０は本発明の第２の実施の形態に関わるＳＲＡＭ及びアシストレベル調整の対象となる電圧を表す回路図である。
【０１０１】
まず基本的なＳＲＡＭの構成について説明する。
【０１０２】
このＳＲＡＭには３つの電圧が供給されている。すなわちワード線電位Ｖｗｌ、ビット線電位Ｖｂｌ及びメモリ線電位Ｖｍｃである。
【０１０３】
メモリ線電位Ｖｍｃは、記憶データ保持のための電位である。メモリ線電位Ｖｍｃがある限りは、このＳＲＡＭは記憶を保持することが可能となる。
【０１０４】
ワード線電位Ｖｗｌは、書き込み・読み出しの可否を表す電位である。このワード線電位Ｖｗｌが「Ｈ」の時にのみ、ＳＲＡＭへの書き込み・読み出しが可能となる。
【０１０５】
ビット線電位Ｖｂｌは、書き込み時には書き込み対象のデータをセットし、読み出し時にはＳＲＡＭ内部に記憶されているデータが出力される信号線である。
【０１０６】
フェイルビット数は、これらの電位に大きく左右される（＝依存する）。逆を言えば、これらの電位を積極的に制御すれば、フェイルビット数の電圧依存性を小さくすることが可能となる。
【０１０７】
図１１は、本発明の第２の実施の形態に関わるアシストレベル調整の方向性を示す概念図である。また図１２は、ビット不良率のシミュレーション結果を表す図である。
【０１０８】
この図を見ても分かるとおり、ワード線電位Ｖｗｌは通常時よりも認証時加速試験の方が電位を高くする。これに対しメモリ線電位Ｖｍｃは通常時よりも認証時加速試験の方が電位を低くする。
【０１０９】
逆を言えば、可変電源回路１０２の出力をワード線電位Ｖｗｌとメモリ線電位Ｖｍｃを別に出力する必要がある。
【０１１０】
図１２に示すとおり、ワード線の電位を上昇させると、読み出し動作マージンを決定するβ比が劣化し、ビット不良率の極小値が低電圧側にシフトする。極小値付近の電圧では、ビット不良率の傾きが小さくなるため、ビット不良率の電圧依存性を小さくすることが可能となる。
【０１１１】
一方メモリセルの読み出し動作マージンが悪化する方向に、電位を調整する手法を適用することにより、ビット不良率の電圧依存性は同様に小さくなる。図１３はメモリセルの読み出し動作マージンを悪化させる対策の説明のための図である。
【０１１２】
この読み出し動作マージンを悪化させるには以下の方法が考えられる。
１）メモリ線電位Ｖｍｃを周辺回路の電源電圧（Ｖｗｌ、Ｖｂｌ、その他の電源）よりも低下させる。
２）メモリセルのソース電圧を、周辺回路のソース電圧より上昇させる。
３）ワード線電位Ｖｗｌを、メモリ線電位Ｖｍｃよりも上昇させる（ただし周辺回路の電源電圧（Ｖｂｌ、その他の電源）はメモリセルの電源電圧同様）。
４）ビット線電位Ｖｂｌを、メモリ線電位Ｖｍｃよりも上昇させる（ただし周辺回路の電源電圧（Ｖｗｌ、その他の電源）はメモリセルの電源電圧同様）。
５）ｐＭＯＳ（ｎＷｅｌｌ）の基板バイアス電圧Ｖｂｐをメモリ線電位Ｖｍｃより低下させる。
６）ｎＭＯＳ（ｐＷｅｌｌ）の基板バイアス電圧Ｖｂｎをメモリ線電位Ｖｍｓより低下させる。
【０１１３】
これらを組み合わせることも考慮すると良い。
【０１１４】
また書き込み動作においても、同様にメモリセルの書き込み動作マージンを悪化させる方向に電位を調整することによってビット不良率の電圧依存性を小さくすることも可能となる。
【０１１５】
（第３の実施の形態）
次に、本発明の第３の実施の形態に付いて説明する。
【０１１６】
第１の実施の形態では、図８に見るように認証要求があれば、そのたびにメモリＢＩＳＴを動作させ、フェイルビットマップの取得を行っていた。
【０１１７】
これに対し、本実施の形態では、電源投入時にメモリセルに保持されるデータをチップ固有ＩＤとして用いることが特徴となる。
【０１１８】
電源投入時にメモリセルに保持されるデータは、メモリセルのトランジスタのランダムばらつきによって決定される。この値をメモリ内の任意の箇所に保持し、認証要求があればこれを出力することで、取得されるデータの再現性が向上する。これは、ステップＳ１１０１、ステップＳ１１０５（図８参照）のように電源電圧を変化させずに済むからである。
【０１１９】
ただし、以下の点に留意すべきである。
【０１２０】
メモリ線電位Ｖｍｃとワード線電位Ｖｗｌ（図１０参照）を同時に投入すると、メモリセルは周辺回路からの信号の影響を受ける可能性がある。そこで、ワード線電位Ｖｗｌから投入し、その後にメモリ線電位Ｖｍｃを投入すると周辺回路からの影響を排除することが可能となる。
【０１２１】
以上のようにすることで、認証要求毎にチップ固有ＩＤの処理を行うことなく高速に認証動作を行うことが可能となる。
【０１２２】
（第４の実施の形態）
次に第４の実施の形態に付いて説明する。
【０１２３】
フェイルビット数は温度にも依存性を持つ。このため、対象チップの温度条件によって、フェイルビット数は変化する。
【０１２４】
そこで、認証の対象チップには、オンチップ温度センサを設ける。そして、認証テスト時の温度条件もフェイルアドレス情報と併せて、ホストコンピュータに送信する。
【０１２５】
これの対応のために、あらかじめホストコンピュータには、数種類の温度条件におけるフェイルビットマップのデータも保存しておく。
【０１２６】
なお、チップに加熱手段等を設け、ホストコンピュータからチップにテスト時の温度条件の再現を指示することも本実施の形態の変形例として考えられる。
【０１２７】
このように温度条件に対応した、フェイル情報の比較を行うことで温度の影響を小さくすることが可能となる。
【０１２８】
（第５の実施の形態）
次に、本発明の第５の実施の形態に付いて図を用いて説明する。
【０１２９】
第４の実施の形態では温度条件を加味することで、より正確なフェイルビットマップの取得を行うことを考慮した。
【０１３０】
これに対し本実施の形態では、温度条件に基づきテスト電圧の補正を行うことでより正確なフェイルビットマップを取得することを目的とする。
【０１３１】
図１４は本発明の第５の実施の形態に関わるチップの内部構成図である。
【０１３２】
本発明の第５の実施の形態に関わる図１４と、本発明の第１の実施の形態に関わる図８との相違点は、温度センサ１１１の有無である。
【０１３３】
温度センサ１１１は、本チップの内部温度を計測するためのセンサ回路である。
【０１３４】
具体的には、以下のように温度センサを用いることになる。
【０１３５】
図８のフローチャート上で認証要求を受けると、ステップＳ１１０１で、コントローラ１０１が、可変電源回路１０２に対して、電圧制御信号を送り、メモリの電源レベルの初期化を行う点は述べた。本実施の形態では、この際の認証要求に想定する温度についての情報（想定温度情報）も含まれる点に特徴がある。
【０１３６】
コントローラはステップＳ１１０１の処理を行う際に、温度センサ１１１による実測内部温度及び認証要求に添付された想定温度情報を比較する。
【０１３７】
想定温度情報より実測内部温度の方が高いか低いかで、コントローラ１０１は、可変電源回路１０２に対しての電圧指示の内容を変更する。これにより、想定温度情報と実測内部温度との差を吸収することで期待するフェイルビット情報を取得することが可能となる。
【０１３８】
（第６の実施の形態）
次に本発明の第６の実施の形態に付いて説明する。
【０１３９】
ＤＲＡＭ等の揮発性媒体の場合は、第１の実施の形態ではフェイルビットマップ取得の処理を１度実行することを想定していた。しかし、第４の実施の形態及び第５の実施の形態でも述べたとおり、可変電源回路１０２の電圧の設定精度や温度などの条件によってもフェイルビットマップの取得精度は変化する。
【０１４０】
そこで、一度の認証要求に対してコントローラ１０１が所定の回数（Ｎ回）の評価を行う。そして、Ｎ回分の評価が終了した時点で、コントローラ１０１がＮ回分取得したフェイルビットマップの全て論理積（ＡＮＤ）を取る。そしてコントローラ１０１が認証要求元のホストコンピュータに結果を返送する。
【０１４１】
これを受け、ホストコンピュータは、「複数回のテスト結果⊆ホストコンピュータ上のチップ固有ＩＤ」となる場合、認証が成立することとする。このようにすると、偶然に生じたエラーを除外することができ認証精度を上げることが可能となる。
【０１４２】
この変形として、論理積を行うところを論理和（ＯＲ）を取る。そしてこの論理和の結果をコントローラ１０１が認証要求元のホストコンピュータに結果を返送する。
【０１４３】
これを受け、ホストコンピュータは、「複数回のテスト結果⊇ホストコンピュータ上のチップ固有ＩＤ」となる場合、認証が成立することとする。このようにすることでも、偶然に生じたエラーを除外することができ認証精度を上げることが可能となる。
【０１４４】
（第７の実施の形態）
次に本発明の第７の実施の形態に付いて説明する。
【０１４５】
認証要求が来た際に、電圧変動や温度などのテスト環境によって、取得するフェイルビットマップが変化する。
【０１４６】
そこで、本実施の形態では、チップ上のコントローラが行う認証処理（図８ステップＳ１１０１乃至Ｓ１１０５）は、ホストコンピュータ上で行う認証処理用のチップ固有ＩＤよりも高い電圧で動作させたものを用いる。
【０１４７】
具体的には以下の通りである。
【０１４８】
チップの通常動作時における標準電圧が１Ｖとする場合、ホストコンピュータ上には０．６Ｖ（対標準電圧比６０％）時におけるフェイルビットマップを該チップのチップ固有ＩＤとして保持する。
【０１４９】
一方で、ホストコンピュータからの認証要求時にはチップ上のコントローラ１０１は可変電源回路１０２に対して、０．８Ｖ（対標準電圧比８０％）時におけるフェイルビットマップの生成を行うように指示する。
【０１５０】
これにより得られた、テスト結果としてのフェイルビットマップと、ホストコンピュータ上のチップ固有ＩＤとの関係は、「テスト結果⊆ホスト上の固有ＩＤ」となるはずである。この関係を具備する場合には、ホストコンピュータは認証成功とすることで、認証精度が向上する。
【０１５１】
上記では、ホストコンピュータ側のチップ固有ＩＤが対標準電圧比６０％、テスト電圧が対標準電圧比８０％の場合を想定した。しかしこれだけには限られず、ホストコンピュータ側のチップ固有ＩＤが対標準電圧比８０％、テスト電圧が対標準電圧比６０％の場合でも動作可能である。この場合、「テスト結果⊇ホスト上の固有ＩＤ」の条件が成り立つとき、ホストコンピュータは認証成功と判定すればよい。
【０１５２】
（第８の実施の形態）
次に本発明の第８の実施の形態に付いて図を用いて説明する。
【０１５３】
これまでの実施の形態では、フェイルビットマップを作成し、それをチップ固有ＩＤとして用いる旨を述べていた。
【０１５４】
本実施の形態では、チップ固有ＩＤとして用いるフェイルビットマップを、チップの記憶領域（図７のＳＲＡＭ）全体とし、特定のアドレス空間を認証の対象とすることを考える。
【０１５５】
図１５は、本発明の第８の実施の形態に関わるホストコンピュータ側のフェイルビットマップ（チップ固有ＩＤ）の使用方法に関する概念図である。
【０１５６】
本実施の形態に関わるホストコンピュータは、図７のメモリ１０３の全ての記憶領域に関するフェイルビットマップを有している。そして、認証要求時に、そのメモリ１０３の一部の記憶領域を指定して、チップに対して認証要求を行う点が特徴となる。
【０１５７】
このようにすると、ホストコンピュータからチップに対して要求する記憶領域を毎回変更することで、認証時のデータが解析されることによる不正アクセスを防止することが可能となる。具体的には、最初に図１５＃１の領域を指し示すアドレスを指定して認証要求を行っても次回は図１５＃２もしくは図１５＃３の領域に変化する。
【０１５８】
図８のフローチャートを用いて説明すると以下のようになる。
【０１５９】
まず、ホストコンピュータがチップに対して認証要求を行う。この際に、ホストコンピュータはメモリ１０３の特定のアドレスを添付してコントローラ１０１に対して認証要求を行う。
【０１６０】
続けて、コントローラ１０１は、ステップＳ１１０１で電源電位の初期化を行う。この際の処理は第１の実施の形態と相違しない。
【０１６１】
ステップＳ１１０１の処理が終了したら、コントローラ１０１は、メモリＢＩＳＴ１０４に対してフェイルビットマップの取得処理、すなわちＢＩＳＴテストの実行を指示する（ステップＳ１１０２）。この際、認証要求に添付されたアドレスに関わるフェイルビットマップの取得を行う。
【０１６２】
以降、フェイルビット数の確認（ステップＳ１１０３）、フェイルビットマップの要求元ホストコンピュータへの送出（ステップＳ１１０４）の処理を行う。この際、ステップＳ１１０３で確認するフェイルビット数は指定されたアドレスに関わる範囲のみにするか、それとも、事前に決められた所定の領域のフェイルビット数とするかは設計事項である。
【０１６３】
指定したアドレスに関わるフェイルビットマップを取得し、自身の有する特定アドレスに関わるフェイルビットマップから導出するチップ固有ＩＤを対比して認証結果を導出する。
【０１６４】
なお、上記の処理においてはチップ側で特定の認証要求の回数中で２回以上同じアドレスが指定されないようにし、一定の期間中に同じアドレスが添付された形で認証要求があった場合、該認証要求を無視するなどすれば、更にセキュリティ強度が上がる。
【０１６５】
次に、本実施の形態を用いた場合のホストコンピュータ側のフェイルビットマップ（チップ固有ＩＤ）の管理方法について説明する。
【０１６６】
上記では「ホストコンピュータ」としたが、このホストコンピュータがどこにあるかで、サービスの提供の仕方が変わってくる。以下では、サービスの提供方法について説明する。
【０１６７】
ホストコンピュータの在所地としては、１）チップ製造・販売元、２）サービス提供元、が考えられる。それぞれについて図を用いて説明する。
【０１６８】
図１６は、ホストコンピュータの在所地がチップ製造・販売元の場合の処理フローを表す図である。また、図１７は、ホストコンピュータの在所地がサービス提供元の場合の処理フローを表す図である。
【０１６９】
まず、ホストコンピュータの在所地がチップ製造・販売元の場合について説明する。
【０１７０】
まずサービス提供者の提供するサービスのユーザがサービス提供者に対してサービスの提供を要求する（ステップＳ２１０１）。
【０１７１】
これを受けて、サービス提供者は、ユーザが用いるチップ及びチップ製造・販売元のホストコンピュータに対して、図８のフローチャートのトリガとなる認証要求を、チップ認証信号を出力することで実行する（ステップＳ２１０２）。この認証要求によりチップ製造・販売元のホストコンピュータはテスト（ステップＳ１１０２）で取得したフェイルビットマップの送信待ちを開始する。
【０１７２】
ユーザのチップのコントローラ１０１は、ステップＳ２１０２の認証要求を受け付けると、図８の処理フローを実行する。コントローラ１０１はテストの結果フェイルビットマップを取得し、送出する（図８ステップＳ１１０４、図１６ステップＳ２１０３）。チップ製造・販売元のホストコンピュータは、自身が有する該チップのチップ固有ＩＤ（出荷時テストにより得られたフェイルビットマップから切り出して生成）と受信したフェイルビットマップの対応を確認して、認証結果をサービス提供者に送出する（ステップＳ２１０４）。
【０１７３】
認証結果が良好なものであった場合には、サービス提供者はユーザに対してサービスの提供を開始する（ステップＳ２１０５）。
【０１７４】
次に、ホストコンピュータの所在地がサービス提供元であった場合について図１７に基づき説明する。
【０１７５】
図１６同様に、ユーザはサービス提供者に対してサービスの提供を要求する（ステップＳ２２０１）。
【０１７６】
次にサービス提供者は、図８のフローチャートのトリガとなる認証要求を実行する（ステップＳ２２０２）。
【０１７７】
ステップＳ２２０２の認証要求を受けて、ユーザのチップ内のコントローラ１０１は図８のフローチャートの処理を実行し、テストの結果得られたフェイルビットマップをチップ応答信号としてサービス提供者に送出する（ステップＳ２２０３）。
【０１７８】
テストの結果得られたフェイルビットマップとサービス提供者自身が有する該チップのチップ固有ＩＤ（出荷時テストにより得られたフェイルビットマップから切り出して生成）と送信されたフェイルビットマップの対応を確認し良好なものであればサービスを提供する（ステップＳ２２０４）。
【０１７９】
なお、チップ応答信号は上記ではフェイルビットマップとしている。しかし、チップ側がサービス提供の可否まで判定し、その結果をユーザ側に返送するようにしても良い。
【０１８０】
以上のような２形態が存在する。事前の準備の有無（図１７の場合、ホストコンピュータをサービス提供者が管理する必要がある）、通信回線の使用量（図１６の場合、通信回線を３本使う可能性がある）など得失があるので適宜選択すべきである。
【０１８１】
（第９の実施の形態）
次に、第９の実施の形態について説明する。
【０１８２】
第８の実施の形態では対象となるアドレスを認証要求の都度指定することで、セキュリティの向上を図っていた。これに対し、本実施の形態では、アドレスのみならず、返送すべきテスト結果のフェイルビットマップのデータ量も合わせて認証要求を行う。
【０１８３】
図１８は、本発明の第９の実施の形態に関わるホストコンピュータ側のチップ固有ＩＤとしてのフェイルビットマップの使用方法に関する概念図である。
【０１８４】
この図を見ても分かるとおり、チップ固有ＩＤとして利用するデータのサイズを変化する。結果、アドレスのみならず、授受の対象となるテスト結果のフェイルビットマップの大きさも変化するため、送付データが毎回変わり、不正アクセスを防止することにより役に立つ。
【０１８５】
（第１０の実施の形態）
次に本発明の第１０の実施の形態に付いて図を用いて説明する。
【０１８６】
これまでの実施の形態では、ホストコンピュータが認証要求を出力し、それに対してチップのコントローラ１０１がＢＩＳＴを実行することで、認証を行ってきた。この際、テストの結果得られるフェイルビットマップをホストコンピュータに返送することで、ホストコンピュータ側が認証の可否を判断していた。
【０１８７】
これに対し、本実施の形態では、個々のアドレスのテストの結果をホストコンピュータに返送すること、及び複数のアドレスを組み合わせることで認証を行うことを特徴とする。
【０１８８】
図１９は、本発明の第１０の実施の形態に関わる処理のやり方を表す概念図である。
【０１８９】
この図では、ホストコンピュータはテストアドレスを対象チップのコントローラ１０１に認証要求を送信する（ステップＳ３１０１）。この際、アドレスを複数送信する点に特徴がある。
【０１９０】
上記アドレスを受信したコントローラ１０１は、該当するアドレス単独のＢＩＳＴを実行する。
【０１９１】
ここで注意したい点は、これまでの実施の形態ではコントローラ１０１及びＢＩＳＴ１０４は指定されたアドレス以降の一定の範囲をトランジスタに対してフェイルビットをチェックしてきた。
【０１９２】
これに対し、本実施の形態では、コントローラ１０１及びメモリＢＩＳＴ１０４はそれのみのフェイルビットのチェックを行う点で相違する。
【０１９３】
このフェイルビットのチェックを行った後、コントローラ１０１及びメモリＢＩＳＴ１０４はその結果が正常（図１９ではＰａｓｓ）、異常（図１９ではＦａｉｌ）を判定する。
【０１９４】
ステップＳ３１０１で送信されたアドレス全てに対してのＢＩＳＴの判定結果を求めた後、コントローラ１０１はこれらをホストコンピュータに送信する（ステップＳ３１０２）。
【０１９５】
この結果ステップＳ３１０２で送信された結果と、ホストコンピュータ内のフェイルビットマップ（チップ固有ＩＤ）との認証を行う（ステップＳ３１０３）。一致した場合には認証を完了したものとする。
【０１９６】
認証の結果は、ホストコンピュータからチップのコントローラに返送される（ステップＳ３１０４）。
【０１９７】
以上のような構成にすると、認証時のデータ通信を解読されたとしても、次回の認証時にはホストコンピュータから送信されるアドレスが変化するため、不正アクセスを防止することが可能となる。
【０１９８】
（第１１の実施の形態）
次に本発明の第１１の実施の形態に付いて図を用いて説明する。
【０１９９】
これまでの実施の形態では、ユーザ側がサービスの提供を依頼する際に行う認証作業に適用する場合を考慮していた。
【０２００】
これに対し本実施の形態では、インターネットなどのネットワークを介した電子商取引の分野での本発明の適用を考慮する。本実施の形態では、フェイルビットのチェックを行うアドレス情報を電子商取引などで利用される暗号鍵として用いる。
【０２０１】
図２０は本発明の第１１の実施の形態の説明に用いる図である。
【０２０２】
本実施の形態ではＡＴＭとサーバ間での通信を想定している。
【０２０３】
本実施の形態では、ＡＴＭのユーザのチップのコントローラ１０１は、自身のフェイルビットマップ（チップ固有ＩＤ）からフェイルの発生しているアドレス、発生していないアドレスを把握する。これらのアドレス情報をフェイル情報と称する。
【０２０４】
図２１で説明する公開鍵生成回路１１２は、このフェイル情報のうち任意の１又は２以上抽出し公開鍵とする。そしてこの作成した公開鍵を公開鍵生成回路１１２はサーバに対して送出する（ステップＳ４１０１）。
【０２０５】
サーバは、受け取った公開鍵を用いて、ＡＴＭのユーザのチップの公開鍵生成回路１１２に対して送信するデータの暗号化を行う。その後、サーバは暗号化されたデータをＡＴＭのユーザのチップの公開鍵生成回路１１２に対して送信する（ステップＳ４１０２）。
【０２０６】
暗号化されたデータを受け取った公開鍵生成回路１１２、若しくはコントローラ１０１は暗号化されたデータを、秘密鍵を用いて復号化する。
【０２０７】
図２１は本発明の第１１の実施の形態に関わるチップの内部構成図である。この回路は、個々のアドレスのＦａｉｌ、Ｐａｓｓを問題とするため、基本的には第１０の実施の形態のようにコントローラ１０１及びメモリＢＩＳＴ１０４はそれのみのフェイルビットのチェックを行う。
【０２０８】
それに加え本実施の形態では、コントローラ１０１が入出力を直接行うことなく、公開鍵生成回路１１２が入出力処理を行う。
【０２０９】
公開鍵生成回路１１２はアドレス情報から公開鍵を生成する。また、サーバから送出された暗号化されたデータを受信する。この暗号化されたデータの復号を公開鍵生成回路１１２で行うか、コントローラ１０１で行うかは設計事項である。
【０２１０】
以上のように、フェイルビットマップを用いて、公開鍵を作成し暗号化通信を行うことでセキュリティ強度を向上させることが可能となる。
【０２１１】
（第１２の実施の形態）
次に本発明の第１２の実施の形態に付いて図を用いて説明する。
【０２１２】
コントローラ１０１が、フェイルビットマップの不良が発生しているアドレスからｎビットのアドレスを抽出し、そのまま並べる方法だと、不良アドレスの出現順位に偏りが生じる。例えば、昇順、降順のように並べると、どうしても上位のビットに偏りが生じやすい。
【０２１３】
また。ＳＲＡＭなどの記憶領域のアドレスは一定のアドレス空間に集中して配置される。従って、並べ方を考慮しなくても、上位のビットは偏り易い。
【０２１４】
そこで、このフェイルビットアドレスを送出する場合の偏りの防止を狙うのが本実施の形態である。図２２は本発明の第１２の実施の形態の概念図である。
【０２１５】
すなわち、アドレスの上位数ビットを強制的に削除する。そしてチップ固有ＩＤとして出力すればビットの偏りが小さくなる。
【０２１６】
これによりＩＤの固有性が大きくなり、セキュリティ強度の向上を図ることが可能となる。
【０２１７】
（第１３の実施の形態）
次に本発明の第１３の実施の形態に付いて図を用いて説明する。
【０２１８】
第１２の実施の形態では、上位ビットを削除することでビットの偏りを小さくすることを検討した。
【０２１９】
これに対し、本実施の形態では、フェイルビットのアドレスを構成するビットの排他的論理和を取ることで、アドレス長に依存せずにＩＤの固有性を高めることを目的としている。
【０２２０】
図２３は本発明の第１３の実施の形態の概念図である。
【０２２１】
この図を見ても分かる通り、フェイルビットアドレスを構成するビットの排他的論理和を取る。複数のアドレスの場合、各アドレスでそれを行い、それをつなぎ合わせることでチップ固有ＩＤとする。このチップ固有ＩＤを送信することでアドレス長に依存せずにＩＤの固有性を高めることが可能となる。
【０２２２】
（第１４の実施の形態）
次に本発明の第１４の実施の形態に付いて図を用いて説明する。
【０２２３】
メモリでは、ＴＡＰ端、ＩＯ端近傍に不良が発生し易い傾向がある。すなわち、これらの箇所については不良アドレスに偏りが生じる可能性がある。そこで不良の発生し易い箇所についてはフェイルビットアドレス取得の対象から除外してＩＤを生成することで、ＩＤの固有性を高めることを検討する。
【０２２４】
図２４は、本発明の第１４の実施の形態の概念図である。
【０２２５】
この図では、行アドレス「・・・０００」〜「・・・１１１」がＴＡＰ領域である。また、列アドレス「１１１・・・」「０００・・・」が入出力切り替え部に当たる。これらの場所ではフェイルビットが発生し易いため、フェイルビットの分布の偏りが生じやすい。
【０２２６】
従って、コントローラ１０１がフェイルアドレスを用いる場合（例えば第１０の実施の形態の場合）、これらのアドレスは排除してチップ固有ＩＤを生成する。
【０２２７】
これにより、ＩＤの固有性を高めることが可能となる。
【０２２８】
（第１５の実施の形態）
次に本発明の第１５の実施の形態に付いて図を用いて説明する。
【０２２９】
本実施の形態では、ＢＩＳＴテスト後の出力の期待値の比較の結果を用いて固有チップＩＤの生成を行う点で特徴がある。
【０２３０】
すなわち、ＢＩＳＴテストの結果から不良が発生しているビットを抽出した後に、その不良が出力のどのビット信号線に生じたかをデコードすることで、ＩＤを生成する。
【０２３１】
図２５は、本発明の第１５の実施の形態の概念図である。
【０２３２】
この図２５の上段はＢＩＳＴテストの結果の期待値を表す。このＢＩＳＴテストの結果の期待値のビット幅は１６ビットである。
【０２３３】
一方、図２５の下段は導出するチップＩＤを表す。このチップＩＤのビット幅は４ビットである。
【０２３４】
まず上段の期待値のどこにエラーが発生したのかを確認する。そしてそれをデコードして４ビットで表す。すなわち、期待値の０ビット目に不良が発生していれば「００００」、１ビット目の場合は「０００１」、２ビット目の場合は「００１０」、１４ビット目の場合は「１１１０」、１５ビット目の場合は「１１１１」とする。
【０２３５】
この期待値をデコードした値をチップＩＤとして出力することで、アドレスへの依存性を低下することが可能となる。結果、アドレスに依存せずＩＤを生成することができるため、ＩＤの固有性を高めることが可能となる。
【０２３６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更が可能であることは言うまでもない。
【産業上の利用可能性】
【０２３７】
本発明は、ホストコンピュータ及びサーバに認証を伴うアクセスを行うチップ、及び該チップを実装する端末での利用を想定する。
【符号の説明】
【０２３８】
１０１、１０１ｂ…コントローラ、１０２…可変電源回路、１０３…メモリ、
１０４、１０４ｂ…メモリＢＩＳＴ、１０５…フェイルビットカウンタ、
１０６…比較器、１０７…電圧制御信号生成器、１０８…Ｃｈｉｐ  ＩＤ生成器、
１１１…温度センサ、１１２…公開鍵生成回路
【図１】
0005474705.tif 000002
【図２】
0005474705.tif 000003
【図３】
0005474705.tif 000004
【図４】
0005474705.tif 000005
【図５】
0005474705.tif 000006
【図６】
0005474705.tif 000007
【図７】
0005474705.tif 000008
【図８】
0005474705.tif 000009
【図９】
0005474705.tif 000010
【図１０】
0005474705.tif 000011
【図１１】
0005474705.tif 000012
【図１２】
0005474705.tif 000013
【図１３】
0005474705.tif 000014
【図１４】
0005474705.tif 000015
【図１５】
0005474705.tif 000016
【図１６】
0005474705.tif 000017
【図１７】
0005474705.tif 000018
【図１８】
0005474705.tif 000019
【図１９】
0005474705.tif 000020
【図２０】
0005474705.tif 000021
【図２１】
0005474705.tif 000022
【図２２】
0005474705.tif 000023
【図２３】
0005474705.tif 000024
【図２４】
0005474705.tif 000025
【図２５】
0005474705.tif 000026
【図２６】
0005474705.tif 000027
【図２７】
0005474705.tif 000028