(57)【要約】【課題】その存続期間全体にわたってチップに対して不変かつ一意である固有パラメータを使用してチップを識別するための、システムおよび方法を提供する。【解決手段】ランダムな固有チップＩＤの生成は、保持フェイル署名を採用する。第１および第２のＩＤは、第１の設定が第２よりも制約的なテスト設定値を使用して生成され、第２のＩＤビット文字列を含む第１のＩＤビット文字列内により多くのフェイルを作成する。保持休止時間は、ＢＩＳＴエンジンによって調整される保持フェイルの数を制御し、フェイル数は所定のフェイル・ターゲットを満たす。検証は、第１のＩＤが第２のＩＤビット文字列を含むかどうかを確認し、ＩＤは認証のために使用される。認証は、第１のＩＤが第３のＩＤビット文字列を含み、第３のＩＤが第２のＩＤビット文字列を含むような中間状態で、第３のＩＤによって有効化される。中間状態は、第１および第２のＩＤ境界近くのビット不安定性の問題を消去するための保護帯域を含む。中間状態は各ＩＤ読み取り動作で変更され、結果としてよりセキュアな識別が生じる。【選択図】  図５
2015504634.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・アレイ４００を有するチップを識別するための方法であって、
ａ）  コンピュータを使用して、前記メモリ・アレイに固有のパラメータを決定すること（２５５）、
ｂ）  第１（２７５）および第２の識別（ＩＤ）２進数文字列２７５、２９０を生成するために前記メモリ・アレイのウィンドウ・アドレス位置を生成すること（２６０）、および、所定のフェイルカウント２６５に達するまで、前記メモリ・アレイ上でテストを反復すること、および、
ｃ）  前記第１と前記第２のＩＤ２進数文字列を比較することであって、前記第１の２進数文字列が前記第２の文字列のすべてのフェイル・メモリ・アドレスを含む場合、前記第１および前記第２の２進数文字列が前記チップ識別となる、比較すること、
を含む、方法。
【請求項２】
前記メモリ・アレイの新しいウィンドウ・アドレス位置を選択すること、および、その後に続く、前記チップ識別が取得されるまでステップｂ）からｃ）を反復することをさらに含む、請求項１に記載の方法。
【請求項３】
保持フェイルを使用して、固有ＩＤ２進数文字列を生成することをさらに含む、請求項１に記載の方法。
【請求項４】
前記保持フェイルが少なくとも２つのテスト・パラメータによって制御され、前記固有チップＩＤ文字列のうちの少なくとも２つが前記テスト・パラメータへの依存によって生成される、請求項３に記載の方法。
【請求項５】
保持休止時間またはワード線（ＷＬ）低電圧を使用して、前記保持フェイルを生成するための制御をさらに含む、請求項３に記載の方法。
【請求項６】
前記休止時間および前記ＷＬ電圧がビルトイン・セルフテスト・エンジンを使用して調整され、フェイルの数が対応するキーによって定義されたフェイル・ターゲットを満たす、請求項５に記載の方法。
【請求項７】
前記第１のＩＤビット文字列が前記第２のＩＤビット文字列を含むことを確認するために検証することをさらに含む、請求項１に記載の方法。
【請求項８】
認証に使用されるチップＩＤとして前記ＩＤをデータベース内に記憶することをさらに含み、前記第１のＩＤビット文字列が前記第３のＩＤビット文字列を含み、前記第３のＩＤビット文字列が前記第２のＩＤビット文字列を含むという中間状態で、第３のＩＤを生成することによって前記認証が有効化される、請求項１に記載の方法。
【請求項９】
前記中間状態に第３のキーが提供され、前記第３のキーは動的キーとして各認証で変更される、請求項８に記載の方法。
【請求項１０】
前記中間状態が、前記第１および第２のＩＤ生成境界近くのビットの不安定性を消去するための保護帯域をさらに含む、請求項８に記載の方法。
【請求項１１】
前記中間状態が各ＩＤ読み取り動作で変更され、結果としてセキュアな識別を生じる、請求項８に記載の方法。
【請求項１２】
前記固有チップＩＤ２進数文字列が、それぞれ第１および第２のテスト・パラメータを使用して前記第１および第２のＩＤ文字列を生成し、前記第１のテスト・パラメータが前記第２のテスト・パラメータよりも多くのフェイルを生成するための条件である、請求項３に記載の方法。
【請求項１３】
前記第１および第２のＩＤ２進数文字列の生成が、対応する２つの固定キーを適用することによって有効化される、請求項１に記載の方法。
【請求項１４】
前記２つの固定キーが、前記固有チップＩＤの前記所定のフェイルカウントへの情報を含む、請求項１３に記載の方法。
【請求項１５】
前記ランダムな固有チップＩＤの生成が、動的ランダム・アクセス・メモリ（ＤＲＡＭ）内に実装された保持フェイル署名を採用する、請求項１に記載の方法。
【請求項１６】
前記ランダムな固有チップＩＤの生成が、静的ランダム・アクセス・メモリ（ＳＲＡＭ）内に実装された交差結合セル・フェイル署名を採用する、請求項１に記載の方法。
【請求項１７】
前記交差結合セル・フェイルが、交差結合セルに結合している第１の電圧、ワード線電圧に結合している第２の電圧、ビット線等化器に結合している第３の電圧、前記ビット線等化器を介してビット線に結合している第４の電圧、または前記電圧の任意の組み合わせを、変更することによって作成される、請求項１６に記載の方法。
【請求項１８】
チップ６２０を識別するための方法であって、
ａ）  第１のＩＤ２進数文字列２７５および第２のＩＤ２進数文字列２９０を記憶することであって、前記第１のＩＤ２進数文字列が前記第２のＩＤ２進数文字列のすべてのビットを含む、記憶すること、および、
ｂ）  前記チップから第３のＩＤ２進数文字列を読み取ること、ならびに、前記第１のＩＤ２進数文字列が前記第３のＩＤ２進数文字列を含み、前記第３のＩＤ２進数文字列が前記第２のＩＤ２進数文字列を含むことを満たすように設定された、第１および第２のＩＤ２進数文字列の記憶を検索することによって、前記対応するチップを識別するために認証すること、
を含む、方法。
【請求項１９】
前記チップから読み取られた前記第３のＩＤが、各連続認証イベントで変更される、請求項１８に記載の方法。
【請求項２０】
メモリ・アレイ４００を有するチップを識別するための方法ステップを実行するために、機械による実行可能な命令のプログラムを有形に具体化する、機械による読み取り可能な非一過性プログラム記憶デバイスであって、方法ステップが、
ａ）  コンピュータを使用して、前記メモリ・アレイに固有のパラメータを決定すること２５５、
ｂ）  第１および第２の識別（ＩＤ）２進数文字列２７５、２９０を生成するために前記メモリ・アレイの第１のウィンドウ・アドレス位置を生成すること、および、所定のフェイルカウント２６５に達するまで、前記メモリ・アレイ上でテストを反復すること、および、
ｃ）  前記第１と前記第２のＩＤ２進数文字列を比較することであって、前記第１の２進数文字列が前記第２の文字列のすべてのフェイル・メモリ・アドレスを含む場合、前記第１および前記第２の２進数文字列が前記チップ識別となる、比較すること、
を含む、非一過性プログラム記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア固有（intrinsic）キーおよび認証応答を使用するチップ識別、ならびにチップを識別するために一意識別文字列を生成するための方法および回路に関し、より具体的には、ＩＤセキュリティおよび高精度認証のために静的ランダム・アクセス・メモリ・アレイまたは動的ランダム・アクセス・メモリ・アレイを使用する、ＶＬＳＩチップのクローン作成不能な（unclonable）固有識別を生成するための、方法およびシステムに関する。
【背景技術】
【０００２】
自己識別チップの信頼性は、現代のセキュリティおよび暗号化の適用分野において不可欠となってきている。Global Semiconductor Alliance（ＧＳＡ）は、「Hardware Intrinsic Security: FablessPerception and Awareness Study」において、半導体業界における秘密鍵記憶の必要性を記述しており、ここでコストは、秘密鍵記憶およびハードウェア固有セキュリティの採用を増加させるために対処することが必要な一番の障壁である。さらに、特定のデバイスの一意識別は、秘密鍵記憶を採用するために実践者によって与えられる主要な理由である。ＧＳＡ対象者、一般には工場を持たない半導体設計会社によれば、明らかに、内部および外部ＩＣクライアントに対して、チップ認証および識別に最小限の設計および面積オーバヘッドを提供する費用対効果の高いソリューションが不可欠である。このソリューションは、チップ上で必要とする追加の回路またはマスク・レベルが最小量であり、生産量に影響を与えず、広範囲にわたる製品に適応可能でなければならない。
【０００３】
集積回路（ＩＣ）の認証は、ワイヤ・パス遅延（場合によっては、温度／電圧動作条件の変化を調節するために補償される）、誤り訂正、ＰＵＦへのアクセスを制限する制御モジュール、真のＰＵＦ入力／出力関係を難読化する（obfuscate）ためのランダム・ハッシング、応答の複雑さを増大させるためのＰＵＦを通じた複数のフィードバック・ループ、または、変動クロック期間が適用される場合の変化に応答するＰＵＦを使用する、物理的クローン作成不能関数（ＰＵＦ）を含む。
【０００４】
物理的にクローン作成不能な関数を使用するデバイスを識別する場合、デバイスの識別を一意に表すＰＵＦへの応答の生成は、ハードウェアおよびソフトウェアに延在するメモリを有し、デバイスに関するハードウェア固有識別としてメモリ応答の使用を必要とする、デバイスを含む。ＳＲＡＭ、ラッチ、および（ある動作条件下で、論理ゲート間の競合をそれらが使用するための）ＦＰＧＡの製造および使用は、グループから各デバイスを一意に区別する変動的な特徴を有することができる。
【０００５】
ＩＣチップに一意識別を提供するシステムは、チップの一意識別に使用可能なチップ内のブロックを含むことができる。その後、チップは、セル内のランダムなパラメトリック変動の関数として応答を生成する、ＩＣ内に形成された複数の識別セルを含まなければならない。これは、少なくとも１つのトランジスタ、２つのトランジスタの不一致、変動タイプのセル、または、一連のビットとして読み出し可能なセル上に記憶された値を含むセルにまで、さらに拡大することが可能である。
【０００６】
プロセス変動が存在する中でのチップ識別回路の概念は、生成されたＩＤのハミング距離（すなわちＩＤ文字列内の論理１の数）を所望の値に合わせるための電圧の調整を導入するが、単一の生成サイクル内で反復されるＩＤのテストは、一度に生成されたＩＤが、その後、困難またはビットの変更なく読み出しできることを保証するために、ＩＤ安定性を向上させることができる。
【０００７】
前述のＩＤソリューションは理論的には固有ＩＤの生成が可能であるが、生成されたビットが経時的に変化する可能性のある不安定なビットを含み、正しいチップを識別できないか、またはこれを誤って識別する可能性を生じさせるというリスクが存在する。特に、ベクトル・ビット文字列の長さが短い場合、複数のチップに対して同じＩＤベクトルを生成する可能性がさらに存在する。ベクトル長さを長くすることで、複数のチップに対して同じＩＤを有する可能性は低減するが、認識用の長いベクトル・パターンを管理するためのシステム・オーバヘッドを増加させる。さらに、たとえチップが、チップ内に一意の固有ＩＤを一意に生成する場合であっても、ＩＤの読み取り動作中に、ＩＤが不正にコピーされ得るリスクが存在する。ベクトル管理の複雑さおよびシステム・オーバヘッドの増加を犠牲にしても、より長いＩＤベクトルを有することでこのリスクは減少する。固有の電子チップ識別のキーは、たとえば１００万を超える部品に対して信頼できる一意のＩＤ生成を生成することである。これには、安定したＩＤ生成および検証が、そのＩＤとその他とが誤認されることなく、１つのチップのみについて正しく定義されることが必要である。ＩＤ生成の課題に加えて、ＩＤ読み出し中に盗まれることがないように、ＩＤ読み取りは十分にセキュアでなければならない。
【０００８】
図１は、２次元マトリクスで配置構成された、複数の１つのトランジスタおよび１つのキャパシタ・セル（１０１）からなる、従来技術の動的ランダム・アクセス・メモリ・アレイ（ＤＲＡＭ）を示す。ＤＲＡＭアレイ１００は、ワード線（ＷＬ）およびビット線（ＢＬ）によってサポートされ、各ＷＬは、偶数のＢＬ（ＢＬｅ）または奇数のＢＬ（ＢＬｏ）のいずれかに結合された複数のセルをサポートしている。これにより、差動感知方式のためにＢＬｅおよびＢＬｏを使用してＢＬペアを作成することができる。メモリ・アクセスに先立って、すべてのＢＬがＢＬプリチャージ電圧（ＶＰＲＥ）にプリチャージされる。ＶＰＲＥは、好ましくは、セル内に格納された０から１の間の電圧の半分の電圧に設定される。例を挙げると、セルは、０に対して０ｖ、１に対してＶＤＤを格納し、ＶＰＲＥは１／２  ＶＤＤ感知方式に対して１／２  ＶＤＤで設定されることが想定される。ＷＬが立ち上がると、対応するＷＬに結合されたセルは同時に活動化され、選択されたセル内のキャパシタを対応するＢＬ（すなわちＢＬｅ）に結合する。その結果、セル・キャパシタとＢＬキャパシタとの間で電荷共有が生じる。他のＢＬ（すなわちＢＬｏ）はＶＰＲＥ（１／２  ＶＤＤ）レベルを維持し、各ＢＬペア間に差動電圧（デルタＳＡ）を生成する。その後、ＢＬ上のデルタＳＡはフルＣＭＯＳレベルに増幅され、センス増幅器（ＳＡ）（１０２）によってラッチされる。０読み取りの場合、ＢＬｅはＢＬｏよりも低く、ＢＬｅおよびＢＬｏをそれぞれ低および高にすることができる。１読み取りの場合、ＢＬｅはＢＬｏよりも高く、ＢＬｅおよびＢＬｏをそれぞれ高および低にすることが可能であり、対応するセルに書き込まれることになるフルに増幅されたＢＬ電圧をセルに復元させることが可能である。ワイヤ・モードはＷＬを活動化することによって有効化され、セルは、ＢＬ（すなわちＢＬｅ）を介して書き込まれることになる対応するＷＬを結合することができる。セルに書き込まれることになる電圧は、キャパシタによって動的ランダム・アクセス・メモリとして維持される。１データに対する容量電荷（またはＶＤＤ）は、保持休止時間の経過と共に漏れる可能性があり、結果として１フェイルが生じる。保持時間を増加させるために、ＷＬドライバ（１０６）は、好ましくは負の電圧（ＶＷＬ）を使用して、セル（１０１）のしきい値下電流を低下させることができる。好ましくは本発明で使用される固有チップ識別は、制御可能なランダム２進数ベクトルを作成するためにＶＷＬ制御を伴う保持挙動を採用しているように示され、その詳細は、好ましい実施形態において以下で考察する。
【０００９】
図３を参照すると、好ましくは、２次元マトリクス内の複数の同様の６トランジスタＳＲＡＭセルに近接して配置構成されることが意図された、交差結合インバータ（２３０および２３１）ならびに２つのアクセス・トランジスタ（２３２および２３３）からなる６トランジスタＳＲＡＭセル（２０１）からなる、従来技術の静的ランダム・アクセス・メモリ・セルおよびサポート回路が示されている。セルは、ワード線（ＷＬ）（２０５）およびビット線（ＢＬ）ペア（２１１および２１２）に結合される。ＳＲＡＭのメモリ・アクセスは、ＷＬイネーブル信号（２０３）を活動化することによって有効化される。これによってＷＬ（２０５）が高に設定され、アクセス・トランジスタ（２３２および２３３）を介して交差結合ノード（２１４および２１５）をビット線（２１１および２１２）に結合する。ＷＬの活動化に先立ち、ビット線等化イネーブル信号（２０７）が低になり、ＢＬ等化デバイス（２０９）を無効化し、結果としてＢＬペア上に差動電圧を作成することになる。ＢＬペア上の差動電圧は、センス増幅器（ＳＡ）（２１３）を使用してデジタル２進数出力に変換される。以下で示されるように、本発明で使用される固有ＩＤ生成は、好ましくは等化器を有効化する一方でＷＬを活動化し、結果として異常な状況を生じさせ、ランダム２進数文字列を生成することになり、その詳細は好ましい実施形態において以下で考察する。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】GlobalSemiconductor Alliance（ＧＳＡ）によるHardware Intrinsic Security: FablessPerception and Awareness Study
【発明の概要】
【発明が解決しようとする課題】
【００１１】
したがって、本発明の実施形態は、その存続期間全体にわたってチップに対して不変かつ一意である固有パラメータを使用してチップを識別するための、システムおよび方法を提供する。
【課題を解決するための手段】
【００１２】
安定した固有ＩＤは改ざん防止型であり、製造プロセスの変動によって決定されるパラメータへの依存により、偽造不可能である。典型的な製造プロセスは、各ダイ上で一意かつランダムに変化するいくつかのパラメータを有し、保護帯域およびＩＤ生成および認証のための検証方法を提供することによって、安定ビットが生成される。
【００１３】
一実施形態において、方法は、チップを一意に識別する動的ランダム・アクセス・メモリを使用する場合は反復されない、固有保持特徴のセットを採用する。チップをテストするかまたは適格とする場合に、その多くがすでに記録されている可能性のある、その固有保持特徴によってチップを識別することにより、ＩＤのセキュリティおよびコストが改善される。実施形態は、追加の処理、テスト、またはストレスなしに、１つのトランジスタおよび１つのキャパシタを使用するその高密度メモリ・アレイ構造により、極端な低コスト高セキュリティ・ソリューションを提供する。
【００１４】
一実施形態において、本発明は、システムに記憶されたチップ当たり少なくとも２つのＩＤについて、課題応答ペアを有効化するための回路を追加することを含み、第１のＩＤベクトル文字列は第２のＩＤベクトル文字列を含み、課題応答ペアをどのように適用および使用することができるかを示す。共通の設計に基づいて製作されたデバイスのグループからの第１のデバイスの識別および認証は、第１のＩＤ文字列が第３のＩＤ文字列を含み、第３のＩＤ文字列が第２のＩＤ文字列を含むように、第３のＩＤを使用することによって実現される。
【００１５】
一実施形態において、本発明は、たとえＩＤ読み取りベクトルが不正にコピーされた場合であってもセキュリティが保証されるように、認証のために動的に変更された第３のＩＤを生成するためのビット・ベクトルを有することによって、ＩＤシステムのセキュリティを増大させる。
【００１６】
本発明の一実施形態は、有利なことに、２つの所定の対応キーを使用することによって、第１のＩＤ２進数文字列および第２のＩＤ２進数文字列を発見するために、テスト条件の自動調整を有効化するためのビルトイン・セルフテスト（ＢＩＳＴ）を含む。キーは、第１のＩＤおよび第２のＩＤの文字列生成中にのみ使用される。
【００１７】
本発明の一実施形態は、動的キーを使用することによって、第３のＩＤ２進数文字列を発見するために、テスト条件の自動調整を有効化するためのビルトイン・セルフテスト（ＢＩＳＴ）を含む。キーは認証に使用され、各認証に動的に従う。
【００１８】
一実施形態は、ＩＤセキュリティをさらに向上させるために、キーの暗号化およびＩＤ２進数文字列の出力を含むことができる。
【００１９】
一実施形態において、本発明は、適用された複数ビット・デジタル入力と、製作時のランダム変動の結果としてデバイス間で異なる可能性のある集積回路の製作特徴とに、その出力が依存し、第１のデバイスで第１の識別子を符号化する信号を受信すること、一方向性関数の出力を生成するために第１の識別子を引数として使用する一方向性関数を適用すること、および、第１の関数を一方向性関数の出力に適用することを含む、第１の関数を適用することによって、第１のデバイスを認証する。
【００２０】
一実施形態において、暗号化は、元の識別文字列の知られていない変動サブセットを使用する識別または認証をカバーすることなく、従来の暗号化によって知られた課題応答ペアを必要とする認証を提供する。
【００２１】
一実施形態において、デバイスのアレイは、異常な動作条件下では異なって動作することを余儀なくされる可能性のある関数を、通常は標準の動作条件で提供する。前述の異常動作は、１つまたは複数の動作パラメータに関するものとすることが可能であり、結果として、これらのパラメータのうちの１つまたは複数を通常の動作領域を越えて調整することで、制御可能な数のデバイスに対して障害を誘発することになる。
【００２２】
一実施形態において、１つまたは複数の回路ブロックがデバイスを動作させる。ＩＤを取得するために、チップ入力が回路ブロックに適用される。チップを識別する必要がある場合、初期ＩＤ生成のために同様の入力がチップに適用される。示されたアーキテクチャに基づき、ＩＤとして戻される指定許容範囲内のオリジナル値と同様のセットが、その後、ＩＤが読み取られたときに戻されることが予測される。
【００２３】
一実施形態において、コンピュータを使用して、メモリ・アレイに固有のパラメータを決定すること、第１および第２の識別（ＩＤ）２進数文字列を生成するためにメモリ・アレイの第１のウィンドウ・アドレス位置を生成すること、および、所定のフェイルカウントに達するまで、メモリ・アレイ上でテストを反復することを含む、メモリ・アレイを有するチップを識別するための方法が提供される。方法は、第１と第２のＩＤ２進数文字列を比較することをさらに含むことが可能であり、第１の２進数文字列が第２の文字列のすべての障害メモリ・アドレスを含む場合、第１および第２の２進数文字列はチップ識別となり、含まない場合、メモリ・アレイの第２の新しいウィンドウ・アドレス位置が選択され、チップ識別が取得されるまでステップｂ）に戻る。
【００２４】
本発明は、添付の図面に関連して記載された本発明の実施形態の以下の詳細な説明から、より完全に理解されよう。
【図面の簡単な説明】
【００２５】
【図１】従来技術の動的ランダム・アクセス・メモリの概略を示す図である。
【図２】本発明の一実施形態に従った、固有ＩＤ生成に使用可能なサポート回路ブロックを伴う動的ランダム・アクセス・メモリの概略を示す図である。
【図３】従来技術の静的ランダム・アクセス・メモリの概略を示す図である。
【図４】本発明の一実施形態に従った、固有ＩＤ生成に使用可能な静的ランダム・アクセス・メモリの動作タイミング、電圧、および概略を示す図である。
【図５】本発明の一実施形態に従った動作を示す流れ図である。
【図６】保持休止時間、ワード線低電圧、または影響を与えるその他を含む、テスト条件に関し、より長い休止時間またはより高いワード線電圧が、本来の保持挙動としてフェイルの数をどの程度増加させるかを示す、ビット・マップ依存を示す図である。
【図７】不安定なビット、保護帯域、およびセーフ・ゾーンを含む、アレイの概略を示す図である。
【図８】一意ＩＤの生成の確率ＰＦＵＺＺＹ（＞ＰＭＩＮ）を示す図である。
【図９】保持ベースの固有チップ識別（ＲＩＣＩＤ）の生成および検出のためのチップおよびシステム・アーキテクチャを示す図である。
【図１０】ＲＩＣＩＤに関連する用語を示す表である。
【図１１】ＲＩＣＩＤ生成フローを示す図である。
【図１２】ＲＩＣＩＤ検出フローを示す図である。
【図１３】ビット・マップおよびＩＤの一意性を示すハードウェアおよびシミュレーション結果を示す図である。
【図１４】ハミング距離を示すハードウェアおよびシミュレーション結果を示す図である。
【発明を実施するための形態】
【００２６】
本明細書では、本発明の詳細な実施形態が開示される。しかしながら、開示された実施形態は、様々な形で具体化可能な本発明の単なる例示であることを理解されよう。加えて、本発明の様々な実施形態に関して与えられるそれぞれの例は例示的であり、制約的でないことが意図される。
【００２７】
次に図５を参照すると、示されたステップが本発明の実施形態を具体化するために使用可能な流れ図が示されている。
【００２８】
ステップ２５５で、メモリ・アレイに固有のパラメータが決定され、次に続くステップ２６０で、メモリ・アレイ内にウィンドウ・アドレス位置が作成される。次にステップ２６５で、所定のフェイルカウントが選択され、次に続くステップ２７０で、所定のフェイルに達するまで、テスト・メモリに動作パラメータを変更させる。ステップ２７５で、第１のＩＤ文字列２進数ベクトルが記録される。次に、所定の第２のフェイルカウントが選択される。ステップ２８０では、テスト・メモリは、所望のフェイルカウントに達するまで動作パラメータを変更する。ステップ２８５では、第２のＩＤ文字列２進数ベクトルが記録される。２９０では、第１のベクトルと第２のベクトルが比較される。ステップ２９５では、ベクトルのペアはＩＤとして記録される。
【００２９】
従来技術の固有ＩＤ生成は、ハミング距離を最大にするために、１データが５０％、０データが５０％を目標とするランダム・ビット・ベクトルを生成する。本発明の実施形態における固有ＩＤ生成は、それぞれがある数の０または１ビットを有するが、一方が他方のすべての１または０ビットを含むという規則を満たす、２つのランダム・ビット・ベクトルを生成する。これは、保持挙動を伴うＤＲＡＭアレイ動作、または異常条件および初期化方式を伴うＳＲＡＭアレイ動作を監視しながら、アレイにフィードバック・ループを導入することによって実行可能である。
【００３０】
次に図６を参照すると、それぞれビット・マップ３０２および３０３に対応するＩＤ２進数文字列ベクトル３１２および３１３と並んで、テスト・パラメータ３１０に関するビット・マップ・パターン３０１〜３０４が示されている。例示の目的で、変調されるテスト・パラメータ３１０は、１つのトランジスタおよび１つのキャパシタ・セル（１Ｔ１Ｃ）１０８ならびにセンス増幅器（ＳＡ）１０９のアレイ１０７を含む、図２に示された動的ランダム・アクセス・メモリ（ＤＲＡＭ）に関する保持休止時間であるものと想定してみよう。固有ＩＤの生成に先立って、ＤＲＡＭアレイ１０７は、各１Ｔ１Ｃセル１０８のキャパシタへの論理１をアレイ内に記憶する。セルが漏れをチャージする前にデータ・ビットが読み取られた場合、読み取りデータは論理１であり、クリーン・ビット・マップ３０１を示す。保持休止時間が長くなると、いくつかの漏出セルは他のセルよりも早く低減電圧までディスチャージされ、結果としてビット・マップはフェイルを示すことになる３０２。保持休止時間が長くなるにつれてビット・マップ内のフェイル数は増加する３０３。保持休止時間が十分に長くなると、ビット・マップ内のすべてのセルがフェイルする３０４。より短い休止時間のフェイル・ビットのセット３０２は、固有ＩＤを作成するための要件を満たす、より長い休止時間のフェイル・ビットのセット３０３のサブセットであることが、関連して示されている。
【００３１】
次に図２を参照すると、フェイル数は、有利なことに、ＷＬドライバ１１１に接続されたＷＬのスタンバイ状態である、ＷＬ低電圧（ＶＷＬ）１１０によって制御可能である。より高いＶＷＬは漏れを増加させ、より長い保持休止時間と同様に、固有ＩＤを作成するための要件を満たしながらビット・フェイル・マップ３０３内により多くのフェイルを作成する一方で、より低いＶＷＬはビット・フェイル・マップ３０２内により少ないフェイルを作成する。実施形態において、ＶＷＬ調整モジュール（電圧ジェネレータ）１１４内にフェイルカウントをフィードバックするための追加の回路ブロックが提供される。フェイルカウンタ１１３には、ターゲット・フェイルカウント１１２が提供され、ターゲット・フェイルカウントに達するまで新しいパラメータを用いてアレイのテストを反復するモジュール１１４へのコマンドによって、ＶＷＬを調整する。フェイルカウンタは、ＳＡからの論理０の読み取りがフェイルであるとみなされるため、ＳＡ出力１１８からの０ビットの数をカウントするための単純なカウンタである。適切な電圧設定のためにＶＷＬを調整することによって、第１のＩＤ２進数文字列が第２のＩＤ２進数文字列内に記録されたすべてのフェイル・ビットを含むように、第１および第２のＩＤ２進数文字列を生成する固有ＩＤに関する要件を満たしながら、ターゲット数のフェイルを含むようにビット・マップ３０２および３０３を作成することができる。２Ｄビット・マップ３０２および３０３は、図６に示されるように、それぞれ１Ｄ２進数文字列ベクトル３１２および３１３の２つのセットに変換され、各論理１はフェイル・ビットのアドレス位置にある。オプションで、変換されたＩＤは、セキュリティを向上させながらＩＤサイズを低減させるように、圧縮または暗号化することができる。
【００３２】
別の方法として、フェイルの数は、有利なことに、ＳＲＡＭビット線等化電圧レベルによって制御可能である。図４に戻って参照すると、タイミング図と共にＳＲＡＭベースの固有ＩＤ生成方式が示され、ＳＲＡＭアレイ２４３は従来のアレイとすることができる。前述のように、一方のベクトルが他方を含むという規則を満たしながら、２つのターゲット数に対応する２つのベクトルを作成するための方法を提供することが非常に重要である。これは一意のタイミング制御を使用することで実行可能であり、図２３７に示されたタイミングは、Ｄ生成モードでのＳＲＡＭ動作の視覚的説明を提供する。図６のビット・フェイル・マップ３０２および３０３は、それぞれ、第２のＩＤ２進数文字列および第１のＩＤ２進数文字列に示されたようにフェイルする可能性のあるビットを示している。図３に示されるように、ＳＲＡＭアレイは、６トランジスタ・セル２０１内の交差結合インバータ（２３０および２３１）用の第１の電圧２５０、ワード線ドライバ２０２用の第２の電圧２０４、ビット線等化ドライバ２０６用の第３の電圧２０８、および、当該ビット線等化器２０９を介してビット線に結合された第４の電圧２１０を使用する。固有ＩＤ生成に先立って、すべてのメモリ・セルに関する交差結合ノード２１４および２１５は、それぞれ高（論理１）および低（論理０）に設定される。これは、当分野で知られる、ＳＲＡＭアレイへの１データの書き込みによって達成可能であるため、これ以上詳細には考察しない。固有ＩＤ生成の場合、従来のＳＲＡＭ動作とは異なり、等化器トランジスタ２０９は、信号２０３によってＷＬが活動化された場合に信号２０７を高に保持することによってオンを維持する。その結果、交差結合ノード２１４と２１５との間、および電圧２１０への短絡が発生する。信号２０７は、ＷＬ非活動化に先立って低となり、交差結合ノード２１４および２１５の設定を、それぞれ高および低または低および高にすることができる。状態は、アクセス・トランジスタ２３２および２３３ならびに等化器トランジスタ２０９の強さ、および、交差結合インバータ（２３０および２３１）に対するしきい値電圧の不一致を使用して決定される。その結果、およそ５０％の論理０および５０％の論理１からなる２進数ベクトル・パターンを生成することになる。本発明における固有ＩＤ生成は、０および１のパターン生成のためのスキュー（skew）を作成する。たとえば、アクセス・トランジスタ２３２、アクセス・トランジスタ２３３、等化器トランジスタ２０９、または任意の組み合わせが、適切な強さでない場合、論理値が最初に格納されたチャージをフリップする（flip）確率が高い。効果を等化する交差結合ノードが増加するにつれて、ＳＲＡＭアレイ内のいくつかのビットが反対の論理状態にフリップし、ビット・フェイル・マップにフェイルとして記録される。前述の第１の電圧が低下するにつれて、ノード等化効果は増加し、結果としてより多くのフェイル・ビットが生じる。第１、第２、第３、または任意の組み合わせの電圧を調整することによって、第１のＩＤ２進数文字列が第２のＩＤ２進数文字列内に記録されたすべてのフェイル・ビットを含むように、第１および第２のＩＤ２進���文字列を生成する固有ＩＤに関する要件を満たしながら、ターゲット数のフェイルを含むようにビット・マップ２３５および２３６を作成することができる。タイミング図２３７は、ＩＤ生成モードでのＳＲＡＭ動作の視覚的説明を提供する。ビット・フェイル・マップ２３５および２３６は、それぞれ、第２のＩＤ２進数文字列および第１のＩＤ２進数文字列内に示されるようにフェイルする可能性のあるビットを示す。別の方法として、ノード等化効果は、第１の電圧、第２の電圧、または第３の電圧の任意の組み合わせの調整によって、増加する可能性がある。
【００３３】
例を挙げると、第１の電圧２５０を調整することで、タイミング図（２３７）に示されるように、複数の読み取りおよび書き込みサイクルにわたって動作条件を調整することによって、ＳＲＡＭを使用するＩＤ生成に関するターゲット・フェイルカウントを達成することができる。前述のように、ノード（２１４および２１５）が公称電圧（２５０：１Ｖ、２０４：１Ｖ、２０８：１Ｖ、および２１０：０Ｖ）で短絡された場合、生成されるベクトルは５０％の０および１となる確率が高い。本発明の一実施形態では、０または１のターゲット数を増加させる固有ＩＤベクトルを実現するために、最初に通常の動作モードでメモリ・アレイ内のあらゆるセルに論理１が書き込まれ、次にカウンタが０ビットの数を決定する。従来の読み取り動作のようにビットが読み取られた場合、すべてのデータは１となり、結果として３０１に示されるようにフェイルは０となる。次に、所定の時間、ＢＬ等化器を無効化することなく、ＷＬを有効化することによって、交差結合ノード（２１４および２１５）が短絡される。等化器が無効化された場合、交差結合ノード（２１４および２１５）はプロセス・ランダム・パラメータに依存してフリップされ、結果としてビットのおよそ５０％が１から０にフリップすることになる。フェイルの数は、次の試行について第１の電圧２５０を制御する、カウンタ２４１によって監視される。この動作でターゲット・フェイルカウントが達成されない場合、アレイのあらゆるセルに１データを再書き込みするために通常のＳＲＡＭ書き込みサイクルが実行され、その後、第１の電圧２５０がＶｇｅｎ  ２４２によって第２の値まで低減される。ここで、アレイはＩＤ生成タイミングを使用してアクセスされるが、２５０に対する新しい電圧設定を含み、１から０に変化するビットの数は、好ましくは、以前の第１のＩＤ生成サイクルから減少し、フェイル・ビットの数はターゲット値２４０に近くなる。１を再書き込みし、第１の電圧２５０を減少させ、ＩＤ生成タイミングを適用し、メモリ・ビットを読み出すプロセスは、所望のフェイルカウントが達成されるまで反復される。
【００３４】
２セットの固有ＩＤの生成は、他の電圧を変更することによって生成可能である。たとえば、ビット線等化電圧（２０８）の変更により、１ビットの数を制御することができる。この手法では、第１のステップとして公称電圧（２５０：１Ｖ、２０４：１Ｖ、２０８：１Ｖ、２１０：０Ｖ）を用いる以前の２５０方法と同様に、すべてのセルが１に書き込まれる。電圧（２０８）は０Ｖに設定される。その結果、たとえＷＬおよび等化器が同時にオンであっても、交差結合ノード（２１４および２１５）は短絡されないため、フェイル・ビットはゼロ（１の読み取りに関する完全なビットマップ）となる。次のステップとして、電圧２０８は０．１Ｖまで増加され、交差結合ノード（２１４および２１５）を弱く短絡することが可能であり、結果としてフェイルが少なくなり（０ビットが少ない）、その結果はカウンタ（２４１）によって監視される。フェイルの数がターゲット数と一致しない場合、Ｖｇｅｎ（２４２）は電圧２０８を０．２Ｖ増加させる。このプロセスは、フェイルの数がターゲット数と一致するまで反復される。ＩＤ生成は、同様の方法を使用してＷＬ電圧（２０４）を変更することでも実現可能である。結果的に、別の方法として、ノード等化効果は、第１の電圧、第２の電圧、第３の電圧、または第４の電圧の任意の組み合わせの調整によって、増加または減少させることが可能であり、これによって、対応するターゲットを満たしながら２つのＩＤベクトルを生成することができる。
【００３５】
固有ＩＤ生成についてＳＲＡＭフェイルカウントを有利に制御するために、電圧の調整を有効化する構造が示される。ターゲット・フェイルカウント２４０が、フェイルカウンタ２４１に提示される。カウンタは、電圧を調整してそれらをＳＲＡＭアレイ２４３に印加する電圧ジェネレータ２４２への入力によって、第１、第２、第３、第４、または任意の組み合わせの電圧の調整を要求する。結果として生じる２４４出力は、ＳＲＡＭアレイからフェイルカウンタ２４１に戻され、フェイルカウンタ２４１はターゲット・フェイルカウントが達成されるまで上記のステップを反復する。
【００３６】
ＩＤ生成が保持休止、ＶＷＬ電圧、またはＳＲＡＭ電圧制御のいずれを使用するかにかかわらず、より短い保持休止時間、より低いＶＷＬ電圧、またはより高いＳＲＡＭビット線等化電圧の保持フェイル・ビットは、より長い保持時間、より高いＶＷＬ電圧、またはより低いＳＲＡＭ等化電圧の保持フェイル・ビットに含まれる。
【００３７】
以下の実施形態は、保持ベースの固有ＩＤ生成がＶＷＬ制御を使用するものと想定する。しかしながら、保持休止またはＳＲＡＭビット線等化の手法にも適用可能である。
【００３８】
図７を参照すると、電圧変調または保持ベースの固有チップＩＤ（以下、ＲＩＣＩＤと呼ぶ）は、ファジー・アルゴリズムと共に採用される。ＲＩＣＩＤは、好ましくは、ＩＤベクトル・パターンを作成するために保持フェイルを使用する。前述のように、ＤＲＡＭセル保持の性質により、生成されるベクトル・ビットは、固有ＩＤに有利に使用可能な各チップに対してランダム・パターンである。しかしながら、この手法は、ビット数が変動するとチップを誤って識別する可能性がある。検出されたビットが保持コーナーの境界近くにある場合、不安定なビットはフェイル・ビットのリスト内で表示または非表示となる。ＲＩＣＩＤは、より短い保持時間およびより好ましい電圧に関するフェイル・ベクトルが、より長い保持時間およびより障害を誘導しやすい電圧に関するフェイル・ベクトルのサブセットであるように、複数のテスト・パターンまたはパラメータを採用する。
【００３９】
ＷＬおよびＢＬからなるメモリ・アレイ４００が示されるが、個々のセルは省略されている。ビット・フェイル・マップ（４０１）は、メモリ・アレイにテスト条件を適用し、円として表されたあるアドレスでのセル障害を観察した結果を表す。フェイル・ビットは複数のゾーン（たとえばＡ、Ｂ、Ｃ、およびＤ）に分類され、ベクトルＡ、Ｂ、およびＣはベクトルＤ（所定の最も長い保持または最も好ましくないテスト・コーナー）に含まれる。ＶＷＬなどのセルのフェイル数を制御できる動作パラメータの調整に関して示されたゾーン（４１１）が、その物理的特徴がＡ、Ｂ、Ｃ、またはＤなどのゾーンの領域内に入る場合、動作パラメータの変動がアレイ・ビットをフェイルさせることを示す図の隣に示されている。ＡがＤ内にあることが観察された場合、ＢおよびＣはＤ内にあるものと予測される。各ゾーン境界について追加の保護帯域（ＧＢ）（４１０）が含められ、結果として、保護帯域を加えたフェイル・ビットの最小セットを有するベクトルと、保護帯域を減じたフェイル・ビットの最大セットを有するベクトルとによって画定される、セーフ・ゾーン（ＳＺ）が作成されることになる。したがって、たとえわずかな不安定ビットが変動する場合であっても、それらがセーフ・ゾーン内に残っている限り、ＲＩＣＩＤは一意であると認識される。
【００４０】
図８を参照すると、一意ＩＤ作成の確率ＰＦＵＺＺＹに関する解析モデルが示されており、ここでｉ、ｊ、ｋ、およびｎは、それぞれ、ＤＲＡＭアレイ内のビット数、保持フェイルの最大数、保持フェイルの最小数、および使用されるサンプルまたはチップの数を表す。モデルは、ｊ＝１００およびｋ＝１０の４Ｋｂアレイ（Ｉ＝４Ｋ）が、１０６の部品に関する一意のＲＩＣＩＤ確率の９９％を超えて、十分に適切であることを予測する。
【００４１】
次に図９を参照すると、チップ（６２０）およびシステム（６００）アーキテクチャと、ファジー・アルゴリズムを伴うＲＩＣＩＤを採用する流れ図とが示されている。例示のため、チップは、（０，０）から（７，３）と番号付けされた３２の４Ｋｂセグメント（６２６）を備える、１２８ＫｂのｅＤＲＡＭアレイ（６２１）からなるものと想定される。それらは、ＢＩＳＴ（６２５）、ワード線低電圧（ＶＷＬ）ジェネレータ（６２２）、ＲＩＣＩＤジェネレータ（ＩＤＧＥＮ）（６２４）、およびセグメント・マネージャ（ＳＥＧ）（６２３）によってサポートされている。プロセス・エッジ効果を避け、ＩＤのランダム性を増加させるために、座標が（１，１）から（６，２）の間に入る１２の中心セグメントのみが使用される。システムは、所与のキー（６１０）を備えたＲＩＣＩＤを要求し、ＲＩＣＩＤ（６１１）応答を予想する、モジュール（６０２）を含む。さらに、ＲＩＣＩＤをテーブル（６０１）ＲＩＣＩＤＴＢＬ内に記憶するための機能も含む。
【００４２】
生成のために、システムはチップに２つの固定キー（６０２）、ＫＥＹＭＩＮおよびＫＥＹＭＡＸを提供し、それぞれ、ＲＩＣＩＤ文字列内で予想される最小数および最大数の保持フェイルである。チップがＩＤ要求（６１０）を受信すると、ＢＩＳＴ（６２５）は、第１のセグメント（１，１）についてＫＥＹＭＩＮ≦ＲＩＣＩＤの数≦ＫＥＹＭＩＮ＋ＧＢとなるように、ＶＷＬ（６２２）を変更する。チップがこの条件を満たさない場合、ＢＩＳＴはＳＥＧ（６２３）を使用して次のセグメント（２，１）を選択する。ＢＩＳＴが適切な条件を発見すると、ＢＩＳＴによってベクトルＲＩＣＩＤＭＩＮが一時的に記憶され、ＢＩＳＴは、第２の値ＫＥＹＭＡＸを使用し、ＫＥＹＭＡＸ−ＧＢ≦ＲＩＣＩＤの数≦ＫＥＹＭＡＸを満たすようにＶＷＬを変更することによって、ベクトルＲＩＣＩＤＭＡＸの検索を開始する。ベクトルＲＩＣＩＤＭＩＮがＲＩＣＩＤＭＡＸのサブセットであることを確認することによって、検証が達成される。サブセットでない場合、ベクトルは信用できないものとみなされ、ＢＩＳＴによって不適切な条件が検出されて、次のセグメントに適用されるように、上記で説明された前述のＶＷＬチューニングを使用して、新しいＲＩＣＩＤＭＩＮおよびＲＩＣＩＤＭＡＸベクトルを検索するために、セグメントはＳＥＧによって増分される。好適なＲＩＣＩＤＭＩＮおよびＲＩＣＩＤＭＡＸのペアが発見された場合、ベクトルはＩＤＧＥＮ（６２４）によって圧縮され、ＲＩＣＩＤ（６１１）としてシステムに出力される。その後、ＲＩＣＩＤベクトルは、使用可能であれば、一意のＩＤであることを確認するために、ＲＩＣＩＤテーブル（６０１）内の既存のＲＩＣＩＤＴＢＬベクトルと比較される。一意のＩＤでない場合、システムは、セグメント選択ＳＥＧを増分するようＢＩＳＴに要求することによって、新しいＲＩＣＩＤペアを要求する。一意のＲＩＣＩＤは、好ましくは製造業者によってテーブル内に記憶される。より一般的には、ＳＥＧはオプションでｅＦＵＳＥ内またはテーブル内に記憶することができる。
【００４３】
ＲＩＣＩＤ読み取り動作は、キー（６１０）でチップに読み取りキーＫＥＹＲを提供することによって有効化される。セキュリティを向上させるために、ＫＥＹＲは各読み取り動作で動的に変更される。２つの隣接するＫＥＹＲ値は２ＧＢよりも離れているものとし、たとえ不安定なビットが境界内で変動する場合であっても、正しい検出を可能にする。ＢＩＳＴがＩＤ検出用に構成され、ＫＥＹＲ入力を受信した後、チップは、ＲＩＣＩＤ生成モードと同様の方法でＶＷＬを変更することによって、フェイル・ベクトルＲＩＣＩＤＲを生成する。その後、ＲＩＣＩＤＲはシステムに出力される。初期に、システムは、偽造が事前にプログラミングした可能性のある以前のキーなどの、不正なキー読み出しを防止するために、ＲＩＣＩＤＲにおける１ビットの数がＧＢの許容範囲内でシステムによって入力される数量ＫＥＹＲに等しいかどうかをチェックする。数量が有効である場合、ＲＩＣＩＤＲは、所与のＲＩＣＩＤＲがそのサブセットであるＲＩＣＩＤＭＡＸを発見するために、半導体メーカ（foundry）またはＯＥＭによって記憶されたＲＩＣＩＤのテーブルと比較される。
【００４４】
図１０を参照すると、ＲＩＣＩＤの生成、検出、および記憶に関する用語を定義する表が示されている。
【００４５】
チップへの入力はＫＥＹであり、チップからの出力はＲＩＣＩＤであり、記憶された値はＲＩＣＩＤＴＢＬである。ＩＤ生成の場合、提供されるＫＥＹ値は、ＧＢの対象となる、ＩＤ文字列内で可能な最小数および最大数の１ビットを記述する、ＫＥＹＭＩＮおよびＫＥＹＭＡＸであり、それぞれのＲＩＣＩＤ応答がＲＩＣＩＤＭＩＮおよびＲＩＣＩＤＭＡＸであり、結果として記憶されるＲＩＣＩＤＴＢＬがＲＩＣＩＤＭＩＮおよびＲＩＣＩＤＭＡＸである。ＩＤ読み取り動作中、値ＫＥＹＲはチップへの入力であり、応答はＲＩＣＩＤＲであって、ＲＩＣＩＤＴＢＬに記憶されたＲＩＣＩＤＭＡＸと比較され、そのサブセットであるものと予想される。
【００４６】
図１１を参照すると、好適なＲＩＣＩＤを発見することが可能な特定の様式を含む、ＲＩＣＩＤ生成のためのステップを示す流れ図が示されている。チップ（８００）入力は、ＫＥＹＭＩＮおよびＫＥＹＭＡＸを受信する。アレイがフェイル・セルを有さないと予測して、初期のテスト条件がメモリ・アレイのセグメントに適用される（８０１）。有する場合、異なるセグメントを選択しなければならない（８０７）。有さない場合、チップ上で発生するフェイル数がＫＥＹＭＩＮよりも多いかまたはこれに等しいが、ＫＥＹＭＩＮ＋ＧＢよりも少なくなる（８０３）まで、ＶＷＬレベル（または他の好適なテスト・パラメータ）が変更される（８０２）。フェイル・セルのアドレスは、ＲＩＣＩＤＭＩＮとして一時的に記録される。チップ上で発生するフェイル・セルの数がＫＥＹＭＡＸ−ＧＢよりも多いかまたはこれに等しいが、ＫＥＹＭＡＸよりも少ないかまたはこれに等しくなるまで、ＶＷＬレベル（または他の好適なテスト・パラメータ）はさらに変更される（８０４）。フェイル・セルのアドレスは、ＲＩＣＩＤＭＡＸとして一時的に記録される。ＲＩＣＩＤＭＡＸがＲＩＣＩＤＭＩＮを含む場合（８０６）、ＲＩＣＩＤＭＩＮおよびＲＩＣＩＤＭＡＸの値はシステムに出力される（８１０）。ＲＩＣＩＤＭＡＸがＲＩＣＩＤＭＩＮを含まない場合、セグメントは次の好適な位置まで増分され（８１３）、プロセスは８０１から反復される。好適なセグメントが使用できない場合、エラーが報告され（８２０）、ハードウェアが好適でないことから、この方式ではチップＩＤを記録することができない。次に、ＲＩＣＩＤＭＩＮおよびＲＩＣＩＤＭＡＸが、テーブル内の既存の記録済みＲＩＣＩＤ値のリストと比較される（８１１）。所与の仕様に対して製作されたデバイスのグループ内で一意である場合、ＲＩＣＩＤ値は、製造業者またはＯＥＭによってテーブル内に記憶される（８１２）。
【００４７】
図１２を参照すると、好適なＲＩＣＩＤを発見することが可能な特定の様式を含む、ＲＩＣＩＤ読み取りのためのステップを示す流れ図が示されている。チップ（９００）入力はＫＥＹＲを受信する。アレイがフェイル・セルを有さないと予測して、ＲＩＣＩＤが最初に収集されたセグメントに初期のテスト条件が適用される（９０１）。有する場合、チップは損傷し、ＲＩＣＩＤを読み取ることができないため、エラーが報告される（９２０）。有さない場合、チップ上で発生するフェイルの数が、ＫＥＹＲのＧＢの範囲内で多いかまたは少ないかのいずれかでＫＥＹＲにほぼ等しくなる（９０３）まで、ＶＷＬレベル（または他の好適なテスト・パラメータ）が変更される（９０２）。指定されたテスト・パラメータを動かすことによって好適なフェイルカウントを発見できない場合、チップは識別できず、（真正チップがフェイルカウント全体にわたって制御を提供したことから）偽造チップの可能性もあるため、エラーが報告される（９２０）。フェイル・セルのアドレスはチップからＲＩＣＩＤＲとして出力される（９１１）。システム（９１０）はＲＩＣＩＤＲを受信し、ＲＩＣＩＤＲ内で報告されたフェイル・ビットの数がＫＥＹＲに近く、ＧＢの範囲内であるかどうかをチェックする（９１２）。ＫＥＹＲに近くなく、ＧＢの範囲内でない場合、チップは無効であり、エラーが報告される（９２０）。次に、ＲＩＣＩＤＲを含む記憶されたＲＩＣＩＤＭＡＸ値について、ＲＩＣＩＤ値のテーブルＲＩＣＩＤＴＢＬが検索される（９１３）。ＫＥＹＲに近く、ＧＢの範囲内である場合、チップはデバイス・グループのメンバーではなく、偽造である可能性があるか、未知のソースである可能性があるか、または無効である可能性があり、その場合、エラーが報告される（９２０）。そうでない場合、ＲＩＣＩＤＲはテーブル内の値と一致し、チップは正常に識別される（９１４）。
【００４８】
現在使用されている例示のチップは、ＢＩＳＴまたはビルトインＶＷＬ調整関数を有さないものと想定される。しかしながら、ＤＭＡモードのメモリ・アレイを介して通信するＡＴＥによってエミュレートすることができる。ＲＩＣＩＤは、所定数のフェイルを収集するために２ｍＶステップでメモリ・アレイに適用されるＶＷＬ値を増分することによって、好ましくは３２  ｅＤＲＡＭアレイに関して収集される。この例示のデモンストレーションの場合、４Ｋｂのアレイ領域が選択される。１５％  ＧＢの範囲内に多くとも１００ビットを有するＲＩＣＩＤは、ＶＷＬ値を動かすことによって各チップから収集され、ＲＩＣＩＤは、チップから１０のフェイル・ビットを取得していることを確認し、元のＲＩＣＩＤ内で同じ障害が発生していることを確認することによって、選択されたアレイ領域について検証された。次に、チップは、２５、５０、および７５のサンプルＫＥＹＲ要求を使用して識別される。シミュレートされたＢＩＳＴへのこれらの入力を使用して、チップが、元の記録されたＲＩＣＩＤＴＢＬのサブセットを使用して一意に識別できることを確認する。
【００４９】
図１３を参照すると、３２チップに関するハードウェア結果が示されている。変動するＩＤサイズ全体にわたる単一チップのビット・マップの集合（１１０１）は、４Ｋｂ領域について１つのＩＤから次のＩＤへと追跡された障害（１１０２）を示す。プロット（１１１０）は、モンテカルロ・シミュレーションおよびハードウェアにおいて、第１のチップのＲＩＣＩＤＭＡＸ＝１００および同じチップのＫＥＹＲ＝５０の任意の組み合わせについて、フェイル・ベクトル内に存在する最大５つの共通ビットを示す。
【００５０】
図１４を参照すると、モンテカルロ・シミュレーションによって（１２０１）、および実験的にハードウェアを使用して（１２０２）、生成された、ＲＩＣＩＤＭＡＸベクトルのすべてのペアに関するハミング距離分散が示されている。どちらのベクトル・セットも、ＲＩＣＩＤＭＡＸに関して好ましくは８６から１００までの範囲のｊと、９４．８に等しいフェイルの平均数とを有する。ハミング距離の平均およびσは、シミュレートされた結果については９４．７および２．８であり、実験結果については９４．６および３．０であった。距離は通常、通常の分位点プロットにおいて、９５％の信頼限界内で分散される。
【００５１】
本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実現可能である。本発明は、１つのコンピュータ・システム内で、または、異なる要素がいくつかの相互接続されたコンピュータ・システムにわたって拡散された分散形式で、実現可能である。任意の種類のコンピュータ・システム、または本明細書で説明された方法を実施するように適合された他の装置が、好適である。ハードウェアおよびソフトウェアの典型的な組み合わせは、ロードおよび実行された場合、本明細書で説明された方法を実施するようにコンピュータ・システムを制御するコンピュータ・プログラムを備えた、汎用コンピュータ・システムとすることができる。
【００５２】
本発明は、本明細書で説明された方法の実装を有効化するすべての機能を備え、コンピュータ・システム内にロードされた場合、これらの方法を実施することが可能な、コンピュータ・プログラム製品内に組み込むことも可能である。
【００５３】
本コンテキストにおいて、コンピュータ・プログラム手段またはコンピュータ・プログラムとは、情報処理機能を有するシステムに、直接、あるいは他の言語、コード、または表記法への変換後に、特定の関数を実行させること、あるいは異なる材料形式での再作成を実行させること、またはその両方が意図された、命令セットの任意の言語、コード、または表記法での任意の表現を意味する。
【００５４】
本開示は、その好ましい実施形態に関して特に表示および説明してきたが、当業者であれば、本開示の趣旨および範囲を逸脱することなく、形式および細部における前述および他の変更が可能であることを理解されよう。したがって本開示は、説明および例示された正確な形式および細部に限定されないが、添付の特許請求の範囲内にあることが意図される。
【産業上の利用可能性】
【００５５】
本発明は、高セキュリティおよび高精度の認証を提供し、多種多様な電子および電気装置における応用例を見出す、チップ識別を保証するための、集積回路チップの設計における産業上の利用可能性を見出す。
【図１】
2015504634.tif 000003
【図２】
2015504634.tif 000004
【図３】
2015504634.tif 000005
【図４】
2015504634.tif 000006
【図５】
2015504634.tif 000007
【図６】
2015504634.tif 000008
【図７】
2015504634.tif 000009
【図８】
2015504634.tif 000010
【図９】
2015504634.tif 000011
【図１０】
2015504634.tif 000012
【図１１】
2015504634.tif 000013
【図１２】
2015504634.tif 000014
【図１３】
2015504634.tif 000015
【図１４】
2015504634.tif 000016
【手続補正書】
【提出日】平成26年5月29日(2014.5.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリ・アレイを有するチップを識別するための方法であって、
ａ）  コンピュータを使用して、前記メモリ・アレイに固有のパラメータを決定すること、
ｂ）  第１および第２の識別（ＩＤ）２進数文字列を生成するために前記メモリ・アレイのウィンドウ・アドレス位置を生成すること、および、所定のフェイルカウントに達するまで、前記メモリ・アレイ上でテストを反復すること、および、
ｃ）  前記第１と前記第２のＩＤ２進数文字列を比較することであって、前記第１の２進数文字列が前記第２の文字列のすべてのフェイル・メモリ・アドレスを含む場合、前記第１および前記第２の２進数文字列が前記チップの識別となる、比較すること、
を含む、方法。
【請求項２】
前記メモリ・アレイの新しいウィンドウ・アドレス位置を選択すること、および、その後に続く、前記チップの識別が取得されるまでステップｂ）からｃ）を反復することをさらに含む、請求項１に記載の方法。
【請求項３】
保持フェイルを使用して、固有ＩＤ２進数文字列を生成することをさらに含む、請求項１に記載の方法。
【請求項４】
前記保持フェイルが少なくとも２つのテスト・パラメータによって制御され、前記固有ＩＤ文字列のうちの少なくとも２つが前記テスト・パラメータへの依存によって生成される、請求項３に記載の方法。
【請求項５】
保持休止時間またはワード線（ＷＬ）低電圧を使用して、前記保持フェイルを生成するための制御をさらに含む、請求項３に記載の方法。
【請求項６】
前記休止時間および前記ＷＬ電圧がビルトイン・セルフテスト・エンジンを使用して調整され、フェイルの数が対応するキーによって定義されたフェイル・ターゲットを満たす、請求項５に記載の方法。
【請求項７】
前記第１のＩＤビット文字列が前記第２のＩＤビット文字列を含むことを確認するために検証することをさらに含む、請求項１に記載の方法。
【請求項８】
認証に使用されるチップＩＤとして前記ＩＤをデータベース内に記憶することをさらに含み、前記第１のＩＤビット文字列が第３のＩＤビット文字列を含み、前記第３のＩＤビット文字列が前記第２のＩＤビット文字列を含むという中間状態で、第３のＩＤを生成することによって前記認証が有効化される、請求項１に記載の方法。
【請求項９】
前記中間状態に第３のキーが提供され、前記第３のキーは動的キーとして各認証で変更される、請求項８に記載の方法。
【請求項１０】
前記中間状態が、前記第１および第２のＩＤ生成境界近くのビットの不安定性を消去するための保護帯域をさらに含む、請求項８に記載の方法。
【請求項１１】
前記中間状態が各ＩＤ読み取り動作で変更され、結果としてセキュアな識別を生じる、請求項８に記載の方法。
【請求項１２】
前記固有ＩＤ２進数文字列が、それぞれ第１および第２のテスト・パラメータを使用して前記第１および第２のＩＤ文字列を生成し、前記第１のテスト・パラメータが前記第２のテスト・パラメータよりも多くのフェイルを生成するための条件である、請求項３に記載の方法。
【請求項１３】
前記第１および第２のＩＤ２進数文字列の生成が、対応する２つの固定キーを適用することによって有効化される、請求項１に記載の方法。
【請求項１４】
前記２つの固定キーが、前記固有ＩＤの前記所定のフェイルカウントへの情報を含む、請求項１３に記載の方法。
【請求項１５】
ランダムな固有ＩＤの生成が、動的ランダム・アクセス・メモリ（ＤＲＡＭ）内に実装された保持フェイル署名を採用する、請求項１に記載の方法。
【請求項１６】
ランダムな固有ＩＤの生成が、静的ランダム・アクセス・メモリ（ＳＲＡＭ）内に実装された交差結合セル・フェイル署名を採用する、請求項１に記載の方法。
【請求項１７】
前記交差結合セル・フェイルが、交差結合セルに結合している第１の電圧、ワード線電圧に結合している第２の電圧、ビット線等化器に結合している第３の電圧、前記ビット線等化器を介してビット線に結合している第４の電圧、または前記電圧の任意の組み合わせを、変更することによって作成される、請求項１６に記載の方法。
【請求項１８】
チップを識別するための方法であって、
ａ）  第１のＩＤ２進数文字列および第２のＩＤ２進数文字列を記憶することであって、前記第１のＩＤ２進数文字列が前記第２のＩＤ２進数文字列のすべてのビットを含む、記憶すること、および、
ｂ）  前記チップから第３のＩＤ２進数文字列を読み取ること、ならびに、前記第１のＩＤ２進数文字列が前記第３のＩＤ２進数文字列を含み、前記第３のＩＤ２進数文字列が前記第２のＩＤ２進数文字列を含むことを満たすように設定された、第１および第２のＩＤ２進数文字列の記憶を検索することによって、対応する前記チップを識別するために認証すること、
を含む、方法。
【請求項１９】
前記チップから読み取られた前記第３のＩＤが、各連続認証イベントで変更される、請求項１８に記載の方法。
【請求項２０】
メモリ・アレイを有するチップを識別するための方法のステップを実行するために、機械による実行可能な命令のプログラムを有形に具体化する、機械による読み取り可能な非一過性プログラム記憶デバイスであって、方法ステップが、
ａ）  コンピュータを使用して、前記メモリ・アレイに固有のパラメータを決定すること、
ｂ）  第１および第２の識別（ＩＤ）２進数文字列を生成するために前記メモリ・アレイの第１のウィンドウ・アドレス位置を生成すること、および、所定のフェイルカウントに達するまで、前記メモリ・アレイ上でテストを反復すること、および、
ｃ）  前記第１と前記第２のＩＤ２進数文字列を比較することであって、前記第１の２進数文字列が前記第２の文字列のすべてのフェイル・メモリ・アドレスを含む場合、前記第１および前記第２の２進数文字列が前記チップの識別となる、比較すること、
を含む、非一過性プログラム記憶デバイス。
【国際調査報告】
2015504634.tif 000017
2015504634.tif 000018