(57)【要約】【課題】高い耐タンパ性を有する不揮発性メモリ装置を提供する。【解決手段】不揮発性メモリ装置１０は、データ生成回路と、再構成処理回路とを備え、データ生成回路は、第１のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第１の種類のチャレンジデータを再び取得した場合に、第１のレスポンスデータとは異なる第３のレスポンスデータを生成し（ＰＵＦ登録モード）、第２のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第２の種類のチャレンジデータを再び取得した場合に、第２のレスポンスデータと同じ第４のレスポンスデータを生成する（恒久ＰＵＦ登録モード）。【選択図】図１９
2020102827.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリ装置であって、
抵抗変化型の複数のメモリセルで構成されたメモリセルアレイと、
チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成回路と、
前記メモリセルアレイに対して、少なくとも１回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路とを備え、
前記データ生成回路は、
第１の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第１のレスポンスデータを生成し、
第２の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第２のレスポンスデータを生成し、
前記第１のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第１の種類のチャレンジデータを再び取得した場合に、前記第１のレスポンスデータとは異なる第３のレスポンスデータを生成し、
前記第２のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第２の種類のチャレンジデータを再び取得した場合に、前記第２のレスポンスデータと同じ第４のレスポンスデータを生成する、
不揮発性メモリ装置。
【請求項２】
前記メモリセルアレイは、前記複数のメモリセルのうち、前記レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第１領域と、前記複数のメモリセルのうち、前記抵抗値以外の情報を保持するメモリセルで構成される第２領域とを有する
請求項１に記載の不揮発性メモリ装置。
【請求項３】
前記データ生成回路は、前記メモリセルアレイを構成する複数のメモリセルから抵抗値を取得する読出し回路と、取得した前記抵抗値から第１判定値を決定する判定値設定回路とを備え、前記第１の種類のチャレンジデータを取得した場合に、前記第１判定値と前記抵抗値との比較によって前記第１のレスポンスデータおよび前記第３のレスポンスデータを生成する、
請求項１に記載の不揮発性メモリ装置。
【請求項４】
前記第１判定値は、前記複数のメモリセルのうちの所定の複数のメモリセルの抵抗値の中央値である、
請求項３に記載の不揮発性メモリ装置。
【請求項５】
前記データ生成回路は、前記第１判定値よりも小さい第２判定値と、第１判定値よりも大きな第３判定値とを用いて、前記第２判定値よりも大きく、かつ、前記第３判定値よりも小さい抵抗値のメモリセルに割り当てられる第１データと、前記第２判定値よりも小さい、または、前記第３判定値よりも大きい抵抗値のメモリセルに割り当てられる第２データとで構成されたマスクデータを生成し、前記第２の種類のチャレンジデータを取得した場合に、前記マスクデータと前記第１のレスポンスデータまたは第３のレスポンスデータとの比較によって前記第２のレスポンスデータまたは前記第４のレスポンスデータを生成する、
請求項３または４に記載の不揮発性メモリ装置。
【請求項６】
前記メモリセルアレイは、前記複数のメモリセルのうち、前記レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第１領域と、前記複数のメモリセルのうち、前記マスクデータが格納される第２領域とを有する、
請求項５に記載の不揮発性メモリ装置。
【請求項７】
前記メモリセルアレイを構成する前記複数のメモリセルは、第１書込みを行うことで、第１抵抗状態から第２抵抗状態に遷移し、第１書込みとは異なる第２書込みを行うことで、第２抵抗状態から第１抵抗状態に遷移する性質を有し、
前記データ生成回路は、前記メモリセルアレイの前記複数のメモリセルのうち、前記第１抵抗状態に設定されている複数のメモリセルを用いて前記レスポンスデータを生成する、
請求項１〜６のいずれか１項に記載の不揮発性メモリ装置。
【請求項８】
前記再構成処理回路は、前記再構成書込みとして、前記第１抵抗状態のメモリセルに対して、前記第１書込みにより、前記第２抵抗状態へ遷移させた後、前記第２書込みにより、前記第１抵抗状態に遷移させる、
請求項７に記載の不揮発性メモリ装置。
【請求項９】
前記データ生成回路は、誤り訂正回路を具備し、前記レスポンスデータに対して、誤り訂正を行う
請求項１〜８のいずれか１項に記載の不揮発性メモリ装置。
【請求項１０】
前記メモリセルアレイは、前記複数のメモリセルのうち、前記レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第１領域と、前記複数のメモリセルのうち、前記誤り訂正を行う際に必要なヘルパーデータが格納されるメモリセルで構成される第２領域とを有する、
請求項９に記載の不揮発性メモリ装置。
【請求項１１】
抵抗変化型の複数のメモリセルで構成されたメモリセルアレイを備える不揮発性メモリ装置によってチャレンジデータに対応するレスポンスデータを生成するチャレンジ・レスポンス方法であって、
チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成ステップと、
前記メモリセルアレイに対して、少なくとも１回以上電圧パルスを印加する再構成書込みを実行する再構成処理ステップとを含み、
前記データ生成ステップでは、
第１の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第１のレスポンスデータを生成し、
第２の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第２のレスポンスデータを生成し、
前記第１のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第１の種類のチャレンジデータを取得した場合に、前記第１のレスポンスデータとは異なる第３のレスポンスデータを生成し、
前記第２のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第２の種類のチャレンジデータを取得した場合に、前記第２のレスポンスデータと同じ第４のレスポンスデータを生成する、
チャレンジ・レスポンス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、抵抗変化型の不揮発性メモリセルを複数有し、かつ耐タンパ性を有する不揮発性メモリ装置、および、不揮発性メモリ装置を用いたチャレンジ・レスポンス方法に関する。
【背景技術】
【０００２】
ネットバンキングやネットショッピングなど、インターネットを介して行われる電子商取引サービスの市場は急速に拡大している。このときの決済方法として電子マネーが用いられ、その媒体として利用されるＩＣ（“Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ”、以下同じ。）カードやスマートフォン端末も同様に利用が拡大している。これらのサービスには、決済時の安全性のため、通信における相互認証や通信データの暗号化にあたって常により高いレベルのセキュリティ技術が求められる。
【０００３】
ソフトウェア技術に関しては、高度な暗号化アルゴリズムを中心としたプログラム処理の暗号化技術が蓄積されており、十分なセキュリティが達成されている。しかし、技術進歩により、回路内部の情報をハードウェア的に外部から直接読み取られる懸念が急速に高まっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１０５５８５号公報
【特許文献２】国際公開第２０１４／１１９３２９号
【特許文献３】米国特許第８４４６２５０号明細書
【特許文献４】国際公開第２０１０／１０００１５号
【非特許文献】
【０００５】
【非特許文献１】Ｇｅｏｒｇｉｏｓ  Ｓｅｌｉｍｉｓ,  ｅｔ  ａｌ．“Ｅｖａｌｕａｔｉｏｎ  ｏｆ  ９０ｎｍ  ６Ｔ−ＳＲＡＭ  ａｓ  Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ  ｆｏｒ  Ｓｅｃｕｒｅ  Ｋｅｙ  Ｇｅｎｅｒａｔｉｏｎ  ｉｎ  Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｏｄｅｓ”
【非特許文献２】Ａｎ  Ｃｈｅｎ，“Ｃｏｍｐｒｅｈｅｎｓｉｖｅ  Ａｓｓｅｓｓｍｅｎｔ  ｏｆ  ＲＲＡＭ（登録商標）−ｂａｓｅｄ  ＰＵＦ  ｆｏｒ  Ｈａｒｄｗａｒｅ  Ｓｅｃｕｒｉｔｙ  Ａｐｐｌｉｃａｔｉｏｎｓ”  ＩＥＤＭ２０１５
【非特許文献３】Ｐ．Ｈ．Ｔｓｅｎｇ，  ｅｔ  ａｌ．“Ｅｒｒｏｒ  Ｆｒｅｅ  Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ  （ＰＵＦ）  ｗｉｔｈ  Ｐｒｏｇｒａｍｍｅｄ  ＲｅＲＡＭ  ｕｓｉｎｇ  Ｒｅｌｉａｂｌｅ  Ｒｅｓｉｓｔａｎｃｅ  Ｓｔａｔｅｓ  ｂｙ  Ｎｏｖｅｌ  ＩＤ−Ｇｅｎｅｒａｔｉｏｎ  Ｍｅｔｈｏｄ”  ＳＳＤＭ２０１７
【非特許文献４】Ｋｌａｕｓ  Ｋｕｒａｓａｓｗｅ，  “Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎｓ  −  Ｅｎａｂｌｉｎｇ  Ｔｅｃｈｏｌｏｇｙ  ｆｏｒ  Ｔａｍｐｅｒ−Ｒｅｓｉｓｔａｎｔ  Ｓｔｏｒａｇｅ”
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、高い耐タンパ性を有する不揮発性メモリ装置およびチャレンジ・レスポンス方法を提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様における不揮発性メモリ装置は、不揮発性メモリ装置であって、抵抗変化型の複数のメモリセルで構成されたメモリセルアレイと、チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成回路と、前記メモリセルアレイに対して、少なくとも１回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路とを備え、前記データ生成回路は、第１の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第１のレスポンスデータを生成し、第２の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第２のレスポンスデータを生成し、前記第１のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第１の種類のチャレンジデータを再び取得した場合に、前記第１のレスポンスデータとは異なる第３のレスポンスデータを生成し、前記第２のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第２の種類のチャレンジデータを再び取得した場合に、前記第２のレスポンスデータと同じ第４のレスポンスデータを生成する。
【０００８】
本開示の一態様におけるチャレンジ・レスポンス方法は、抵抗変化型の複数のメモリセルで構成されたメモリセルアレイを備える不揮発性メモリ装置によってチャレンジデータに対応するレスポンスデータを生成するチャレンジ・レスポンス方法であって、チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成ステップと、前記メモリセルアレイに対して、少なくとも１回以上電圧パルスを印加する再構成書込みを実行する再構成処理ステップとを含み、前記データ生成ステップでは、第１の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第１のレスポンスデータを生成し、第２の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第２のレスポンスデータを生成し、前記第１のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第１の種類のチャレンジデータを取得した場合に、前記第１のレスポンスデータとは異なる第３のレスポンスデータを生成し、前記第２のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第２の種類のチャレンジデータを取得した場合に、前記第２のレスポンスデータと同じ第４のレスポンスデータを生成する。
【発明の効果】
【０００９】
本開示により、高い耐タンパ性を有する不揮発性メモリ装置およびチャレンジ・レスポンス方法が提供される。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態における抵抗変化型の不揮発性メモリ装置の概略構成の一例を示すブロック図である。
【図２】図２は、図１に示された抵抗変化型の不揮発性メモリ装置が備えるメモリセルの概略構成の一例を示す断面図である。
【図３】図３は、あるメモリセルアレイに対する実測によって得られた低抵抗状態における規格化抵抗値とそのばらつきについての標準正規分布の偏差との関係をプロットした図である。
【図４】図４は、ある３ビットのメモリセルに対して、再構成書込みを１００回実行したときの規格化抵抗値とそのばらつきについての標準正規分布の偏差との関係をプロットした図である。
【図５】図５は、図１に示された不揮発性メモリ装置による再構成書込みのフローチャートである。
【図６】図６は、実施の形態における不揮発性メモリ装置の具体的な構成例を示すブロック図である。
【図７】図７は、図６に示された不揮発性メモリ装置が備える読出し回路の構成例を示す図である。
【図８】図８は、図７に示された読出し回路の一ビット分のより詳細な構成例を示す回路図である。
【図９】図９は、図６に示された不揮発性メモリ装置において選択されたメモリセルを読み出す場合のタイミングチャートである。
【図１０】図１０は、実施の形態における不揮発性メモリ装置によるＰＵＦデータ登録時の動作例を示すフローチャートである。
【図１１】図１１は、実施の形態における不揮発性メモリ装置によるＰＵＦデータ登録時に生成されるヘルパーデータの生成方法を示すデータフロー図である。
【図１２】図１２は、実施の形態における不揮発性メモリ装置によるＰＵＦデータ再生時の動作を示すフローチャートである。
【図１３】図１３は、実施の形態における不揮発性メモリ装置による登録時の正しいＰＵＦデータを再生する処理を示すデータフロー図である。
【図１４】図１４は、実施の形態における不揮発性メモリ装置によるＰＵＦ再構成モードの動作例を示すフローチャートである。
【図１５】図１５は、図１４の再構成書込みを１００回実行したときに生成される各回数でのＰＵＦデータ間のハミング距離と規格化度数とを示すグラフである。
【図１６】図１６は、実施の形態における不揮発性メモリ装置による恒久ＰＵＦデータ登録モードの動作例を示すフローチャートである。
【図１７】図１７は、図３に対して恒久ＰＵＦデータ登録モードに関する説明を追記した図である。
【図１８】図１８は、実施の形態における不揮発性メモリ装置による恒久ＰＵＦデータの生成に用いられるデータの具体例を示す図である。
【図１９】図１９は、実施の形態における不揮発性メモリ装置による恒久ＰＵＦデータ再生モードの動作例を示すフローチャートである。
【図２０】図２０は、実施の形態における不揮発性メモリ装置による恒久ＰＵＦデータの生成例を示す図である。
【発明を実施するための形態】
【００１１】
（本開示の基礎となる知見）
一般的にはセキュリティを強化したＩＣでは、内部に搭載する暗号鍵（「秘密鍵」ともいう。）を用いて秘密情報を暗号化して利用しており、情報の漏洩を防止している。この場合、内部に保持している暗号鍵の情報を外部に漏洩させないことが必須となる。
【００１２】
近年、ＰＵＦ（物理的複製困難関数；Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）と呼ばれる、新たなハードウェア技術が提案されている。ＰＵＦ技術は、製造ばらつきを活用してＩＣごとに異なるユニークな個体識別情報を生成する技術である。以降、本明細書ではＰＵＦ技術により生成される個体識別情報を「ＰＵＦデータ」と呼ぶ。ＰＵＦデータはＩＣの物理特性のばらつきに関連づけられた各デバイス固有のユニークなデータであり、物理特性の僅かなばらつきを利用するため、物理的解析が困難かつ、ＩＣ毎にその物理特性を人為的に再現することが困難であり、物理的な複製が困難なデータとして利用することができる。
【００１３】
具体的な先行例として、非特許文献１のようなＳＲＡＭ  ＰＵＦが例示され得る。この例では、ＳＲＡＭにおける各メモリセルにおける、トランジスタの閾値ばらつき（動作電圧ばらつき）で「０」データか「１」データか確定する、電源投入直後の初期値を利用するＰＵＦである。
【００１４】
その他にも、特許文献１〜３、非特許文献２および３のような、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；抵抗変化型メモリ）  ＰＵＦが例示され得る。特許文献３の例では、ＲｅＲＡＭのメモリセルの抵抗値ばらつきを利用している。そして、メモリグループ内の抵抗値を取得し、それらの抵抗値より、２値化するための基準となる判定値を求め、ＰＵＦデータを生成する。非特許文献２では、２つのセルを同一状態に書込み、書込み後の抵抗値ばらつきによる大小関係を比較することで、ＰＵＦデータを生成する方式である。また、特許文献３や非特許文献３では、ＲｅＲＡＭのフォーミングのランダム性をＰＵＦとして利用している。ＲｅＲＡＭのメモリセルでは、抵抗値の高い初期状態に対し、フォーミングと呼ばれる通常の書き換え電圧よりも大きな電圧ストレスを印加して絶縁破壊を引き起こさせることで、書き換えが可能な可変状態へと遷移させることができる。そしてこのフォーミングの過程において必要とされる電圧ストレスの印加時間は、メモリセル毎にランダムな特性を有する。本方式では、固定時間の電圧ストレスをメモリグループに与え、約半数のメモリセルのフォーミングが完了した時点で、電圧ストレス印加の処理を終了させる。すると、終了後のメモリセルグループには、初期状態と可変状態のメモリセルが約半数かつ、デバイス毎に固有なランダムなデータとして記録されることになる。当該方式は、当該ランダムなデータをＰＵＦデータとして利用する方式である。
【００１５】
更に、ＰＵＦの応用機能として、特許文献３、非特許文献４に示すような、再構成可能なＰＵＦが例示されている。特許文献３、非特許文献４では、ＰＵＦのデータソースとして扱われる抵抗変化型のメモリセルに対し、書換え処理を実行する。書換え処理を実行することで、デバイスの構造が変化し、各メモリセル間の抵抗値ばらつき関係が変化するため、書換え処理前とは異なる新たなＰＵＦデータを生成することが可能である。このように、複数のデバイスに対し、外部から共通の熱や電圧などのストレスを加えることで、ばらつきの関係性を変え、再構成の機能を実現している。
【００１６】
このようなＰＵＦ技術により、各ＩＣ固有の乱数となるＰＵＦデータを記録することで、解析されにくくかつ、複製できないデータとして扱うことができる。このＰＵＦデータは、例えば、前述した秘密鍵を暗号化するデバイス鍵として用いられる。デバイス鍵（つまり、ＰＵＦデータ）によって暗号化された秘密鍵は、暗号化された状態で不揮発性メモリに保存される。すなわち、不揮発性メモリに記録された暗号化秘密鍵はデバイス鍵でしか元の秘密鍵データに復号できないため、秘密鍵のセキュリティ強度は、ＰＵＦのセキュリティ強度に依存する。
【００１７】
一方、ＰＵＦは、物理特性の僅かなばらつきを利用していることから、同一のデバイスに対してＰＵＦデータを再生する場合、温度や電源といった環境変動の影響を受けやすく再現性の低下や、製造での物理的な依存性によるユニーク性の低下など、いくつかの課題が存在する。
【００１８】
特許文献４には、これらの再現性やユニーク性を改善するための対策として、Ｆｕｚｚｙ  Ｅｘｔｒａｃｔｏｒと呼ばれる技術が用いられている。これはＰＵＦのセキュリティ強度を維持しつつ誤り訂正が可能なアルゴリズムやハッシュ関数などのＰＵＦデータへのポスト処理が搭載された技術である。
【００１９】
本開示では、従来技術にはない、より高い耐タンパ性を有する不揮発性メモリ装置およびチャレンジ・レスポンス方法を提供する。
【００２０】
以下、本開示に係る発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略または簡略化する場合がある。
【００２１】
（本開示で用いる抵抗変化型の不揮発性メモリ装置の概要）
図１は、実施の形態における抵抗変化型の不揮発性メモリ装置１００の概略構成の一例を示すブロック図である。また、図２は、図１に示された抵抗変化型の不揮発性メモリ装置１００が備えるメモリセル９１の概略構成の一例を示す断面図である。なお、本明細書では、抵抗変化型の不揮発性メモリ装置を、単に不揮発性メモリ装置ともいう。
【００２２】
図１に示す例では、本実施の形態における不揮発性メモリ装置１００は、少なくともメモリセルアレイ９０と、制御装置９３とを備えている。なお、制御装置９３は、必ずしも不揮発性メモリ装置１００の一部である必要はなく、不揮発性メモリ装置１００外に設けられ、かつ、不揮発性メモリ装置１００と接続された装置であって、以下に説明する動作が行われてもよい。
【００２３】
メモリセルアレイ９０は、抵抗値の大きさに応じてディジタルデータが記録される抵抗変化型の複数のメモリセル９１がアレイ状に配置された構成を有する。本実施の形態では、メモリセルアレイ９０を構成する複数のメモリセル９１のうちの一部のメモリセル９１がＰＵＦデータ用のメモリセルとして割り当てられている。
【００２４】
図２に示す例では、メモリセル９１が備える抵抗変化素子１２０が、下地層１２２（例えば、Ｔａ２Ｏ５）と、第１電極１２４（例えば、Ｉｒ）と、抵抗変化層１２６（例えば、ＴａＯｘ）と、第２電極１２８（例えば、ＴａＮ）とを備えている。それぞれのメモリセル９１には、特定のメモリセルを選択するためのトランジスタ１２９が接続されている。
【００２５】
メモリセル９１は、異なる複数の電気的信号が印加されることによって、抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する可変状態を取りうる性質を有する。可変抵抗値範囲には、少なくとも、ディジタル情報のある１つの状態（第１抵抗状態）として低抵抗状態となる抵抗値範囲と、他の１つの状態（第２抵抗状態）として上記低抵抗状態よりも高抵抗な高抵抗状態となる抵抗値範囲とがある。このように、可変状態では、少なくとも、抵抗値を低抵抗状態と高抵抗状態とで可逆的に遷移させることができる。
【００２６】
また、メモリセル９１は、初期状態を取りうる性質を有する。「初期状態」とは、抵抗値が可変抵抗値範囲のいずれとも重複しない初期抵抗値範囲にある状態をいう。初期状態にあるメモリセルは、フォーミングが行われない限り可変状態とならない。「フォーミング」とは、所定の電気的ストレスをメモリセルに印加して、メモリセルの抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する状態へと、メモリセルを変化させることをいう。
【００２７】
フォーミングのために印加される電気的ストレス（フォーミングストレス）は、例えば、所定の電圧と時間幅を有する電気的パルスである場合もあるし、複数の電気的パルスを組み合わせたものである場合もある。フォーミングストレスは累積的なストレスであってもよい。その場合、ストレスの累積量が所定量を超えたときに、メモリセル９１は初期状態から可変状態に遷移する。
【００２８】
本実施の形態では、メモリセル９１は、製造後、フォーミングをしなければ抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する状態とならないような性質を有しているとする。つまり、半導体プロセス等により製造した後、フォーミングストレスが印加される前の抵抗変化素子は、初期状態にあるとして説明する。
【００２９】
しかしながら、この性質は一例であり必須ではない。メモリセル９１は、初期状態を取りうる素子でなくてもよく、例えば、可変状態のみを有する、いわゆるフォーミングレスの素子であってもよい。
【００３０】
メモリセルアレイ９０には、任意に設定したデータパターンを可変状態の違いで記録する以外にも、物理的な特性からランダムな個体識別情報であるＰＵＦとして利用される場合もある。
【００３１】
一例のＰＵＦでは、低抵抗状態の各メモリセルの抵抗値ばらつきを利用する。低抵抗状態であっても、微小な抵抗値のばらつきが存在し、当該一例のＰＵＦでは、当該特性が利用される。メモリセルアレイ９０の中から、複数のメモリセル９１が可変状態として全て同一の抵抗状態に設定され、ＰＵＦデータが記録されたメモリグループとして扱われる。
【００３２】
図３は、あるメモリセルアレイに対する実測によって得られた低抵抗状態における規格化抵抗値（横軸）とそのばらつきについての標準正規分布の偏差（σ）（縦軸）との関係をプロットした図である。図３に示されるように、メモリセルの抵抗値ばらつきの分布は、正規分布に従い、ほぼ直線に分布している。このことから、抵抗値ばらつきは極めてランダムな現象であることが確認できる。図３には、抵抗値ばらつきの分布の中央値（図の「Ｍｅｄｉａｎ」）を判定値として設定し、例えば、判定値よりも抵抗値が大きければ「１」データ（図中の「Ｄａｔａ“１”」）、小さければ「０」データ（図中の「Ｄａｔａ“０”」）として割り当てることでディジタルデータを出力する例が示される。
【００３３】
図４は、ある３ビットのメモリセルに対して、図５のフローチャートに示すような、高抵抗化書込み（あるいは、低抵抗化書込み）後に再び低抵抗化（あるいは、高抵抗化書込み）に書き戻す処理(以下、この書込みを再構成書込みと呼ぶ)を１００回実行したときの、各低抵抗化書込み後における規格化抵抗値（横軸）とそのばらつきについての標準正規分布の偏差（σ）（縦軸）との関係をプロットした図である。図示された３つの分布が３ビットのメモリセルのそれぞれに対応する。このばらつき特性が示すように、本実施の形態で用いるメモリセルは、図３で説明した、メモリセル間の抵抗値ばらつきだけでなく、各メモリセルの書換え後についても、抵抗値ばらつきを持っていることが分かる。更には、３ビットのメモリセルの書込みばらつき特性を比較すると、３つの分布に分離されていることから分かるように、それらの分布の形状や絶対値も大きく異なることが確認できる。この特徴を踏まえると、例えば、図３に示すような中央値を判定値として設定し、ディジタルデータを出力する方式を採用した場合、再構成書込みを実行すると、再構成書込み前後で０から１または、１から０に変化するメモリセル（図４の中央に位置する分布）と再構成書込み前後で０または１から変化しないメモリセル（図４の左および右に位置する分布）が存在していることが確認できる。以上のことから、同一の複数のメモリセルに対し、例えば、再構成書込みを実行することで、複数のビットが書込み前後で０と１のデータがランダムに変化し、新たなディジタルデータを構築できる一方で、０と１のデータが変化しないような恒久データの両方を実現することができることがわかる。
【００３４】
（抵抗変化型の不揮発性メモリ装置の構成と基本動作）
図６は、実施の形態における不揮発性メモリ装置１０の具体的な構成例を示すブロック図である。なお、不揮発性メモリ装置１０は、上記説明した不揮発性メモリ装置１００の一具体例であり、外部から与えられるチャレンジデータに対して、秘密鍵であるレスポンスデータを生成するチャレンジ・レスポンス方法を実行する。ただし、実施の形態における不揮発性メモリ装置の具体的構成が図６に示される構成に限定されるものではない。また、チャレンジデータは、レスポンスデータを要求する情報であれば、いかなるフォーマットであってもよい。
【００３５】
図６に示すように、実施の形態における不揮発性メモリ装置１０は、半導体基板上に、メモリ本体部２２を備えている。また、不揮発性メモリ装置１０は、さらにデータ入出力回路６と、制御回路１５と、アドレス入力回路１６とを備えている。
【００３６】
メモリ本体部２２は、読出し回路１２と、書込み回路１４と、判定値設定回路１３と、ロウデコーダ回路１８と、カラムデコーダ回路１７と、メモリセルアレイ２０とを備えている。なお、機能的には、主に、制御回路１５、読出し回路１２および判定値設定回路１３によって、外部からチャレンジデータを取得した場合にメモリセルアレイ２０を用いてレスポンスデータを生成するデータ生成回路が構成される。また、主に、制御回路１５および書込み回路１４によって、メモリセルアレイ２０に対して、少なくとも１回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路が構成される。
【００３７】
書込み回路１４は、選択されたメモリセル２１に対して各動作における所定の電圧を印加してデータを書込む。例えば、書込み回路１４は、後述する情報領域７に対して、任意の抵抗状態にするための書込み動作を実行する以外にも、ＰＵＦ領域８の全メモリセルに対し、再構成書込みを実行する。
【００３８】
読出し回路１２は、複数のメモリセル２１のそれぞれに対し、並列に読出し動作を実行し、得られた抵抗値と、後述する判定値設定回路１３から出力される判定値との比較に基づき、ディジタルデータＤｏｕｔを出力する。なお、読出し回路１２は、誤り訂正回路を有する。
【００３９】
判定値設定回路１３は、後述するＰＵＦ領域内のメモリセルの抵抗値から抵抗値ばらつき分布の中央値を算出し、読出し回路１２へ第１判定値の一例である判定値として出力（つまり、設定）する。また、判定値設定回路１３は、再構成書込みを行ってもデータが変化しない、恒久データを抽出するために、第１恒久判定値と第２恒久判定値を読出し回路１２へ判定値として出力（つまり、設定）する。なお、第１恒久判定値は、第１判定値よりも大きな第３判定値の一例であり、第２恒久判定値は、第１判定値よりも小さな第２判定値の一例である。例えば、判定値設定回路１３は、中央値を判定値として生成されたディジタルデータ（以下、判定値を用いて生成されたディジタルデータをＰＵＦデータと呼ぶ）を読出し回路１２において再生する場合は、読出し回路１２から得られた抵抗値を元に中央値を設定し、一方、読出し回路１２において恒久データを抽出する場合には、再構成書込みを行ってもデータが変化しないビットの位置情報データ（以下、このような位置情報データを恒久ＰＵＦ情報データと呼ぶ）を抽出するために、第１恒久判定値または、第２恒久判定値を設定する。
【００４０】
なお、取得した抵抗値の中央値を判定値として算出すること、取得した抵抗値が判定値よりも大きいか否かを判定すること、恒久データを抽出するために第１恒久判定値や第２恒久判定値を判定すること、および、ＰＵＦデータの生成や恒久データを抽出することは、判定値設定回路１３および読出し回路１２を含むメモリ本体部２２で行われなくてもよく、メモリ本体部２２の外部で行われてもよい。
【００４１】
ロウデコーダ回路１８は、メモリセルアレイ２０に接続されている複数のｊ本のワード線ＷＬ０〜ＷＬｊの中から１つのワード線ＷＬを選択する。
【００４２】
カラムデコーダ回路１７は、複数のｎ本のビット線ＢＬ０〜ＢＬｎと複数のｎ本のソース線ＳＬ０〜ＳＬｎの中から並列読出し数（メモリグループを構成するメモリセル数）であるｋ本のビット線ＢＬと、それに対応するｋ本のソース線ＳＬとを選択し、選択した線を書込み回路１４および読出し回路１２へ接続する。
【００４３】
これら（書込み回路１４、読出し回路１２、ロウデコーダ回路１８およびカラムデコーダ回路１７）は、並列的に読出しおよび／または書込みが行われる行および／または列の数に応じて動作する。
【００４４】
読出し回路１２は、ディジタルデータＤｏｕｔを出力する。読出し回路１２は、カラムデコーダ回路１７とロウデコーダ回路１８とにより選択されたｋ個のメモリセルとｋ本のビット線を介して接続され、ｋ個のメモリセルの抵抗値と判定値設定回路１３によって設定された判定値とを比較し、生成されたディジタルデータＤｏｕｔをデータ入出力回路６へ出力する。
【００４５】
メモリ本体部２２は、記憶領域として、情報領域７とＰＵＦ領域８とを有する。情報領域７は、ワード線ＷＬ０〜ＷＬｉが接続された領域であり、一方、ＰＵＦ領域８は、ＷＬｉ＋１〜ＷＬｊが接続された領域である。情報領域７は、レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第１領域の一例であり、一方、ＰＵＦ領域８は、抵抗値以外の情報を保持するメモリセルで構成される第２領域の一例である。具体的には、情報領域７は、データセルを含み、任意のデータ（ユーザデータ）が記録され、一方、ＰＵＦ領域８は、同一の抵抗状態が設定されたＰＵＦデータが記録される。
【００４６】
なお、情報領域７とＰＵＦ領域８とは、図６のようにワード線で分けられる必要はなく、メモリセルアレイ２０上の任意の領域で区分けしても良い。このとき、物理的な領域区分の規則性を複雑にするほどハッキングなどの攻撃への耐性を高めることができる。また、情報領域７とＰＵＦ領域８とは、セキュリティの重要性に応じて、アクセスを制限できるように更に細分化した区分けをしてもよい。例えば、ＰＵＦデータが格納されているＰＵＦ領域８のセキュリティデータについては、ユーザ側ではアクセスできないように制限するなどが挙げられる。
【００４７】
メモリセルアレイ２０は、複数のワード線ＷＬ０〜ＷＬｊと、ワード線ＷＬ０〜ＷＬｊと交差し、かつ互いに平行に延びるようにして形成された複数のビット線ＢＬ０〜ＢＬｎと、ワード線ＷＬ０〜ＷＬｊと交差し、かつ互いに平行に、かつビット線ＢＬ０〜ＢＬｎと平行に延びるようにして形成されたソース線ＳＬ０〜ＳＬｎと、を備える。そして、ワード線ＷＬ０〜ＷＬｊとビット線ＢＬ０〜ＢＬｎとの立体交差点には、それぞれメモリセル２１が配置されている。
【００４８】
それぞれのメモリセル２１は抵抗変化素子２３とトランジスタ２４とを備える。ワード線ＷＬ０〜ＷＬｊはそれぞれのトランジスタ２４のゲート端子に接続され、ビット線ＢＬ０〜ＢＬｎは、それぞれのメモリセル２１が備える抵抗変化素子２３の第２電極に接続され、抵抗変化素子２３の第１電極はトランジスタ２４の第２主端子に各々接続され、ソース線ＳＬ０〜ＳＬｎは、トランジスタ２４の第１主端子にそれぞれ接続されている。
【００４９】
抵抗変化素子２３はメモリセル２１において不揮発性メモリ素子として動作する。不揮発性メモリ装置１０は、各メモリセル２１が１個のトランジスタ２４と１個の抵抗変化素子２３とから構成される、いわゆる１Ｔ１Ｒ型の抵抗変化型の不揮発性メモリ装置である。メモリセルの選択素子は前述のトランジスタに限定されない。例えばダイオードなどの２端子素子を用いても良い。
【００５０】
制御回路１５は外部から与えられるコントロール信号に基づき、カラムデコーダ回路１７に対し、ビット線あるいはソース線のいずれか一方を選択させ、書込み時は選択したビット線あるいはソース線を書込み回路１４に接続させ、読出し時は選択したビット線あるいはソース線を読出し回路１２に接続させる。その上で、書込み回路１４あるいは読出し回路１２を動作させる。制御回路１５は、プログラムが格納されたメモリ、プログラムを実行するプロセッサ、および、入出力回路等で構成されてもよいし、専用の論理回路で構成されてもよい。
【００５１】
抵抗変化素子２３については、実施の形態において図２を用いて上述した抵抗変化素子１２０と同様の構成とすることができるので、詳細な説明を省略する。
【００５２】
なお、図６に示す例では、メモリセルアレイ２０の選択トランジスタとしてＮＭＯＳトランジスタが用いられているが、これに限定されず、ＰＭＯＳトランジスタを用いても良い。
【００５３】
図７は、図６に示された不揮発性メモリ装置１０が備える読出し回路１２の構成例を示す図である。なお、本図には、メモリセルアレイ２０およびカラムデコーダ回路１７も併せて図示されている。読出し回路１２は、ｋ（ｋは、１≦ｋ≦ｎを満たす整数）個のメモリセル２１からなるメモリグループの単位で並列に読出し動作を行うために、ｋ個のセンスアンプ回路３０（ＴＳＡ０、ＴＳＡ１、ＴＳＡ２、・・・ＴＳＡｋ）を有している。カラムデコーダ回路１７により選択されたｋ本のビット線が、ｋ個のセンスアンプ回路３０に各々接続される。各々のセンスアンプ回路３０は、接続されたメモリセル２１の抵抗値を出力する。
【００５４】
図８は、図７に示された読出し回路１２の一ビット分の（つまり、１個のメモリセル２１からの読出しに対応する）より詳細な構成例を示す回路図である。
【００５５】
読出し回路１２は、センスアンプ回路３０を有している。当該センスアンプ回路３０は、コンパレータ３１と、抵抗値カウンタ３２と、プリチャージＰＭＯＳトランジスタ３３と、ロードＰＭＯＳトランジスタ３４と、クランプＮＭＯＳトランジスタ３６で構成されたクランプ回路とを備えている。
【００５６】
抵抗値カウンタ３２は、コンパレータ３１の出力先に接続されている。抵抗値カウンタ３２は、リセット制御信号ＲＳＴがロウレベルとなることで、抵抗値カウンタ３２内のカウント値が初期化された後、ＣＬＫ信号によりカウントを開始する。ＣＬＫ信号は、制御回路１５から出力される信号であって、抵抗変化素子２３の抵抗値によって変化する放電時間または充電時間をカウント値に変換する際の基準となる信号である。ＣＬＫ信号は、例えば一定の周波数を維持する矩形波である。このＣＬＫ信号が立ち上がる毎に、抵抗値カウンタ３２のカウント値が１つ加算され、ノードＳＥＮが参照電圧ＶＲＥＦを下回るとコンパレータ３１からの出力信号が反転し、そのときのカウント値がＣＯＵＮＴ＿ＯＵＴとして保持される。カウント値ＣＯＵＮＴ＿ＯＵＴは、比較器３５の入力端子ａに入力され、一方、判定値設定回路１３から受け取る判定値が比較器３５の入力端子ｂに入力され、比較器３５において入力端子ａの値と入力端子ｂの値とが比較され、その比較結果がディジタルデータＤｏｕｔとして、データ入出力回路６に送信される。
【００５７】
プリチャージＰＭＯＳトランジスタ３３は、ゲート端子にプリチャージ制御信号ＰＲＥが入力され、ソース端子に電源電圧ＶＤＤが入力され、ドレイン端子にノードＳＥＮが接続されている。
【００５８】
コンデンサ３６ａは、放電、または充電時間を調整するために設置され、一端がノードＳＥＮ、他端はＧＮＤに接続されている。
【００５９】
ロードＰＭＯＳトランジスタ３４は、ゲート端子にロード制御信号ＬＯＡＤが入力され、ソース端子に電源電圧ＶＤＤが入力され、ドレイン端子にノードＳＥＮが接続されている。
【００６０】
クランプＮＭＯＳトランジスタ３６は、ゲート端子にクランプ制御信号ＣＬＭＰが入力され、ソース端子もしくはドレイン端子の何れか一方にノードＳＥＮが接続され、他端にはメモリセルが接続されている。
【００６１】
図９は、図６に示された不揮発性メモリ装置１０において選択されたメモリセルを読み出す場合のタイミングチャートである。
【００６２】
Ｔ１のプリチャージ期間では、プリチャージ制御信号ＰＲＥはロウレベルとなり、プリチャージＰＭＯＳトランジスタ３３はオン状態になる一方で、ロード制御信号ＬＯＡＤはハイレベルとなり、ロードＰＭＯＳトランジスタ３４はオフ状態となる。選択ワード線ＷＬｓの電位はロウレベルでトランジスタ２４はオフ状態となっている。
【００６３】
クランプ回路のクランプＮＭＯＳトランジスタ３６のゲート端子にＶＣＬＭＰの電圧が印加されることで、選択ビット線ＢＬｓの電位はＶＣＬＭＰからＶＴ（クランプＮＭＯＳトランジスタ３６の閾値）を引いた電位までプリチャージされる。選択ソース線ＳＬｓはＧＮＤに固定される。ノードＳＥＮは電源電圧ＶＤＤまでプリチャージされる。また、コンパレータ３１の出力に接続されている抵抗値カウンタ３２のリセット制御信号ＲＳＴはハイレベルとなっているため、抵抗値カウンタ３２の出力端子から、カウント値ＣＯＵＮＴ＿ＯＵＴとして、０の固定値が出力される。
【００６４】
Ｔ２のセンス期間では、プリチャージ制御信号ＰＲＥをハイレベルとすることで、プリチャージＰＭＯＳトランジスタ３３がオフ状態となり、ロード制御信号ＬＯＡＤがロウレベルになることで、ロードＰＭＯＳトランジスタ３４はオン状態になる。また選択ワード線ＷＬｓの電位をハイレベルにすることで、ＮＭＯＳトランジスタ２４はオン状態となる。
【００６５】
そして選択ビット線ＢＬｓから選択されたメモリセル２１を介して選択ソース線ＳＬｓへと電圧が印加され、放電が開始される。放電開始と同時に抵抗値カウンタ３２のリセット制御信号ＲＳＴがロウレベルとなり、抵抗値カウンタ３２でのカウントが始まる。そして、１カウント毎に、コンパレータ３１によって、ノードＳＥＮの電位と参照電圧ＶＲＥＦの電圧とが比較され、ノードＳＥＮが参照電圧ＶＲＥＦを下回るまで、カウント値が加算され続ける。読出し時の抵抗変化素子２３の抵抗値が高いほど放電時間は長くなり、カウント値は大きくなる。
【００６６】
また、コンデンサ３６ａの容量を調整することで、放電時間を調整することも可能である。コンデンサ３６ａの容量が大きければ、ノードＳＥＮの放電時間も長くなるため、カウント値は大きくなり、容量が小さければ、ノードＳＥＮの放電時間は短くなり、カウント値は小さくなる。コンデンサ３６ａの容量を調整することは、例えば、放電時間が短い低抵抗レベルの検出精度を向上させたいとき、効果的である。カウントの間隔はＣＬＫ信号で決定されるため、その動作周波数がカウント値の分解能となる。しかし、低い抵抗値を読み出す場合、放電時間がカウント値の分解能に近くなってくる可能性があるため、抵抗値の大小を区別できなくなる場合がある。そこで、ノードＳＥＮに容量負荷を上乗せし、放電時間を長くすることで、意図的に、分解能で検出できるレベルの放電特性を確保することが可能となる。
【００６７】
Ｔ３のラッチ期間では、放電が開始された後、ノードＳＥＮが参照電圧ＶＲＥＦを下回ったときの抵抗値カウンタ３２のカウント値がラッチされる。ラッチされたカウント値は、ＣＯＵＮＴ＿ＯＵＴとして出力され、抵抗変化素子２３のカウント値として扱われる。
【００６８】
Ｔ４のリセット期間においては、抵抗値カウンタ３２のデータ出力が完了すると、選択ワード線ＷＬｓの電位がロウレベルとされ、選択されたメモリセル２１のトランジスタ２４がオフとなり、読出し動作が終了する。
【００６９】
抵抗値カウンタ３２に格納されたカウント値ＣＯＵＮＴ＿ＯＵＴは判定値設定回路１３に入力され、判定値設定回路１３において、入力されたカウント値ＣＯＵＮＴ＿ＯＵＴを元に判定値（中央値）が算出される。
【００７０】
なお、図７に示された読出し回路１２は、本実施の形態における不揮発性メモリ装置１０においては、１６個のセンスアンプ回路３０を有するため、最大１６個のセンスアンプ回路３０を並列動作させることができる。
【００７１】
次に、本実施の形態における不揮発性メモリ装置１０の動作の例について説明する。本実施の形態における不揮発性メモリ装置１０はＰＵＦ登録モード、ＰＵＦ再生モード、ＰＵＦ再構成モード、恒久ＰＵＦ登録モード、恒久ＰＵＦデータ再生モードの５つのモードを有している。これらの動作は、外部から入力されるコントロール信号で選択され、制御回路１５によって、各モードの動作が実行される。また、チャレンジデータは、コントロール信号として、外部から制御回路１５に入力され、レスポンスデータは、データ信号として、データ入出力回路６から外部に出力され得る。以下では、各モード実行時の動作について詳細に説明する。
【００７２】
（ＰＵＦ登録モード）
ＰＵＦ登録モードでは、不揮発性メモリ装置１０が備えるデータ生成回路は、第１の種類のチャレンジデータを取得した場合に、判定値設定回路１３が設定した第１判定値とメモリセル２１から読み出された抵抗値との比較によって、ＰＵＦデータである第１のレスポンスデータを生成してＰＵＦ領域８に格納する。そして、データ生成回路は、第１のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第１の種類のチャレンジデータを再び取得した場合には、第１のレスポンスデータとは異なる第３のレスポンスデータを生成してＰＵＦ領域８に格納する。つまり、このＰＵＦ登録モードでは、不揮発性メモリ装置１０は、第１の種類のチャレンジデータを取得する度に、再構成書込みによって更新される、新たなＰＵＦデータを生成する。
【００７３】
以下、図１０、図１１を参照しながら、ＰＵＦ登録モードについて詳細に説明する。
【００７４】
図１０は、本実施の形態における不揮発性メモリ装置１０によるＰＵＦデータ登録時の動作例を示すフローチャートである。図１１は、本実施の形態における不揮発性メモリ装置１０によるＰＵＦデータ登録時に生成されるヘルパーデータの生成方法を示すデータフロー図である。
【００７５】
図１０において、不揮発性メモリ装置１０に第１の種類のチャレンジデータが入力されると、ステップＳ１では、低抵抗状態に設定されたＰＵＦ領域８内の各メモリセル２１の抵抗値がセンスアンプ回路３０によって読み出され、ステップＳ２では、読み出された抵抗値を元に、判定値設定回路１３において、ばらつき分布の中央値が算出される。ステップＳ３では、ステップＳ２で算出された中央値が判定値として読出し回路１２に出力され、ステップＳ４では、読出し回路１２において判定値と抵抗値との大小を比較することで、第１のレスポンスデータまたは第３のレスポンスデータとして、ＰＵＦデータが生成される。ステップＳ５では、生成されたＰＵＦデータの誤り訂正情報となるヘルパーデータが読出し回路１２において生成され、ステップＳ６では、生成されたヘルパーデータがデータ入出力回路６および書込み回路１４を経て情報領域７内の任意の指定アドレスに書込まれ、登録が完了する。
【００７６】
次に、読出し回路１２によるヘルパーデータの生成方法を、図１１を用いて説明する。本実施の形態では、ヘルパーデータの生成時に使用する訂正符号として、ＢＣＨ（１５＋１，７）符号を用いている。ＢＣＨ（１５＋１,７）は、７ビットの情報ビットと９ビットのパリティビットの合計１６ビットを符号データとし、１６ビット中、２ビットの誤り訂正と３ビットの誤り検出が可能である。ヘルパーデータの生成では、図１０のステップＳ４で生成した１６ビットのＰＵＦデータを上位７ビット（Ｐ１）と下位９ビット（Ｐ２）とに２分割する。次に７ビットのＰ１をＢＣＨ符号の情報ビットとして設定し、Ｐ１に対応する９ビットのパリティデータ（Ｅ）を生成する。この生成した９ビットのパリティビット（Ｅ）と生成したＰＵＦデータのＰ２とをＸＯＲ処理することで、９ビットのヘルパーデータ（Ｈ）を得る。この生成したヘルパーデータ（Ｈ）は、通常のメモリデータと同様の方法で、情報領域７内の任意の指定アドレスに書込み、保持される。
【００７７】
（ＰＵＦ再生モード）
次に、図１２、図１３を参照しながら、ＰＵＦデータ再生のフローについて説明する。
【００７８】
図１２は、本実施の形態における不揮発性メモリ装置１０によるＰＵＦデータ再生時の動作を示すフローチャートである。図１３は、本実施の形態における不揮発性メモリ装置１０による、ＰＵＦデータ再生時に使用するヘルパーデータと誤りを含んだ生ＰＵＦデータから、登録時の正しいＰＵＦデータを再生するまでの処理を示すデータフロー図である。
【００７９】
図１２において、ステップＳ７では、ＰＵＦ領域８の各メモリセルの抵抗値がセンスアンプ回路３０によって読み出される。ステップＳ８では、読み出された抵抗値を利用し、判定値設定回路１３によって中央値が検出され、ステップＳ９で、検出された中央値が判定値として読出し回路１２に出力される。ステップＳ１０では、読出し回路１２において、ステップＳ７で読み出された抵抗値とステップＳ９で設定された判定値との大小が比較され、生ＰＵＦデータが生成される。続いて、読出し回路１２において、ステップＳ１１で、ＰＵＦデータ登録時に格納されたヘルパーデータが読出され、読出し回路１２が有する誤り訂正回路により、ステップＳ１２において、ステップＳ９で取得した生ＰＵＦデータとステップＳ１０で読出したヘルパーデータとを用いて、誤り訂正が実行され、その結果、ステップＳ１３で、登録時の正しいＰＵＦデータが取得される。
【００８０】
次に、ステップＳ１２での読出し回路１２の誤り訂正回路によるヘルパーデータを用いた誤り訂正方法について、図１３を用いて説明する。ステップＳ１０で再生された生ＰＵＦデータは、デバイスの経年劣化や動作時での環境変動の影響により、エラーが発生することがある。以下の説明では、再生時に取得した１６ビットの生ＰＵＦデータに対し、Ｐ１とＰ２のそれぞれにｅ１、ｅ２のエラーが発生した場合を想定する（但し、ｅ１＋ｅ２は２ビット以下）。ステップＳ１１で読出したヘルパーデータ（Ｈ）と生ＰＵＦデータの下位９ビット（Ｐ２＋ｅ２）とをＸＯＲ処理することで、ＰＵＦデータ登録時に生成した上位７ビットに対するパリティビットを再現する。しかし、生ＰＵＦデータＰ２はｅ２のエラーが含まれているため、実際にはｅ２のエラーが含んだパリティビット（Ｅ＋ｅ２）として再現される。次に、上位７ビットの生ＰＵＦデータ（Ｐ１＋ｅ１）と再現後のパリティデータ（Ｅ＋ｅ２）とを用いて、誤り訂正を実行する。ｅ１＋ｅ２が２ビット以下の誤りであれば、誤り訂正が可能な誤りビット数であるため、元のＰＵＦデータ（Ｐ１）とパリティデータ（Ｅ）とに訂正され、正しいＰ１とＥとが再現される。最後に、正しく再現されたパリティデータ（Ｅ）とヘルパーデータ（Ｈ）とをＸＯＲ処理することで、元の正しいＰ２データが得られ、ＰＵＦデータ登録時の正しい１６ビットのＰＵＦデータを取得することができる。
【００８１】
なお、図１２および図１３で説明した処理は、上述したように、読出し回路１２等により行われるが、これに限らず、不揮発性メモリ装置１０が有する他の構成要素によって行われてもよいし、不揮発性メモリ装置１０の外部の構成要素によって行われてもよい。
【００８２】
なお、一般的な誤り訂正は、誤り訂正を行うために情報データに対応したパリティデータ（誤り訂正データ）が付加され、データとパリティデータの両方が不揮発性メモリに格納される。例えば、ＰＵＦデータに対し、パリティデータを付加し不揮発性メモリに格納した場合、このパリティデータは、ＰＵＦデータと一対一で紐づけられているため、パリティデータの情報から、ＰＵＦデータが推測されるリスクを持つこととなる。しかし、本実施の形態で説明したＰＵＦデータの誤り訂正方式は、ＰＵＦデータを二つに分割し、一方のＰＵＦデータに対応するパリティデータを生成後、もう一方のＰＵＦデータとのＸＯＲによる暗号化によって生成されたデータをヘルパーデータとして保存しているため、ヘルパーデータから元のＰＵＦデータを予測することが困難となる。つまり、上述した誤り訂正方式は、従来の誤り訂正方式よりも、高セキュアである。
【００８３】
（ＰＵＦ再構成モード）
図１４は、本実施の形態における不揮発性メモリ装置１０によるＰＵＦ再構成モードの動作例を示すフローチャートである。制御回路１５（つまり、不揮発性メモリ装置１０が備える再構成処理回路）は、ステップＳ１４では、図５で説明した、高抵抗化書込みと低抵抗化書込みとを連続で処理する再構成書込みを実行し、ステップＳ１５での判断により、指定の回数に到達するまで、再構成書込みを実行する。ステップＳ１５での判断で用いる指定の回数（つまり、再構成書込み回数）は、再構成書込み前後のＰＵＦのユニーク性を向上する上で有効なパラメータである。図１５は、図１４の再構成書込みを１００回実行したときに生成される各回数でのＰＵＦデータ間のハミング距離を求め、横軸をハミング距離、縦軸を規格化度数として示したグラフである。図１５の（ａ）〜（ｃ）は、それぞれ、再構成書込み回数を１回、３回、５回と回数を変化させた場合のグラフである。このハミング距離よるグラフは、ＰＵＦデータのユニーク性の評価指標として用いられ、分布の幅が狭くかつ、中心が０．５（つまり、半数のビットの値が異なる）が理想の値である。図１５の（ａ）〜（ｃ）に示されるように、再構成書込み回数を１回、３回、５回と回数を変化させた場合の分布を比較すると、再構成書込み回数を増やすことで、分布の中心が０．２１、０．２４、０．２７と０．５に近づき、ユニーク性が改善していることが確認できる。つまり、ＰＵＦ再構成モードにおいて、再構成書込みの回数はユニーク性を改善する上で、重要なパラメータとなる。しかし、一方で再構成回数の増加は、ユニーク性を良化させるものの、メモリセルに対し、多くの電圧ストレスを印加することになり、信頼性が低下する可能性が存在する。再構成回数の選択については、使用用途に要求されるユニーク性と信頼性の仕様とに応じて、最適な回数を選択する必要がある。
【００８４】
（恒久ＰＵＦ登録モード）
恒久ＰＵＦ登録モードでは、不揮発性メモリ装置１０が備えるデータ生成回路は、第２の種類のチャレンジデータを取得した場合に、判定値設定回路１３が設定した第１判定値とメモリセル２１から読み出された抵抗値との比較によって、ＰＵＦデータである第２のレスポンスデータを生成してＰＵＦ領域８に格納する。そして、データ生成回路は、第２のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第２の種類のチャレンジデータを再び取得した場合には、第２のレスポンスデータと同じ第４のレスポンスデータを生成してＰＵＦ領域８に格納する。つまり、この恒久ＰＵＦ登録モードでは、不揮発性メモリ装置１０は、第２の種類のチャレンジデータを取得する度に、再構成書込みによっては更新されない、新たなＰＵＦデータを生成する。
【００８５】
以下、図１６、図１７ならびに、図１８を用いて、恒久ＰＵＦデータ登録モードの動作について説明する。図１６は、本実施の形態における不揮発性メモリ装置１０による恒久ＰＵＦデータ登録モードの動作例を示すフローチャートである。図１７は、図３に対して恒久ＰＵＦデータ登録モードに関する説明を追記した図である。図１８は、本実施の形態における不揮発性メモリ装置１０による恒久ＰＵＦデータの生成に用いられるデータの具体例を示す図である。より詳しくは、図１８の（ａ）は、中央値、第１恒久判定値および第２恒久判定値の例を示し、図１８の（ｂ）は、抵抗値レジスタの値の例を示し、図１８の（ｃ）は、ＰＵＦデータおよび恒久情報データの例を示す。
【００８６】
図１６において、ステップＳ１７では、ＰＵＦ領域８の各メモリセルの抵抗値がセンスアンプ回路３０によって読み出される。ステップＳ１８では、判定値設定回路１３は、ＰＵＦデータの生成に用いられた判定値（以下、ＰＵＦ判定値ともいう）よりも高い抵抗値で設定される第１恒久判定値と、ＰＵＦ判定値よりも低い抵抗値で設定される第２恒久判定値を読出し回路１２に出力（つまり、設定）する。続いて、読出し回路１２は、ステップＳ１９では、各メモリセルの抵抗値と設定された第１恒久判定値および第２恒久判定値とを比較し、ステップＳ２０、Ｓ２１において、図１７に示すように、第１恒久判定値よりも大きく、第２恒久判定値よりも小さい抵抗値のメモリセルを「１」データとして割り当て、第１恒久判定値よりも小さく、第２恒久判定値よりも大きい抵抗値のメモリセルを「０」データとして割り当て、このように割り当てたデータを恒久情報データ（つまり、マスクデータ）として取得する。最後に、読出し回路１２は、ステップＳ２２で、取得した恒久情報データを、通常メモリと同様の方法で指定の情報領域７に格納し、終了する。この恒久情報データは、恒久ＰＵＦデータを示すものではなく、恒久ＰＵＦデータの対象となるビットの位置（アドレス）情報を示すデータとなるため、このデータが盗まれたとしても、恒久ＰＵＦデータが漏洩するリスクはないといえる。
【００８７】
以下では、具体的な値で処理した例として、図１８を用いて説明する。図１８では、説明の簡略化のために、取得ビットを１６ビットとしている。例えば、図１８の（ａ）に示されるように、判定値設定回路１３によって、事前に検出された中央値（つまり、ＰＵＦ判定値）が１２４、設定された第１恒久判定値が２１０、第２恒久判定値を４０とする。センスアンプ回路によって測定された各メモリセルの抵抗値が読み出されると、図１８の（ｂ）に示されるように、読出し回路１２内に搭載された、抵抗値レジスタに各メモリセルの抵抗値が格納される。次に、図１８の（ｃ）に示されるように、読出し回路１２において、この取得した抵抗値と中央値とを比較することで、ＰＵＦデータ(表中では、１０００１１１０００１０１１０)が生成され、さらに、この取得した抵抗値と第１恒久判定値および第２恒久判定値とを比較することで、恒久情報データ（表中では、１１０００１０００００１００１１）が生成される。恒久情報データについては、情報領域７の指定のアドレスに格納され、管理される。
【００８８】
（恒久ＰＵＦ再生モード）
次に図１９、図２０を用いて、恒久ＰＵＦデータ再生モードについて説明する。図１９は、本実施の形態における不揮発性メモリ装置１０による恒久ＰＵＦデータ再生モードの動作例を示すフローチャートである。図２０は、本実施の形態における不揮発性メモリ装置１０による恒久ＰＵＦデータの生成例を示す図である。
【００８９】
図１９において、不揮発性メモリ装置１０に第２の種類のチャレンジデータが入力されると、ステップＳ２３では、ＰＵＦ領域８の各メモリセルの抵抗値がセンスアンプ回路３０によって読み出され、ステップ２４では、得られた抵抗値は判定値設定回路１３によって中央値が検出された後、ステップＳ２５で、読出し回路１２に対して、検出した中央値を判定値として出力（つまり、設定）する。ステップＳ２６では、読出し回路１２は、ステップＳ２５で設定された判定値とステップＳ２３で取得した抵抗値との大小を比較し、生ＰＵＦデータを取得する。続いて、読出し回路１２は、ステップＳ２７では、不揮発性メモリの情報領域７に格納されたヘルパーデータを読出し、読出し回路１２が有する誤り訂正回路は、ステップＳ２８で、読出したヘルパーデータを利用して、生ＰＵＦデータの誤り訂正を実行し、ステップＳ２９にてＰＵＦデータ登録時の正しいＰＵＦデータを取得する。
【００９０】
次に、読出し回路１２は、ステップＳ３０では、恒久ＰＵＦデータ登録モード時に生成し情報領域７に格納された恒久情報データを読出し、ステップＳ３１で、図２０に示すように、恒久情報データで「１」データとして割り当てられているビットのみを抽出し、上位ビットから対象ビットとなるＰＵＦデータを順番に取り込む。このとき、恒久ＰＵＦ再生モード実行前に、ＰＵＦ領域８でＰＵＦ再構成モードによる再構成書込みが、１回、２回・・・Ｎ回と実行されていたとしても、恒久情報データが１に対応するビットについては、ＰＵＦデータは変化せず、恒久ＰＵＦデータとして固定の値が常に抽出される。この恒久ＰＵＦデータの対象となるビットは、ＰＵＦ領域８においてランダムに存在するため、センスアンプ回路３０によって並列に読み出される複数のメモリセルを読出しメモリグループとすると、読出しメモリグループに恒久ＰＵＦデータが複数存在する場合もあれば、存在しない場合もあり得る。すなわち、ステップＳ３２では、読出し回路１２は、抽出された累積の恒久ＰＵＦデータが１２８ビットに到達したかを判定し、１２８ビットに到達していなければ、ステップＳ３３のように、ＰＵＦ領域８内の次の読出しメモリグループでの恒久ＰＵＦデータ抽出を繰り返し、恒久ＰＵＦデータが１２８ビットとなった時点で動作が終了し、第２のレスポンスデータまたは第４のレスポンスデータとして、恒久ＰＵＦデータを取得する。
【００９１】
なお、恒久ＰＵＦデータの抽出は、ヘルパーデータによる誤り訂正を用いず、生ＰＵＦデータで抽出してもよい。ＰＵＦデータの誤り発生の要因は、中央値付近のメモリセルの抵抗値が揺らぐことにより、中央値を超えることが要因である。しかし、本実施の形態のように、中央値付近を使用しない恒久ＰＵＦデータは、中央値から離れた箇所の抵抗値のみを採用しており、これは、言い換えるとエラーの発生しにくいデータのみを採用していると言える。
【００９２】
また、本実施の形態では、恒久ＰＵＦデータについては、誤り訂正処理を実施していないが、恒久ＰＵＦデータに対するヘルパーデータを生成し、誤り訂正を実施してもよい。特に車載などの厳しい環境下で高い信頼性が求められるような場合は、ＰＵＦデータと恒久ＰＵＦデータの両方のヘルパーデータを情報領域７に格納し、誤り訂正を実行することで、より信頼性を高めることが可能である。
【００９３】
また、ＰＵＦデータのヘルパーデータは情報領域７に格納せず、恒久ＰＵＦデータのヘルパーデータのみを情報領域７に格納してもよい。ＰＵＦデータを使用せずに恒久ＰＵＦデータのみを有効なＰＵＦデータとして使用する場合、恒久ＰＵＦデータのヘルパーデータのみを登録することで、ＰＵＦデータに対するヘルパーデータを格納しない分、再生時に必要となるビット数を削減することができる。
【００９４】
以上のように、本実施の形態に係る不揮発性メモリ装置１０は、抵抗変化型の複数のメモリセル２１で構成されたメモリセルアレイ２０と、チャレンジデータを取得した場合に、メモリセルアレイ２０を用いてレスポンスデータを生成するデータ生成回路（主に制御回路１５、読出し回路１２および判定値設定回路１３によって実現される機能回路）と、メモリセルアレイ２０に対して、少なくとも１回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路（主に制御回路１５および書込み回路１４によって実現される機能回路）とを備え、データ生成回路は、第１の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置１０ごとに異なる固有の第１のレスポンスデータを生成し（ＰＵＦ登録モード）、第２の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置１０ごとに異なる固有の第２のレスポンスデータを生成し（恒久ＰＵＦ登録モード）、第１のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第１の種類のチャレンジデータを再び取得した場合に、第１のレスポンスデータとは異なる第３のレスポンスデータを生成し（ＰＵＦ登録モード）、第２のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第２の種類のチャレンジデータを再び取得した場合に、第２のレスポンスデータと同じ第４のレスポンスデータを生成する（恒久ＰＵＦ登録モード）。
【００９５】
これにより、不揮発性メモリ装置１０は、再構成書込みによって新たなＰＵＦデータが生成されるＰＵＦ登録モードと、再構成書込みによっては変化しないＰＵＦデータが生成される恒久ＰＵＦ登録モードとを有する。よって、再構成書込みによって常に新たなＰＵＦデータが生成される従来の不揮発性メモリ装置に比べ、より高い耐タンパ性を有する不揮発性メモリ装置が実現される。
【００９６】
また、メモリセルアレイ２０は、複数のメモリセル２１のうち、レスポンスデータを生成するために必要な抵抗値を保持するメモリセル２１で構成される第１領域（情報領域７）と、複数のメモリセル２１のうち、抵抗値以外の情報を保持するメモリセル２１で構成される第２領域（ＰＵＦ領域８）とを有する。これにより、一つの不揮発性メモリ装置１０には、ＰＵＦデータの生成に用いられる抵抗値以外の情報を保持する第２領域が設けられるので、不揮発性メモリ装置１０を、ＰＵＦデータの生成装置としてだけでなく、各種情報を記憶するための一般的なメモリとしても用いることもできる。
【００９７】
また、データ生成回路は、メモリセルアレイ２０を構成する複数のメモリセル２１から抵抗値を取得する読出し回路と、取得した抵抗値から第１判定値を決定する判定値設定回路１３とを備え、第１の種類のチャレンジデータを取得した場合に、第１判定値と抵抗値との比較によって第１のレスポンスデータおよび第３のレスポンスデータを生成する。これにより、ＰＵＦデータの生成に用いられる第１判定値が判定値設定回路１３によって動的に決定され得る。
【００９８】
また、第１判定値は、複数のメモリセル２１のうちの所定の複数のメモリセル２１の抵抗値の中央値である。これにより、中央値と各メモリセルの抵抗値との比較によってＰＵＦデータが生成されるので、「１」が生成される確率と「０」が生成される確率とが略等しくなり、偏りの少ないＰＵＦデータが生成される。
【００９９】
また、データ生成回路は、第１判定値よりも小さい第２判定値と、第１判定値よりも大きな第３判定値とを用いて、第２判定値よりも大きく、かつ、第３判定値よりも小さい抵抗値のメモリセル２１に割り当てられる第１データと、第２判定値よりも小さい、または、第３判定値よりも大きい抵抗値のメモリセル２１に割り当てられる第２データとで構成されたマスクデータ（つまり、恒久情報データ）を生成し、第２の種類のチャレンジデータを取得した場合に、マスクデータと第１のレスポンスデータまたは第３のレスポンスデータとの比較によって第２のレスポンスデータまたは第４のレスポンスデータを生成する。これにより、恒久ＰＵＦ登録モードでは、第１判定値から大きく離れた抵抗値によって定義されるマスクデータが用いられるので、再構成書込みよっては変化しにくい安定したＰＵＦデータが生成される。
【０１００】
また、メモリセルアレイ２０は、複数のメモリセル２１のうち、レスポンスデータを生成するために必要な抵抗値を保持するメモリセル２１で構成される第１領域（情報領域７）と、複数のメモリセル２１のうち、マスクデータが格納される第２領域（ＰＵＦ領域８）とを有す。これにより、マスクデータは不揮発性メモリ装置１０が有する第２領域に格納されるので、マスクデータの保存のために不揮発性メモリ装置１０以外の特別な記憶装置を準備する必要がない。
【０１０１】
また、メモリセルアレイ２０を構成する複数のメモリセル２１は、第１書込みを行うことで、第１抵抗状態から第２抵抗状態に遷移し、第１書込みとは異なる第２書込みを行うことで、第２抵抗状態から第１抵抗状態に遷移する性質を有し、データ生成回路は、メモリセルアレイ２０の複数のメモリセル２１のうち、第１抵抗状態に設定されている複数のメモリセル２１を用いてレスポンスデータを生成する。これにより、同じ抵抗状態にあるメモリセルの抵抗値を用いてＰＵＦデータが生成されるので、生成されるＰＵＦデータの予測がより困難となり、高い安全性が確保される。
【０１０２】
また、再構成処理回路は、再構成書込みとして、第１抵抗状態のメモリセル２１に対して、第１書込みにより、第２抵抗状態へ遷移させた後、第２書込みにより、第１抵抗状態に遷移させる。これにより、再構成書込みが行われた後であっても、再構成書込みが行われる前と同じ抵抗状態に戻るので、再構成書込みの前後において生成されるＰＵＦデータの予測がより困難となり、高い安全性が確保される。
【０１０３】
また、データ生成回路は、誤り訂正回路を具備し、レスポンスデータに対して、誤り訂正を行う。これにより、不揮発性メモリ装置１０に保存されたＰＵＦデータが長期保存等によってビット誤りを生じた場合であっても、誤り訂正により、元のＰＵＦデータが再現され得る。
【０１０４】
また、メモリセルアレイ２０は、複数のメモリセル２１のうち、レスポンスデータを生成するために必要な抵抗値を保持するメモリセル２１で構成される第１領域（情報領域７）と、複数のメモリセル２１のうち、誤り訂正を行う際に必要なヘルパーデータが格納されるメモリセル２１で構成される第２領域（ＰＵＦ領域８）とを有する。これにより、誤り訂正に用いられるヘルパーデータが不揮発性メモリ装置１０の第２領域に格納されるので、誤り訂正のために不揮発性メモリ装置１０以外の特別な記憶装置を準備する必要がない。
【０１０５】
また、本実施の形態に係るチャレンジ・レスポンス方法は、抵抗変化型の複数のメモリセル２１で構成されたメモリセルアレイ２０を備える不揮発性メモリ装置１０によってチャレンジデータに対応するレスポンスデータを生成するチャレンジ・レスポンス方法であって、チャレンジデータを取得した場合に、メモリセルアレイ２０を用いてレスポンスデータを生成するデータ生成ステップと、メモリセルアレイ２０に対して、少なくとも１回以上電圧パルスを印加する再構成書込みを実行する再構成処理ステップとを含み、データ生成ステップでは、第１の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置１０ごとに異なる固有の第１のレスポンスデータを生成し（ＰＵＦ登録モード）、第２の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置１０ごとに異なる固有の第２のレスポンスデータを生成し（恒久ＰＵＦ登録モード）、第１のレスポンスデータを生成した後に、再構成処理ステップによって再構成書込みが実行され、かつ、再構成書込みが実行された後に第１の種類のチャレンジデータを取得した場合に、第１のレスポンスデータとは異なる第３のレスポンスデータを生成し（ＰＵＦ登録モード）、第２のレスポンスデータを生成した後に、再構成処理ステップによって再構成書込みが実行され、かつ、再構成書込みが実行された後に第２の種類のチャレンジデータを取得した場合に、第２のレスポンスデータと同じ第４のレスポンスデータを生成する（恒久ＰＵＦ登録モード）。
【０１０６】
これにより、不揮発性メモリ装置１０によって、再構成書込みによって新たなＰＵＦデータが生成されるＰＵＦ登録モードと、再構成書込みによっては変化しないＰＵＦデータが生成される恒久ＰＵＦ登録モードとが実現される。よって、再構成書込みによって常に新たなＰＵＦデータが生成される従来の不揮発性メモリ装置に比べ、より高い耐タンパ性を有するチャレンジ・レスポンス方法が実現される。
【０１０７】
（その他の実施形態）
以上、実施の形態における不揮発性メモリ装置１０およびチャレンジ・レスポンス方法について説明したが、本開示は、上記実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
【０１０８】
例えば、上記実施の形態では、生成したヘルパーデータを、必ず情報領域７に格納する必要はなく、サーバーや外付けの記録媒体に格納されてもよい。
【０１０９】
また、上記実施の形態で記載した、ＰＵＦ登録モード、ＰＵＦ再生モード、ＰＵＦ再構成モード、恒久ＰＵＦ登録モード、恒久ＰＵＦデータ再生モードを制御する制御信号については、コンピュータ（コンピュータシステム）によって実行されてもよい。そして、コンピュータに実行させるためのプログラムとして実現できる。さらに、本開示は、そのプログラムを記録したＣＤ−ＲＯＭ等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【０１１０】
例えば、本開示が、プログラム（ソフトウェア）で実現される場合には、コンピュータのＣＰＵ、メモリおよび入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、ＣＰＵがデータをメモリまたは入出力回路等から取得して演算したり、演算結果をメモリまたは入出力回路等に出力したりすることによって、各ステップが実行される。
【０１１１】
また、上記実施の形態における不揮発性メモリ装置１０に含まれる各構成要素は、専用または汎用の回路として実現されてもよい。
【０１１２】
また、上記実施の形態における不揮発性メモリ装置１０に含まれる各構成要素は、集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として実現されてもよい。
【０１１３】
また、集積回路はＬＳＩに限られず、専用回路または汎用プロセッサで実現されてもよい。プログラム可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、または、ＬＳＩ内部の回路セルの接続および設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
【０１１４】
さらに、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、不揮発性メモリ装置１０に含まれる各構成要素の集積回路化が行われてもよい。
【０１１５】
なお、上記説明から、当業者にとっては、本開示の多くの改良や他の実施の形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本開示を具体化する最良の態様を当業者に教示する目的で提供されたものである。本開示の精神を逸脱することなく、その構造および／または機能の詳細を実質的に変更できる。
【産業上の利用可能性】
【０１１６】
本開示は、耐タンパ性を有する不揮発性メモリ装置、および、不揮発性メモリ装置を用いたチャレンジ・レスポンス方法として、例えば、ネットバンキングやネットショッピングなど、インターネットを介して行われる電子商取引サービスに用いられる暗号鍵の生成装置として、利用できる。
【符号の説明】
【０１１７】
６  データ入出力回路
７  情報領域
８  ＰＵＦ領域
１０、１００  不揮発性メモリ装置
１２  読出し回路
１３  判定値設定回路
１４  書込み回路
１５  制御回路
１６  アドレス入力回路
１７  カラムデコーダ回路
１８  ロウデコーダ回路
２０  メモリセルアレイ
２１  メモリセル
２２  メモリ本体部
２３  抵抗変化素子
２４  トランジスタ
３０  センスアンプ回路
３１  コンパレータ
３２  抵抗値カウンタ
３３  プリチャージＰＭＯＳトランジスタ
３４  ロードＰＭＯＳトランジスタ
３５  比較器
３６  クランプＮＭＯＳトランジスタ
３６ａ  コンデンサ
９０  メモリセルアレイ
９１  メモリセル
９３  制御装置
１２０  抵抗変化素子
１２２  下地層
１２４  第１電極
１２６  抵抗変化層
１２８  第２電極
１２９  トランジスタ
【図１】
2020102827.tif 000003
【図２】
2020102827.tif 000004
【図３】
2020102827.tif 000005
【図４】
2020102827.tif 000006
【図５】
2020102827.tif 000007
【図６】
2020102827.tif 000008
【図７】
2020102827.tif 000009
【図８】
2020102827.tif 000010
【図９】
2020102827.tif 000011
【図１０】
2020102827.tif 000012
【図１１】
2020102827.tif 000013
【図１２】
2020102827.tif 000014
【図１３】
2020102827.tif 000015
【図１４】
2020102827.tif 000016
【図１５】
2020102827.tif 000017
【図１６】
2020102827.tif 000018
【図１７】
2020102827.tif 000019
【図１８】
2020102827.tif 000020
【図１９】
2020102827.tif 000021
【図２０】
2020102827.tif 000022