(57)【要約】【課題】高信頼を向上した不揮発性メモリ装置を提供する。【解決手段】不揮発性メモリ装置１０は、可変状態および初期状態の何れかを取り、初期状態の少なくとも一つのメモリセル２１を含む第２メモリグループ８を含む、抵抗変化型の複数のメモリセル２１と、複数のメモリセル２１から抵抗値情報を読み出す抵抗検出回路、および抵抗検出回路が読み出した抵抗値情報に応じたディジタルデータを生成するデータ生成回路を備えた読み出し回路１１と、を備える。抵抗検出回路は、可変状態のメモリセルを読み出すための第１読み出し電圧よりも大きく、初期状態から可変状態に変化するための電気的ストレスであるフォーミングパルスの電圧よりも小さい第２読み出し電圧を第２メモリグループ８の少なくとも一つのメモリセル２１に印加することにより、当該少なくとも一つのメモリセル２１から抵抗値情報を読み出す。【選択図】図１６
2017216031.tif 000002
【特許請求の範囲】
【請求項１】
可変状態および初期状態の何れかを取り、前記初期状態の少なくとも一つのメモリセルを含む第２メモリグループを含む、抵抗変化型の複数のメモリセルと、
前記複数のメモリセルから抵抗値情報を読み出す抵抗検出回路、および前記抵抗検出回路が読み出した前記抵抗値情報に応じたディジタルデータを生成するデータ生成回路を備えた読み出し回路と、を備え、
前記抵抗検出回路は、可変状態のメモリセルを読み出すための第１読み出し電圧と、前記第１読み出し電圧よりも大きく、前記初期状態から前記可変状態に変化するための電気的ストレスであるフォーミングパルスの電圧よりも小さい第２読み出し電圧とを選択的に印加する電圧印加回路を備え、
前記電圧印加回路が前記第２メモリグループの前記少なくとも一つのメモリセルに前記第２読み出し電圧を印加することにより、前記抵抗検出回路は当該少なくとも一つのメモリセルから前記抵抗値情報を読み出す、不揮発性メモリ装置。
【請求項２】
前記複数のメモリセルは、さらに、前記可変状態の複数のメモリセルを含む第１メモリグループを含み、
前記読み出し回路は、さらに、前記第２メモリグループの前記少なくとも一つのメモリセルが読み出される場合、前記電圧印加回路が当該少なくとも一つのメモリセルに印加する電圧を前記第２読み出し電圧に設定し、前記第１メモリグループの前記複数のメモリセルが読み出される場合、前記電圧印加回路が当該複数のメモリセルに印加する電圧を前記第１読み出し電圧に設定する電圧設定回路を備え、
前記可変状態の前記複数のメモリセルは、それぞれ、極性の異なる電圧パルスが印加されることによって抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移し、
前記初期状態の前記少なくとも一つのメモリセルは、それぞれ、前記フォーミングパルスが印加されない限り前記可変状態とならず、かつ抵抗値が前記可変抵抗値範囲と重複しない初期抵抗値範囲にある、請求項１に記載の不揮発性メモリ装置。
【請求項３】
前記第２メモリグループの前記少なくとも一つのメモリセルは、前記初期状態の複数のメモリセルを含む請求項１または２に記載の不揮発性メモリ装置。
【請求項４】
前記データ生成回路は、前記第２メモリグループに含まれる前記複数のメモリセルの前記抵抗値情報を互いに比較することで第１セキュリティデータを生成する、請求項１から３の何れかに記載の不揮発性メモリ装置。
【請求項５】
さらに、前記第２メモリグループの前記複数のメモリセルから得られる前記抵抗値情報から判定値を生成する判定値生成回路を含み、
前記データ生成回路は、前記判定値生成回路が生成した前記判定値を利用して、前記第２メモリグループの前記少なくとも一つのメモリセルから前記抵抗検出回路が読み出した前記抵抗値情報に応じた第１セキュリティデータを生成する、請求項１〜４の何れかに記載の不揮発性メモリ装置。
【請求項６】
前記判定値は、２値化基準値である、請求項５に記載の不揮発性メモリ装置。
【請求項７】
前記初期状態の前記少なくとも一つのメモリセルは、前記第２メモリグループに含まれるメモリセル全体の半数以上である、請求項１〜６の何れかに記載の不揮発性メモリ装置。
【請求項８】
前記可変状態は、第１抵抗状態と当該第１抵抗状態よりも抵抗値の高い第２抵抗状態とを含み、
前記初期状態の抵抗値は、前記第２抵抗状態の抵抗値よりも高い、請求項２に記載の不揮発性メモリ装置。
【請求項９】
前記第１メモリグループには、前記第１抵抗状態と前記第２抵抗状態とを利用したデータが記録され、
前記第２メモリグループには、前記可変状態と前記初期状態とを利用した、第２セキュリティデータが記録される、請求項８に記載の不揮発性メモリ装置。
【請求項１０】
前記データ生成回路は、前記第２メモリグループに含まれる前記複数のメモリセルの前記抵抗値情報を互いに比較することで第１セキュリティデータを生成し、
前記第２メモリグループには、前記第１セキュリティデータと前記第２セキュリティデータとが記録されている、請求項９に記載の不揮発性メモリ装置。
【請求項１１】
前記データ生成回路は、前記第２メモリグループに含まれる前記複数のメモリセルの前記抵抗値情報を互いに比較することで第１セキュリティデータを生成し、
前記第２メモリグループには、前記第１セキュリティデータを利用して暗号化された第３セキュリティデータが記録されている、請求項９に記載の不揮発性メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、不揮発性メモリ装置に関し、特に、抵抗変化型の不揮発性メモリセルを複数有する不揮発性メモリ装置に関する。
【背景技術】
【０００２】
様々なモノ同士がインターネット通信で接続されるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）技術が普及し始めている。交通系ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カードやスマートフォン端末といった消費者に身近な製品のみならず、センサや車載ＥＣＵ（Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）など、様々なデバイス間の通信が頻繁に行われている。このような状況の中、通信における相互認証や通信データの暗号化にあたって常により高いレベルのセキュリティ技術が求められている。
【０００３】
ソフトウェア技術に関しては、高度な暗号アルゴリズムを中心としたプログラム処理の暗号化技術が蓄積されており、十分なセキュリティが達成されている。しかし、技術進歩により、回路内部の情報を外部から直接読み取られる懸念が急速に高まっている。
【０００４】
特許文献１は、このような懸念への対応策を提案している。一般的に、セキュリティを強化したＩＣでは、内部に搭載する暗号回路を用いて機密情報を暗号化することによって情報の漏洩を防止している。この場合、内部に保持している暗号鍵（「秘密鍵」ともいう。）の情報を外部に漏洩させないことが必須となる。
【０００５】
近年、これらの課題を解決するために、ＩＣのセキュリティ性を高める様々な技術が提案されている（特許文献２、３、非特許文献１、２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１２／０１４２９１号
【特許文献２】特表２０１３−５４５３４０号公報
【特許文献３】国際公開第２０１４／１１９３２７号
【非特許文献】
【０００７】
【非特許文献１】“Ａ  ０．１９ｐＪ／ｂ  ＰＶＴ−Ｖａｒｉａｔｉｏｎ−Ｔｏｌｅｒａｎｔ  Ｈｙｂｒｉｄ  Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ  Ｃｉｒｃｕｉｔ  ｆｏｒ  １００％  Ｓｔａｂｌｅ  Ｓｅｃｕｒｅ  Ｋｅｙ  Ｇｅｎｅｒａｔｉｏｎ  ｉｎ  ２２ｎｍ  ＣＭＯＳ”    Ｓａｎｕ  Ｋ．  Ｍａｔｈｅｗ，  ｅｔ  ａｌ．    ＩＳＳＣＣ２０１４
【非特許文献２】“Ｃｏｍｐｒｅｈｅｎｓｉｖｅ  Ａｓｓｅｓｓｍｅｎｔ  ｏｆ  ＲＲＡＭ（登録商標）−ｂａｓｅｄ  ＰＵＦ  ｆｏｒ  Ｈａｒｄｗａｒｅ  Ｓｅｃｕｒｉｔｙ  Ａｐｐｌｉｃａｔｉｏｎｓ”    Ａｎ  Ｃｈｅｎ，    ＩＥＤＭ２０１５
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本開示の一態様は、信頼性を向上した不揮発性メモリ装置を提供する。
【課題を解決するための手段】
【０００９】
本開示の一態様にかかる不揮発性メモリ装置は、可変状態および初期状態の何れかを取り、前記初期状態の少なくとも一つのメモリセルを含む第２メモリグループを含む、抵抗変化型の複数のメモリセルと、前記複数のメモリセルから抵抗値情報を読み出す抵抗検出回路、および前記抵抗検出回路が読み出した前記抵抗値情報に応じたディジタルデータを生成するデータ生成回路を備えた読み出し回路と、を備える。前記抵抗検出回路は、可変状態のメモリセルを読み出すための第１読み出し電圧と、前記第１読み出し電圧よりも大きく、前記初期状態から前記可変状態に変化するための電気的ストレスであるフォーミングパルスの電圧よりも小さい第２読み出し電圧とを選択的に印加する電圧印加回路を備える。前記電圧印加回路が前記第２メモリグループの前記少なくとも一つのメモリセルに前記第２読み出し電圧を印加することにより、前記抵抗検出回路は当該少なくとも一つのメモリセルから前記抵抗値情報を読み出す。
【発明の効果】
【００１０】
本開示の一態様に係る不揮発性メモリ装置は、信頼性を高めることができる。
【図面の簡単な説明】
【００１１】
【図１】抵抗変化型メモリセル（ＲｅＲＡＭメモリセル）の構成を示す図
【図２】初期状態のメモリセルの電圧−電流特性を示すグラフ
【図３】絶縁破壊によるフォーミングが実施されたメモリセルの構造を示す模式図
【図４】初期状態の１キロビットのメモリセルにおける１回目の読み出し時の電流値と２回目の読み出し時の電流値との関係を示す図
【図５】可変状態の１キロビットのメモリセルにおける１回目の読み出し時の電流値と２回目の読み出し時の電流値との関係を示す図
【図６】初期状態の４キロビットのメモリセルにおける高温放置前と放置後のセル電流分布を比較したグラフ
【図７】４キロビットのメモリセルに対して読み出し電圧０．４Ｖと１．８Ｖで読み出した場合の抵抗ばらつき分布特性を示す図
【図８】読み出し電圧を０．４Ｖと１．８Ｖにしてメモリセルを読み出した場合のセル電流の分布を示す図
【図９】実施の形態にかかる抵抗変化型不揮発性メモリ装置の概略構成の一例を示すブロック図
【図１０】実施の形態にかかる抵抗変化型不揮発性メモリ装置が備えるメモリセルの概略構成の一例を示す断面図
【図１１】初期状態の抵抗値範囲を持つ複数のメモリセルから取得された抵抗値情報の分布を示す図
【図１２】実施の形態にかかる抵抗変化型不揮発性メモリ装置が備えるメモリセルの抵抗値範囲の一例を示すグラフ
【図１３】実施の形態にかかる抵抗変化型不揮発性メモリを利用した、ＰＵＦデータの登録および再生時の処理を示すフローチャート
【図１４】実施の形態にかかる抵抗変化型不揮発性メモリを利用した、ＦＨＤデータの登録時の処理を示すフローチャート
【図１５】実施の形態にかかる抵抗変化型不揮発性メモリを利用した、ＦＨＤデータの再生時の処理を示すフローチャート
【図１６】本開示の不揮発性メモリ装置の具体的な構成例を示すブロック図
【図１７】本開示の不揮発性メモリ装置が備える読み出し回路の構成例を示す回路図
【図１８】選択されたメモリセルを読み出し回路が放電方式にて読み出す場合のタイミングチャート
【図１９】本開示の不揮発性メモリ装置が備える中央値検出回路の構成例を示す回路図
【図２０】変形例にかかる中央値検出回路の構成例を示す回路図
【図２１】中央値検出回路が実際に抵抗中央値を算出した結果を示す図
【図２２】可変状態（ここでは、第２抵抗状態）の抵抗分布と、初期状態の抵抗分布とについて、高温加速劣化実験においてディジタルＩＤデータを再生したときのエラーレートを示したグラフ
【図２３】本開示にかかる応用例の通信システムの構成例を示すブロック図
【発明を実施するための形態】
【００１２】
（本開示の基礎となる知見）
近年、ＰＵＦ（物理的複製困難関数；Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）やＦＨＤ（フォーミング隠蔽データ：Ｆｏｒｍｉｎｇ  Ｈｉｄｄｅｎ  Ｄａｔａ）技術が提案されている。ＰＵＦ技術は、製造ばらつきを活用してＩＣごとに異なるユニークな個体識別情報を生成する技術である。以降、本明細書ではＰＵＦ技術により生成された個体識別情報を「ＰＵＦデータ」と呼ぶ。ＰＵＦデータはＩＣの物理特性のばらつきに関連づけられた各デバイス固有の乱数データであると言える。ＩＣごとにその物理特性を人為的に制御することが不可能であるため、物理的な複製が不可能なデータを生成することができる。
【００１３】
具体的な先行例として、特許文献２や非特許文献１のようなＳＲＡＭ  ＰＵＦが例示され得る。これらの例では、ＳＲＡＭにおける各メモリセルにおいて、主にトランジスタの閾値電圧Ｖｔばらつき（すなわち、動作電圧のばらつき）により電源投入時の初期値のディジタルデータが１状態になりやすいか、０状態になりやすいかが異なる現象を用いている。１状態になりやすいか、０状態になりやすいかは、各メモリセルごとに固有であり、ＳＲＡＭの初期値データは互いに異なっている。つまり、ＳＲＡＭに電源投入したときの初期値データがＰＵＦデータとして用いられる。
【００１４】
その他にも、非特許文献２のような、ＲｅＲＡＭ  ＰＵＦが例示され得る。この例は、ＲｅＲＡＭの各メモリセルの抵抗ばらつきを利用し、２つの同一状態のメモリセルを選択し、互いのメモリセルの抵抗値の大小関係からディジタルＩＤデータを生成する方式である。同一抵抗状態における抵抗ばらつきは、ＩＣ毎にランダムに異なるため、この抵抗ばらつきがディジタルＩＤデータとして用いられている。
【００１５】
このように、ＰＵＦ技術により、各ＩＣ固有の乱数となるＰＵＦデータが複製できないデータとして生成される。このＰＵＦデータは、前述した秘密鍵を暗号化するデバイス鍵として用いられる。デバイス鍵（つまり、ＰＵＦデータ）によって暗号化された秘密鍵は、暗号化された状態で不揮発性メモリに保存される。すなわち、不揮発性メモリに記録された暗号化秘密鍵はデバイス鍵でしか元の秘密鍵データに復号できない。よって、ハッキングにより不揮発性メモリ内のデータが全てハードコピーされたとしても、各ＩＣ固有のデバイス鍵（つまり、ＰＵＦデータ）が複製できないため暗号化秘密鍵が元に戻せず利用することができない。
【００１６】
一方、ＦＨＤ技術は、特許文献３に示すようなＲｅＲＡＭの物理特性を利用したデータ記録技術である。以降、本明細書ではＦＨＤ技術により記録された情報を「ＦＨＤデータ」と呼ぶ。ＲｅＲＡＭのメモリセルは、非常に抵抗値の高い絶縁状態である初期状態に対し、フォーミングと呼ばれる通常の書き換え電圧よりも大きな電圧ストレスを印加することで絶縁破壊を引き起こさせる工程を経て、通常の記録データとなる書き換えが可能な可変状態へと遷移させる。一方ＦＨＤデータは、可変状態での書き換えを記録データとして扱うのではなく、フォーミングストレス印加前の初期状態と可変状態とを混在させて記録データとして扱う技術である。ＦＨＤデータは、通常の記録データとは判定閾値が異なるため、通常の記録データの判定閾値では読み出すことができず、特殊なコマンドから設定されたＦＨＤデータ用の判定閾値のみで読み出すことが可能である。よって、ユーザ側から不正にアクセスしてＦＨＤデータを盗むことができない。したがって、ＦＨＤデータを隠蔽データとして扱うことが可能となる。
【００１７】
前述のようにＰＵＦやＦＨＤ技術はＩＣのセキュリティ性を高める重要な技術である。しかしながら、従来のセキュリティ性に加え、様々な環境下でも安定したデータを読み出すことができる信頼性や省面積化が要求される。
【００１８】
本開示の一態様は、セキュリティ性を維持しつつ、より高信頼かつ省面積化が実現できる不揮発性メモリ装置を提供する。
【００１９】
ここで、実施の形態について説明する前に、ＲｅＲＡＭの原理に紐付けながら、実験で見出された知見について説明する。なお、以下の説明は、本開示を理解する上でのデータの一例であり、本開示を限定するものではない。
【００２０】
本願発明者らは、いわゆる、１Ｔ１Ｒ型メモリセルで構成されたメモリセルアレイを用いて実験を行い、実験データを取得した。１Ｔ１Ｒ型メモリセルは、酸素不足型のＴａ酸化物（ＴａＯｘ）を用いた抵抗変化型メモリセル（以下、単に「メモリセル」ともいう）であって、各メモリセルが１つのトランジスタと１つの抵抗変化素子とで構成される。
【００２１】
図１は、抵抗変化型メモリセル（ＲｅＲＡＭメモリセル）２１の構成を示す図である。メモリセル２１は、直列に接続された１つのトランジスタ２４と１つの抵抗変化素子２３とで構成される。抵抗変化素子２３は、例えば、素子の大きさが約４００ｎｍ×４００ｎｍ、下部電極の材料がＴａＮ、下部電極の厚さが約５０ｎｍ、上部電極の材料がＩｒ、上部電極の厚さが約１００ｎｍである。抵抗変化素子２３の抵抗変化層の材料と厚さについては、ＴａＯｘが約６５０ｎｍ、Ｔａ２Ｏ５が約５ｎｍである。図２は、初期状態のＲｅＲＡＭメモリセル１ｂｉｔに対して、印加する電圧を０Ｖから３Ｖに０．１Ｖ間隔で上昇させた場合に流れる電流を示す電圧−電流特性のグラフ（正方形印のプロット）である。ＲｅＲＡＭメモリセルの製造直後の初期状態は非常に高抵抗な絶縁状態である。この初期状態で印加電圧を上昇すると、電流値を示す対数軸に対し、セル電流は線形的に増加する。セル電流が、２．８Ｖ〜３．０Ｖ付近の高電圧に達すると、初期状態は素子の一部分が絶縁破壊されるフォーミングと呼ばれる現象が発生する。
【００２２】
図３に示すように、絶縁破壊によるフォーミングが実施されたメモリセル２１は、Ｔａ２Ｏ５の一部分にフィラメントと呼ばれる導電性パスが形成される。このフィラメントのメカニズムについて説明する。メモリセル２１に対し、高電圧を印加することで、Ｔａ２Ｏ５内の一部の酸素イオンが抜け出し、酸素欠損が発生する。この発生した酸素欠損はＴａ２Ｏ５内にランダムに配置され確率的に連なりを形成することで導電性パスとして現れる。これのより、メモリセル２１は初期状態よりも低い抵抗値に設定される。一度フォーミングによって絶縁破壊したメモリセル２１は、初期状態レベルの抵抗値に戻すことができない。一方で、フォーミングにより発生したＴａ２Ｏ５に存在する酸素欠損は、正負の異なる電圧パルスを印加することで、酸素欠損の量を調整することが可能である。よって、正負の異なる電圧パルスを印加することで、高抵抗状態と低抵抗状態の二つの抵抗状態を切り替えることができる。この可変状態を利用してスイッチングが実現できる。それら２つの状態は電源を切っても保持できるため、メモリセル２１を不揮発性メモリとして利用することが可能である。
【００２３】
続いて初期状態と可変状態の特性の違いについて説明する。図４は、初期状態の１キロビットメモリセルについて、横軸を１回目の読み出し時の電流値、縦軸を２回目の読み出し時のメモリセルの電流値とし、これらの電流値の関係を正方形印のプロットで示す図である。図５は、可変状態の１キロビットメモリセルについて、横軸を１回目の読み出し時の電流値、縦軸を２回目の読み出し時の電流値とし、これらの電流値の関係を菱形印のプロットで示す図である。これらの図を比較すると、可変状態は初期状態に比べ、一回目と二回目でメモリセルの電流値の変動量が大きいことが確認できる。この理由は、以下のメカニズムによると考えられる。すなわち、可変状態において形成されたフィラメント内に存在する酸素欠損が時間と共に移動することで、酸素欠損の連なりから成る導電性パスも僅かに変化していると考えられる。これが電流値の揺らぎとして観測される。一方、初期状態は、フィラメントが形成されていない状態であり、Ｔａ２Ｏ５内にも酸素欠損がほぼ存在していない状態である。よって、電流値は、揺らぎが小さく非常に安定的である。
【００２４】
更に、初期状態の抵抗値の安定性は、図６でも示すことができる。図６は、初期状態の４キロビットのメモリセルにおいて、１７５℃で４時間の高温放置による加速劣化試験を実施したときの、高温放置前と放置後のセル電流分布を比較したグラフである。図６では、横軸をメモリセルの電流値、縦軸を累積確率のσ分布とし、高温放置前のセル電流分布を灰色菱形印でプロットし、放置後のセル電流分布を黒色正方形印でプロットしている。この図からも明らかなように、初期状態は、抵抗値の劣化もほとんど見られず非常に安定的な抵抗状態であることが確認できる。
【００２５】
以上の実験データから得られた、本願発明者らが得た初期状態のメモリセルに対する知見は以下の２つである。
【００２６】
・初期状態のメモリセルのセル電流は、フォーミング電圧までは電圧に対し対数線形性を持つ。
・初期状態の抵抗変化素子は、可変状態の抵抗変化素子に比べ、揺らぎや経年劣化が小さく、安定的で信頼が高い。
【００２７】
上述した知見を活用すれば、例えば以下のような応用技術への展開、および課題解決が実現可能と考えられる。
【００２８】
（１）ＰＵＦ技術への展開
非特許文献２では、可変状態の抵抗値のばらつきを利用しているため、経年劣化が大きく安定的なＰＵＦデータの再現性に課題があった。
【００２９】
そこで、本願発明者らは、初期状態の特徴を応用する。図７は、４キロビットのメモリセルに対し、通常の読み出し電圧０．４Ｖで読み出した場合と読み出し電圧を１．８Ｖに昇圧して読み出しした場合の抵抗ばらつき分布特性を示している。図７では、横軸を電流、縦軸を累積確率のσ分布とし、通常読み出し電圧０．４Ｖの場合を黒色正方形印でプロットし、読み出し電圧１．８Ｖの場合を灰色菱形印でプロットしている。通常の読み出し電圧では、電流値が非常に微小で、初期状態の抵抗ばらつき分布を回路によって検知することが困難であった。読み出し電圧の昇圧により、初期状態の抵抗ばらつき分布を回路で検知可能なセル電流レベルにまで増幅することで、初期状態を利用したＰＵＦ技術への応用が可能となった。これにより、安定的なＰＵＦデータを生成することができ、再現性の向上が実現できる。
【００３０】
（２）ＦＨＤ技術に対する課題解決
特許文献３では、初期状態と可変状態の第１抵抗状態とを区別するＦＨＤデータの判定閾値を設定し、ＦＨＤデータを初期状態と第１抵抗状態とで記録する。このＦＨＤデータの判定閾値は、ＲｅＲＡＭの抵抗変化素子の可変状態における第１抵抗状態と第２抵抗状態とを区別する通常記録データの判定閾値とは異なる。これにより、セキュリティ性が向上する。しかし、本願発明者らは、ＦＨＤ技術の検討を進めていく上で以下の点に気付いた。すなわち、高温環境時（例えば１２５℃）では、周辺回路の各トランジスタのリーク電流が増大する。よって、非常に僅かな電流差を判別するＦＨＤデータの判定閾値では、判定閾値の電流値（約１ｕＡ）をリーク電流（１〜１．５ｕＡ）が上回る。このため、通常記録データで用いられている回路を利用したＦＨＤデータの読み出しが困難となる。
【００３１】
そこで、本発明者らは、前述した初期状態の特徴を着眼した。図８に示すように、通常読み出し電圧よりも大きな電圧でＦＨＤデータを読み出すことで、初期状態と第１抵抗状態の電流の絶対値を増大させることができる。図８は、メモリセルの各状態（初期状態、ＨＲ状態、ＬＲ状態）において、読み出し電圧を０．４Ｖと１．８Ｖにしてメモリセルを読み出した場合のセル電流の分布を示す図である。通常読み出し電圧よりも大きな電圧でＦＨＤデータを読み出すことにより、高温環境下においても、トランジスタのリーク電流値よりも判定閾値を高く設定できる。よって、従来の回路でのＦＨＤデータの読み出しが実現可能となる。
【００３２】
また、上述した（１）ＰＵＦと（２）ＦＨＤの実装では、ＰＵＦデータとＦＨＤデータの生成を行う多くの回路要素を、通常の不揮発性メモリ装置として搭載される回路と共通化することが可能となる。そのため、ディジタルＩＤデータの生成のために増加する回路規模を大きく抑制することができ高度に小型化（つまり、省面積化）し得る。
【００３３】
本願発明者らによる知見に基づいて、本開示の一態様の概要は以下のとおりである。
【００３４】
本開示の一形態にかかる不揮発性メモリ装置は、可変状態および初期状態の何れかを取り、前記初期状態の少なくとも一つのメモリセルを含む第２メモリグループを含む、抵抗変化型の複数のメモリセルと、前記複数のメモリセルから抵抗値情報を読み出す抵抗検出回路、および前記抵抗検出回路が読み出した前記抵抗値情報に応じたディジタルデータを生成するデータ生成回路を備えた読み出し回路と、を備える。前記抵抗検出回路は、可変状態のメモリセルを読み出すための第１読み出し電圧と、前記第１読み出し電圧よりも大きく、前記初期状態から前記可変状態に変化するための電気的ストレスであるフォーミングパルスの電圧よりも小さい第２読み出し電圧とを選択的に印加する電圧印加回路を備える。前記電圧印加回路が前記第２メモリグループの前記少なくとも一つのメモリセルに前記第２読み出し電圧を印加することにより、前記抵抗検出回路は当該少なくとも一つのメモリセルから前記抵抗値情報を読み出す。前記複数のメモリセルは、さらに、前記可変状態の複数のメモリセルを含む第１メモリグループを含んでもよい。前記読み出し回路は、さらに、前記第２メモリグループの前記少なくとも一つのメモリセルが読み出される場合、前記抵抗検出回路が当該少なくとも一つのメモリセルに印加する電圧を前記第２読み出し電圧に設定し、前記第１メモリグループの前記複数のメモリセルが読み出される場合、前記抵抗検出回路が当該複数のメモリセルに印加する電圧を前記第１読み出し電圧に設定する電圧設定回路を備えてもよい。前記可変状態の前記複数のメモリセルは、それぞれ、極性の異なる電圧パルスが印加されることによって抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移してもよい。前記初期状態の前記少なくとも一つのメモリセルは、それぞれ、前記フォーミングパルスが印加されない限り前記可変状態とならず、かつ抵抗値が前記可変抵抗値範囲と重複しない初期抵抗値範囲にあってもよい。
【００３５】
これにより、初期状態のメモリセルが少なくとも一つ含まれる第２メモリグループに対しては、可変状態のメモリセルが複数含まれる第１メモリグループ内のメモリセルの読み出し時に印加する第１読み出し電圧よりも大きく、かつ、フォーミングパルスの電圧よりも小さい第２読み出し電圧を印加するので、初期状態のメモリセルの抵抗値のばらつきが読み出される。初期状態の抵抗値のばらつきは、任意に書き込むことができず、電流値の揺らぎも小さく非常に安定的なＰＵＦデータの情報源である。さらに、ＰＵＦデータの情報源としての回路を、通常の不揮発性メモリ装置として搭載される回路と共通化することが可能となる。これにより、セキュリティ性を維持しつつ、より高信頼かつ省面積化が実現できる不揮発性メモリ装置が実現される。なお、第２メモリグループには、さらに、一つ又は複数の可変状態のメモリセルが含まれていても良い。第２メモリグループの一つ又は複数の可変状態のメモリセルの読み出し時にも第２読み出し電圧を印加してもよい。
【００３６】
ここで、前記第２メモリグループの前記少なくとも一つのメモリセルは、前記初期状態の複数のメモリセルを含んでもよい。前記データ生成回路は、前記第２メモリグループに含まれる前記複数のメモリセルの前記抵抗値情報を互いに比較することで第１セキュリティデータを生成してもよい。前記不揮発性メモリ装置は、さらに、前記第２メモリグループの前記複数のメモリセルから得られる前記抵抗値情報から判定値を生成する判定値生成回路を含んでもよい。前記データ生成回路は、前記判定値生成回路が生成した前記判定値を利用して、前記第２メモリグループの前記複数のメモリセルから前記抵抗検出回路が読み出した前記抵抗値情報に応じた前記第１セキュリティデータを生成してもよい。前記判定値は、２値化基準値であってもよい。
【００３７】
これにより、第２メモリグループに含まれるメモリセルの抵抗値情報を比較することで、ＰＵＦデータである第１セキュリティデータが生成されるので、第１セキュリティデータを生成するのに必要な閾値が不揮発性メモリ装置に依存して決定され、高いセキュリティ性が維持される。
【００３８】
また、前記初期状態の前記少なくとも一つのメモリセルは、前記第２メモリグループに含まれるメモリセル全体の半数以上であってもよい。
【００３９】
これにより、第２メモリグループの半数以上を占める初期状態のメモリセルを、ＰＵＦデータである第１セキュリティデータの情報源として使用できる。
【００４０】
また、前記可変状態は、第１抵抗状態と当該第１抵抗状態よりも抵抗値の高い第２抵抗状態とを含み、前記初期状態の抵抗値は、前記第２抵抗状態の抵抗値よりも高くてもよい。
【００４１】
これにより、可変状態よりも高い抵抗値である初期状態がＰＵＦデータである第１セキュリティデータの情報源として使用される。
【００４２】
また、前記第１メモリグループには、前記第１抵抗状態と前記第２抵抗状態とを利用したデータが記録され、前記第２メモリグループには、前記可変状態と前記初期状態とを利用した、第２セキュリティデータが記録されてもよい。
【００４３】
これにより、第２メモリグループには、可変状態と初期状態とを利用したＦＨＤデータである第２セキュリティデータが記録される。これにより、可変状態と初期状態とが混在した状態でＦＨＤデータによる記録および再生が行われる。再生においては、可変状態に対する閾値とは異なる閾値を用いる必要があるので、高いセキュリティ性を維持した状態でデータが隠蔽される。
【００４４】
また、前記第２メモリグループには、前記第１セキュリティデータと前記第２セキュリティデータとが記録されていてもよい。
【００４５】
これにより、第２メモリグループには、ＰＵＦデータである第１セキュリティデータとＦＨＤデータである第２セキュリティデータとが記録されるので、ランダム性の高い情報源（すなわち、ＰＵＦデータの情報源）であり、かつ、高いセキュリティ性を維持した状態でデータの隠蔽（すなわち、ＦＨＤデータの記録）が可能な不揮発性メモリ装置が実現される。
【００４６】
また、前記第２メモリグループには、前記第１セキュリティデータを利用して暗号化された第３セキュリティデータが記録されていてもよい。
【００４７】
これにより、第２メモリグループには、第１セキュリティデータを利用して暗号化された第３セキュリティデータが記録されるので、例えば、ＰＵＦデータを鍵として暗号化された秘密鍵をＦＨＤデータとして第２メモリグループに記録することができる。これにより、ＰＵＦデータとＦＨＤデータの両方を利用した極めて高いセキュリティ性をもつデータ記録が実現される。
【００４８】
以下、添付図面を参照しながら、本開示の詳細を説明する。以下で説明する実施の形態は、いずれも一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、あくまで一例であり、本開示を限定するものではない。以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、図面において、同一または同様の構成については、同じ符号を付す。同じ符号が付いたものは、説明を省略する場合がある。また、図面は理解しやすくするために、それぞれの構成要素を模式的に示したもので、形状および寸法比等については正確な表示ではない場合がある。また、製造方法においては、必要に応じて、各工程の順序等を変更でき、かつ、他の公知の工程を追加できる。
【００４９】
（実施の形態）
（本開示で用いる抵抗変化型不揮発性メモリ装置の概要）
図９は、実施の形態にかかる抵抗変化型不揮発性メモリ装置１００の概略構成の一例を示すブロック図である。また、図１０は、実施の形態にかかる抵抗変化型不揮発性メモリ装置１００が備えるメモリセル９１の概略構成の一例を示す断面図である。なお、抵抗変化型不揮発性メモリ装置は、不揮発性メモリ装置の一例である。本実施形態では、抵抗変化型不揮発性メモリ装置を、不揮発性メモリ装置、抵抗変化型不揮発性メモリ、または不揮発性メモリともいう。
【００５０】
図９に示す例では、本実施の形態の抵抗変化型不揮発性メモリ装置１００は、少なくともメモリセルアレイ９０を備えている。不揮発性メモリ装置１００は、さらに、制御装置９４を備えていてもよい。なお、制御装置９４は必ずしも不揮発性メモリ装置１００の一部である必要はなく、不揮発性メモリ装置１００外に接続された制御装置を用いて、以下に説明する動作が行われてもよい。
【００５１】
メモリセルアレイ９０は、複数のメモリセル９１がアレイ状に配置された構成を有する。メモリセルアレイ９０内は、第２メモリグループの一例であるメモリα領域９２と、第１メモリグループの一例であるメモリβ領域９３とに分類されている。
【００５２】
制御装置９４は、アクセスするメモリセル９１がメモリα領域９２に属するか、メモリβ領域９３に属するかに応じて、メモリセル９１に印加する読み出し電圧の設定を切り替える。メモリα領域９２の読み出し電圧はメモリβ領域９３の読み出し電圧よりも高い電圧が設定される。
【００５３】
不揮発性メモリ装置１００のメモリα領域９２を個体識別情報として利用し、ＰＵＦデータを生成する場合には、各抵抗値が、同一の初期状態の抵抗値範囲に属している複数の不揮発性メモリセルを利用する。制御装置９４は同一の初期状態の抵抗値範囲を持つ複数のメモリセルから抵抗値情報を取得し、中央値を算出する。図１１は、初期状態の抵抗値範囲を持つ複数のメモリセルから取得された抵抗値情報の分布を示す図である。抵抗値情報の分布は菱形印のプロットで示している。算出された中央値は、図１１に示すように、２値化の判定閾値（判定値の一例）として設定される。この２値化の判定閾値を用いて、同一初期状態にある複数のメモリセルに０または１のディジタルデータのいずれの値を割り当てるかを判定することで、ＰＵＦデータが生成される。ここでの「初期状態」とは、抵抗値が可変抵抗値範囲と重複しない初期抵抗値範囲にある状態をいう。初期状態にあるメモリセルは、フォーミングが行われない限り可変状態とならない。「フォーミング」とは、所定の電気的ストレスをメモリセルに印加して、メモリセルの抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する状態へと、メモリセルを変化させることをいう。
【００５４】
フォーミングのために印加される電気的ストレス（すなわち、フォーミングストレス）は、例えば、所定の電圧と時間幅を有する電気的パルスであってもよい。また、フォーミングストレスは、複数の電気的パルスを組み合わせたものであってもよい。また、フォーミングストレスは、累積的なストレスであってもよい。その場合、ストレスの累積量が所定量を超えたときに、メモリセル９１（図１０参照）は初期状態から可変状態に遷移する。
【００５５】
複数のメモリセル９１は、製造後、フォーミングをしなければ抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する状態とならないような性質を有しているとする。つまり、半導体プロセス等により製造した後、フォーミングストレスが印加される前の抵抗変化素子は、初期状態にあるとして説明する。この初期状態のメモリセル９１の抵抗ばらつきは正規分布に従いランダムな性質を有する。一度フォーミングストレスによって可変状態に遷移したビットは、二度と初期状態の抵抗値レベルに書き戻すことはできない。以上を踏まえると、この初期状態の抵抗値範囲内では、任意のアドレスに２値データ意図的に書き分けることができない。すなわち、当該複数の不揮発性メモリセルにはユーザデータを書込むことはできない。つまり、初期状態の抵抗ばらつきが不揮発性メモリ装置１００のＰＵＦデータの情報源となる。
【００５６】
不揮発性メモリ装置１００のメモリα領域９２を秘密隠蔽情報として利用する。ＦＨＤデータを生成する場合には、初期状態の抵抗値範囲と、可変状態の高抵抗側（ＨＲ状態）の抵抗値範囲を利用してデータが記録される。
【００５７】
上述した「抵抗値範囲」の詳細について、図１２を参照しながら詳細に説明する。
【００５８】
メモリセル９１は、上述した初期状態に対し、フォーミングストレスが印加すると、可変状態へと遷移する。そして、メモリセル９１は、異なる複数の電気的信号が印加されることによって、第１抵抗値範囲と第２抵抗値範囲の間を可逆的に遷移する可変状態を取りうる性質を有する。つまり、メモリセル９１は、極性の異なる電圧パルスが印加されることによって抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する可変状態と、可変状態に変化させるための電気的ストレスであるフォーミングパルスが印加されない限り可変状態とならず、かつ抵抗値が可変抵抗値範囲と重複しない初期抵抗値範囲にある初期状態とを取りうる性質を有する。
【００５９】
図１２は、実施の形態にかかる抵抗変化型不揮発性メモリ装置が備えるメモリセルの抵抗値範囲の一例を示すグラフである。図１２に例示するように、ＦＨＤデータでは第１抵抗値範囲（可変状態におけるＨＲ状態の抵抗値範囲）と初期抵抗値範囲（初期状態の抵抗値範囲）の抵抗差を利用してデータが記録される。
【００６０】
「抵抗値情報」とは、抵抗値と相関関係を有する情報であり、抵抗値そのものであってもよいし、抵抗値に応じて増減する値であってもよい。抵抗値に応じて増減する値は、後述するような、メモリセルに並列に接続されたコンデンサに蓄積された電荷が、選択されたメモリセルを介して放電される放電時間であってもよい。抵抗値に応じて増減する値は、逆に、ディスチャージされたコンデンサに所定の定電流を流し所定のレベルまでチャージされる充電時間でもよい。該放電時間または充電時間は、所定のクロック周期でカウントされたカウント値等であってもよい。なお、コンデンサは素子であることには限定されず、例えば配線などの寄生容量でもよい。
【００６１】
抵抗値情報は、所定の分解能のセンスアンプによって測定された値であってもよい。あるいは、抵抗値情報は、センスアンプによって測定された値が、閾値によって区分けされた複数の抵抗値範囲のいずれに該当するかを判定することによって得られた値であってもよい。その場合、複数の抵抗値範囲のそれぞれは、さらに細かく区分けされたものであってもよい。また、複数の抵抗値範囲の一部のみが、さらに細かく区分けされたものであってもよい。
【００６２】
図１３は、実施の形態にかかる抵抗変化型不揮発性メモリを利用した、第１セキュリティデータの一例であるＰＵＦデータの登録および再生時の処理を示すフローチャートである。
【００６３】
ステップＳ１で、不揮発性メモリは、メモリα領域９２にアクセスする場合、メモリβ領域９３で扱う０．４Ｖよりも高い１．８Ｖにまで読み出し電圧を昇圧する。ステップＳ２において、不揮発性メモリは、ＰＵＦデータが記録されているメモリセルの抵抗値情報を取得する。ステップＳ３で、不揮発性メモリは、取得したＰＵＦデータの抵抗値情報を元に、図１１に示す２値化の基準となる閾値（ばらつき分布の中央値）を算出する。ステップＳ４において、不揮発性メモリは、算出された閾値を最新の閾値として設定する。その後、不揮発性メモリは、ステップＳ５にてＰＵＦデータの抵抗値情報を取得する。その後、不揮発性メモリは、ステップＳ６にて各抵抗値情報と閾値を比較することで、閾値よりも抵抗値が小さければステップＳ７で「１」のデータを割り当て、大きければステップＳ８で「０」のデータを割り当てる。不揮発性メモリは、ＰＵＦデータのディジタルＩＤデータ化の全アドレスの完了をステップＳ９で確認し、未完了の場合はステップＳ１０にて次のアドレスを選択し、一方、完了であれば、フローを終了する。このように、ＰＵＦデータは、初期状態にあるメモリセルの抵抗値のばらつきを利用することで、第１セキュリティデータの一例であるＰＵＦデータの登録および再生が行われる。
【００６４】
図１４は、実施の形態にかかる抵抗変化型不揮発性メモリを利用した、第２セキュリティデータの一例であるＦＨＤデータの登録時の処理を示すフローチャートである。図１５は、ＦＨＤデータの再生時の処理を示すフローチャートである。
【００６５】
ステップＳ１１では、不揮発性メモリの外部で生成されたＩＤデータのパターンが不揮発性メモリに入力され、あるいは、不揮発性メモリの内部でＩＤデータのパターンが生成される。ステップＳ１２にて、不揮発性メモリは、入力されたデータの中で１に割り当てられたデータのみにフォーミング処理を実行する。更にステップＳ１３にて、不揮発性メモリは、フォーミング処理を実行したメモリセルに対して、第１抵抗値範囲（ＨＲ状態）に抵抗値を収めるための書き込み処理を実行する。これにより、ＦＨＤデータの書き込み登録が完了する。
【００６６】
一方、ＦＨＤデータ再生時、不揮発性メモリは、ステップＳ１４において、ＰＵＦデータの場合と同様、読み出し電圧を１．８Ｖまで昇圧設定する。その後、不揮発性メモリは、ステップＳ１５にて抵抗値情報を読み出す。更に、ステップＳ１６において、不揮発性メモリは、図１２に示された第１閾値と、読み出された抵抗値情報が示す値とを比較し、その大小関係から、抵抗値情報をＦＨＤのディジタルＩＤデータに変換する。これにより、ステップＳ１７にてＦＨＤデータが出力される。このように、初期状態にあるメモリセルの抵抗値と可変状態（ここでは、ＨＲ状態）にあるメモリセルの抵抗値との違いを利用することで、第２セキュリティデータの一例であるＦＨＤデータの登録および再生が行われる。
【００６７】
では、次に本開示の方式を実現するための具体的な構成例について説明する。
【００６８】
図１６は、本開示の不揮発性メモリ装置１０の具体的な構成例を示すブロック図である。なお、図１６はあくまで一例であり、実施の形態の不揮発性メモリ装置１０の具体的構成が図１６に示される構成に限定されるものではない。
【００６９】
図１６に示すように、実施の形態における不揮発性メモリ装置１０は、抵抗値の変化を利用してデータを保持可能な抵抗変化型のメモリセルを備えた装置である。不揮発性メモリ装置１０は、半導体基板上に、メモリ本体部２２を備えている。また、不揮発性メモリ装置１０は、さらに、データ入出力回路６と、制御回路１５と、アドレス入力回路１６とを備えている。
【００７０】
メモリ本体部２２は、読み出し回路１１と、書き込み回路１４と、カラムデコーダ回路１７と、ロウデコーダ回路１８と、メモリセルアレイ２０と、判定値生成回路１２８と、誤り訂正およびパリティー生成回路４００とを備えている。判定値生成回路１２８は、中央値検出回路２５と、閾値選択回路２８と、ＩＤ閾値レジスタ２６と、データ閾値レジスタ２７とを備えている。
【００７１】
書き込み回路１４は、選択されたメモリセル２１へ各動作における所定の電圧を印加してデータを書き込む。
【００７２】
読み出し回路１１は、メモリセル２１の抵抗値情報を取得する回路である。読み出し回路１１は、ビット線に流れる電流の変化を、後述する読み出し方式により検知し、選択メモリセルの抵抗値情報をディジタルカウント値として取得する。
【００７３】
ロウデコーダ回路１８は、メモリセルアレイ２０に接続されている複数のｍ＋１本のワード線ＷＬの中から１つのワード線ＷＬを選択する。
【００７４】
カラムデコーダ回路１７は、ｎ＋１本のビット線ＢＬとｎ＋１本のソース線ＳＬの中からＳ本のビット線ＢＬと、それに対応するＳ本のソース線ＳＬとを選択し、選択したビット線ＢＬおよびソース線ＳＬを書き込み回路１４および読み出し回路１１へ接続する。なお、ｎ＋１は複数であり、Ｓは並列読み出し数である。
【００７５】
ロウデコーダ回路１８およびカラムデコーダ回路１７は、並列的に読み出しおよび／または書き込みが行われる行および／または列の数に応じて動作可能である。
【００７６】
不揮発性メモリ装置１０の読み出し回路１１は、出力端子ＡおよびＢと、入力端子Ｄを有する。入力端子Ｄには判定値生成回路１２８の閾値選択回路２８が接続されている。
【００７７】
判定値生成回路１２８は、読み出し回路１１に対して、読み出し時の判定閾値（判定値の一例）を提供する回路である。この判定閾値は、例えば、２値化基準値である。判定値生成回路１２８は、第２メモリグループの複数のメモリセルから得られる抵抗値情報から、２値化基準値を生成する機能を有する。
【００７８】
閾値選択回路２８は、入力端子Ａ、Ｂ、およびＣを有し、入力端子Ａには中央値検出回路２５、入力端子ＢにはＩＤ閾値レジスタ２６、入力端子Ｃにはデータ閾値レジスタ２７が接続されている。閾値選択回路２８は、これら３つの入力端子の中から何れか一つを選択し、読み出し回路１１に対して、読み出し時の判定閾値を出力する。この閾値は、読み出し回路１１が、カラムデコーダ回路１７から得られた信号を０または１のデータとして２値化するために利用される。
【００７９】
中央値検出回路２５は、ＰＵＦデータの生成時に必要な中央値となる判定閾値を出力する。ＩＤ閾値レジスタ２６には、ＦＨＤデータを生成するたに必要な判定閾値が格納されている。入力端子Ｃに接続されたデータ閾値レジスタ２７には、ユーザデータを生成するための判定閾値が格納されている。
【００８０】
また読み出し回路１１は、出力端子Ｂを介して、カラムデコーダ回路１７から得られた信号を中央値検出回路２５に出力する。この信号は、ＰＵＦデータの生成時に用いる中央値を算出するために中央値検出回路２５によって利用される。
【００８１】
さらに、読み出し回路１１は、出力端子Ａを介してＨまたはＬの出力Ａを出力することにより、ユーザデータである０または１のデータ、および、ディジタルＩＤデータである０または１のデータを出力する。
【００８２】
検査工程時にディジタルＩＤデータに応じた誤り訂正のためのパリティーデータを生成する場合は、上述の出力端子Ａから出力されるディジタルＩＤデータをデータ入出力回路６が受け取り、誤り訂正およびパリティー生成回路４００に送る。
【００８３】
誤り訂正およびパリティー生成回路４００は、ディジタルＩＤデータに応じた誤り訂正用のパリティーデータを演算し、演算結果をデータ入出力回路６に戻す。
【００８４】
なお誤り訂正およびパリティー生成回路４００は、機能的には、誤り訂正を行う回路要素と、パリティーを生成する回路要素とに分けることが可能である。本実施の形態では、誤り訂正およびパリティー生成回路４００は１つの回路として説明されているが、誤り訂正回路およびパリティー生成回路という別個の２つの回路として設けられてもよい。
【００８５】
データ入出力回路６は、パリティーデータを書き込み回路１４に出力する。書き込み回路１４は、ディジタルＩＤデータに応じた冗長のメモリセルにパリティーデータを書込む。なお、これらの制御は制御回路１５を介して実行される。
【００８６】
中央値検出回路２５の動作について、より詳しく説明する。読み出し回路１１は、抵抗値情報のディジタルカウント値を、閾値選択回路２８の入力端子Ａを介して入力端子Ｄに入力される閾値と比較して、１または−１の中央値誤差信号を出力端子Ｂから出力する。出力端子Ｂから出力される中央値誤差信号は並列的に読み出されるチャンネル数（ｓ）だけ同時に出力される。ｓ個の中央値誤差信号は、中央値検出回路２５に入力される。
【００８７】
中央値検出回路２５は演算回路であり、たとえば半導体集積回路を用いて実現され得る。中央値検出回路２５は、中央値誤差信号が小さくなるようにフィードバック制御されて抵抗中央値を算出する。中央値検出回路２５は、算出した抵抗中央値を閾値選択回路２８の入力端子Ａに出力する。
【００８８】
不揮発性メモリ装置１０にユーザがデータを書き込む場合は、外部からアドレス信号、データ信号、およびコントロール信号が不揮発性メモリ装置に入力される。これにより、書き込み処理が実行される。詳細には、外部から入力されるアドレス信号を受け取るアドレス入力回路１６と、外部から入力されるコントロール信号に基づいてメモリ本体部２２の動作を制御する制御回路１５が、書き込むアドレスを選択するとともに書き込みパルスを印加する制御を行う。データ入出力回路６は外部から入力されるデータ信号（すなわち、外部データ）を受け取り、その外部データに基づいて書き込みデータを生成して書き込み回路１４に送る。書き込み回路１４は、その書き込みデータを選択されたアドレスに対応するメモリセルに書き込む。
【００８９】
この書き込みデータは、データ入出力回路６により誤り訂正のためのパリティーデータが付加されたデータである。以下、パリティーデータに関連する処理を説明する。
【００９０】
書き込みデータの生成のために、データ入出力回路６は、取り込んだ外部データを、図１６に示す誤り訂正およびパリティー生成回路４００に送る。誤り訂正およびパリティー生成回路４００は、入力された外部データに応じた誤り訂正を行うためのパリティーデータ（以下、誤り訂正用パリティーとも呼ぶ）を演算してデータ入出力回路６に戻す。データ入出力回路６は、外部データと誤り訂正用パリティーをあわせた書き込みデータを書き込み回路１４に送る。書き込み回路１４は、選択されたメモリセルに書き込みデータを書き込む。このとき、パリティーデータは外部から指定されたアドレス情報に応じて予め決められた冗長のメモリセルに書込まれる。
【００９１】
また、不揮発性メモリ装置１０に書き込まれたユーザデータあるいは、ＦＨＤデータを読み出す際には、アドレス信号を受け取るアドレス入力回路１６と、外部から入力されるコントロール信号に基づいてメモリ本体部２２の動作を制御する制御回路１５とが利用される。具体的には、制御回路１５は、アドレス入力回路１６に入力されたアドレス信号に基づいて読み出すアドレスを選択するとともに選択されたメモリセルを読み出すように読み出し回路１１を制御する。また、制御回路１５は、外部から入力されたアドレスに応じたパリティーデータを読み出すため予め決められた冗長のメモリセルも順次選択され読み出すように読み出し回路１１を制御する。読み出し回路１１は、ユーザデータを読み出す場合は入力端子Ｃ、ＦＨＤデータを読み出す場合は入力端子Ｂの閾値に従い１／０判定をした結果であるディジタルデータを出力端子Ａから出力する。アドレス信号に応じたデータと、そのデータに対応したパリティーデータは、データ入出力回路６を介して誤り訂正およびパリティー生成回路４００に送られ、データ誤りがあれば訂正されたのち、データ入出力回路６に戻され、更に不揮発性メモリ装置１０の外部に出力される。
【００９２】
このとき、ＩＤ閾値レジスタ２６に格納された判定閾値は図１２の第１閾値に相当し、データ閾値レジスタ２７に格納された判定閾値は図１２の第２閾値に相当する。これらの判定閾値は、読み出し回路１１の入力端子Ｄに入力される。読み出し回路１１に入力される入力端子Ｄの判定閾値は、閾値選択回路２８によって選択される。すなわち、閾値選択回路２８は、入力端子Ｄの判定閾値として、中央値検出回路２５から出力されて入力端子Ａから入力される中央値、ＩＤ閾値レジスタ２６から出力されて入力端子Ｂから入力される第１閾値、またはデータ閾値レジスタ２７から出力されて入力端子Ｃから入力される第２閾値の何れかを選択する。なお、入力端子Ａから入力される中央値および入力端子Ｂから入力される第１閾値を用いてディジタルＩＤデータを読み出す際には、後述するセンスアンプのメモリセルへの印加電圧は変更される。また、その他判定レベルである参照電圧ＶＲＥＦやロード制御信号ＬＯＡＤの電位を変更しても良い。
【００９３】
以下に、パリティーデータを用いてディジタルＩＤデータの誤りを訂正する例を説明する。以下では、各構成要素がどのように動作するかの観点で説明している。各構成要素の動作は、制御回路１５からの指示によって制御されていることに留意されたい。
【００９４】
まず、制御回路１５は、工場出荷前の検査工程時に、読み出し回路１１および中央値検出回路２５を利用し、予めディジタルＩＤデータを生成する。誤り訂正およびパリティー生成回路４００は、そのディジタルＩＤデータをもとにパリティーデータを生成する。生成されたパリティーデータは、たとえば予め定められたアドレスの不揮発性メモリセル内に、ユーザデータとして記録される。
【００９５】
次に、不揮発性メモリ装置１０のフィールド使用時の動作を説明する。パリティーデータは、予め検査時にユーザデータとして記録されているため、図１２の第１閾値で判定される。すなわち、読み出し回路１１は、ディジタルＩＤデータを前述した工程により読み出し、データ入出力回路６に出力する。その後、読み出し回路１１は、閾値を所定の値に切り替えて、ディジタルＩＤデータに応じた冗長のメモリセルに保存されたパリティーデータを読み出し、データ入出力回路６に出力する。データ入出力回路６は、ディジタルＩＤデータとパリティーデータを誤り訂正およびパリティー生成回路４００に送信する。誤り訂正およびパリティー生成回路４００は、誤りを訂正した後のデータを、データ入出力回路６に戻す。データ入出力回路６はそのデータを不揮発性メモリ装置１０の外部に出力する。
【００９６】
なお、上述では、ユーザデータおよびディジタルＩＤデータの両方の誤りが、同じ誤り訂正およびパリティー生成回路４００によって訂正されるとして説明したが、これは一例である。ディジタルＩＤデータの誤りを訂正するための誤り訂正およびパリティー生成回路は、例えば不揮発性メモリ装置１０の外部に具備されても良い。このような構成にすれば、不揮発性メモリ装置１０の外に送られるディジタルＩＤデータは、データ誤りを含んでおり、不揮発性メモリ装置１０の外部の通信路においてハッキングなどの脅威に対してセキュリティが向上できるという利点がある。
【００９７】
図１６に示すように、メモリ本体部２２は、記憶領域として、ユーザデータ領域７とディジタルＩＤデータ領域８とを有する。ユーザデータ領域７は、可変状態の複数のメモリセルを含む第１メモリグループの一例である。ユーザデータ領域７にはユーザの任意のデータ（すなわちユーザデータ）が記憶される。つまり、第１メモリグループには、可変状態における第１抵抗状態と当該第１抵抗状態よりも抵抗値の高い第２抵抗状態とを利用してデータが記録される。ユーザデータの書き込みおよび読み出し時にはユーザデータ領域７のアドレスが選択される。
【００９８】
ディジタルＩＤデータ領域８は、初期状態のメモリセルが少なくとも一つ含まれる第２メモリグループの一例である。ディジタルＩＤデータ領域８には、ディジタルＩＤデータが記憶される。以下の説明において、ディジタルＩＤデータ領域８に記憶されるディジタルＩＤデータは、使用用途に応じて、第１セキュリティデータの一例であるＰＵＦデータ、あるいは、第２セキュリティデータの一例であるＦＨＤデータと呼ぶ。ＰＵＦデータがディジタルＩＤデータ領域８に記憶される場合、ディジタルＩＤデータ領域８内の半数以上のメモリセルがフォーミング処理されないままの同一の初期状態である。一方、ＦＨＤデータがディジタルＩＤデータ領域８に記憶されている場合、記録する２値データに対し一方のデータに割り当てられたメモリセルに対し、フォーミング処理が実行される。これにより、一方のデータに割り当てられたメモリセルの抵抗値が図１２の第１抵抗値範囲（すなわちＨＲ状態の抵抗値範囲）にセットされる。もう一方のデータに割り当てられたメモリセルに対してはフォーミング処理がなされず、初期状態が維持される。つまり、第２メモリグループには、可変状態と初期状態とを利用してデータ（第２セキュリティデータ）が記録される。
【００９９】
なお、ディジタルＩＤデータ領域８を更に分割することで、ＰＵＦとＦＨＤの両方のデータを同一のメモリセルアレイ２０内に記録してもよい。すなわち、ディジタルＩＤデータ領域８内にＰＵＦデータとＦＨＤデータが混在していてもよい。つまり、第２メモリグループには、第１セキュリティデータと第２セキュリティデータとが混在して記録されてもよい。
【０１００】
さらに、第２メモリグループには、第１セキュリティデータを利用して（例えば、鍵として使用して）暗号化された第３セキュリティデータが記録されていてもよい。例えば、ＰＵＦデータを鍵として使用して暗号化した秘密鍵を、第３セキュリティデータであるＦＨＤデータとして第２メモリグループに記録してもよい。
【０１０１】
また、ユーザデータ領域７とディジタルＩＤデータ領域８は図のようにワード線単位に分けられる必要はなく、メモリセルアレイ２０上の任意の領域で区分けしても良い。物理的な領域区分の規則性を複雑にするほどハッキングなどの攻撃への耐性を高めることができる。
【０１０２】
メモリセルアレイ２０は、複数のワード線ＷＬ０、ＷＬ１、ＷＬ２、・・・ＷＬｍ−ｋ−１、ＷＬｍ−ｋ、・・・ＷＬｍと、複数のビット線ＢＬ０、ＢＬ１、・・・ＢＬｎと、複数のソース線ＳＬ０、ＳＬ１、ＳＬ２、・・・ＳＬｎと、を備える。ユーザデータ領域７とディジタルＩＤデータ領域８は、ワード線に対応した単位で切り分けられている。ユーザデータ領域７は、ワード線ＷＬ０、ＷＬ１、ＷＬ２、・・・ＷＬｍ−１に対応し、ディジタルＩＤデータ領域８は、ＷＬｍ、・・・ＷＬｎに対応する。複数のワード線ＷＬ０〜ＷＬｍは、互いに平行に延びるように形成されている。複数のビット線ＢＬ０〜ＢＬｎは、複数のワード線ＷＬ０〜ＷＬｍと交差し、かつ互いに平行に延びるようにして形成されている。複数のソース線ＳＬ０〜ＳＬｎは、複数のワード線ＷＬ０〜ＷＬｍと交差し、かつ互いに平行に延びるようにして形成されている。複数のソース線ＳＬ０〜ＳＬｎは、また、複数のビット線ＢＬ０〜ＢＬｎと平行である。複数のワード線ＷＬ０〜ＷＬｍと複数のビット線ＢＬ０〜ＢＬｎの立体交差点には、それぞれメモリセル２１が配置されている。
【０１０３】
それぞれのメモリセル２１は、抵抗変化素子２３とトランジスタ２４とを備える。ワード線ＷＬ０〜ＷＬｍは、これらのトランジスタ２４のゲート端子に接続されている。ビット線ＢＬ０〜ＢＬｎは、これらのメモリセル２１が備える抵抗変化素子２３の第２電極に接続されている。それぞれのメモリセル２１において、抵抗変化素子の第１電極はトランジスタ２４の第２主端子に各々接続されている。ソース線ＳＬ０〜ＳＬｎは、これらのトランジスタ２４の第１主端子に接続されている。
【０１０４】
抵抗変化素子２３はメモリセル２１において不揮発性メモリ素子として動作する。不揮発性メモリ装置１０は、各メモリセル２１が１個のトランジスタ２４と１個の抵抗変化素子２３とから構成される、いわゆる１Ｔ１Ｒ型の抵抗変化型不揮発性メモリ装置である。メモリセルの選択素子は前述のトランジスタに限定されない。例えばダイオードなどの２端子素子を用いても良い。
【０１０５】
制御回路１５は、コントロール信号に基づき、カラムデコーダ回路１７に対し、ビット線あるいはソース線のいずれか一方を選択させ、書き込み時は書き込み回路１４、読み出し時は読み出し回路１１に接続させる。その上で、書き込み回路１４あるいは読み出し回路１１を動作させる。
【０１０６】
抵抗変化素子２３については、実施の形態において図１に示した抵抗変化素子２３と同様の構成とすることができるので、詳細な説明を省略する。
【０１０７】
なお、図１６に示す例では、メモリセルアレイ２０の選択トランジスタとしてＮＭＯＳトランジスタが用いられているが、これに限定されず、ＰＭＯＳトランジスタを用いても良い。
【０１０８】
図１７は、本開示の不揮発性メモリ装置１０が備える読み出し回路１１の構成例を示す回路図である。なお、本図には、センスアンプ回路３０に接続されるメモリセル２１も併せて図示されている。
【０１０９】
読み出し回路１１は、放電方式のセンスアンプ回路３０と、読み出し電圧設定回路３９と、データ生成回路１３５とを有している。当該センスアンプ回路３０は、メモリセルから抵抗値情報を読み出す抵抗検出回路の一例である。センスアンプ回路３０は、本実施の形態では、コンパレータ３１と、抵抗値カウンタ３２と、プリチャージ用ＰＭＯＳトランジスタ３３と、ロード電流用ＰＭＯＳトランジスタ３４と、コンデンサ１３６とを備える。当該読み出し電圧設定回路３９は、センスアンプ回路３０による抵抗値情報の読み出し時に、第１読み出し電圧と第２読み出し電圧とを含む複数の読み出し電圧の中から１つの読み出し電圧をメモリセルに出力する回路の一例である。読み出し電圧設定回路３９は、本実施の形態では、ユーザデータ領域読み出し用ＮＭＯＳトランジスタ３７と、ディジタルＩＤデータ領域読み出し用ＮＭＯＳトランジスタ３８とを備えている。データ生成回路１３５は、センスアンプ回路３０が読み出した抵抗値情報からディジタルデータを生成する回路の一例であり、本実施の形態では、比較器３５を備えている。
【０１１０】
抵抗値カウンタ３２は、コンパレータ３１の出力に接続されている。抵抗値カウンタ３２は、リセット信号ＲＳＴがロウレベルとなることで、抵抗値カウンタ３２内のカウント値が初期化された後、クロック信号ＣＬＫによるカウントを開始する。クロック信号ＣＬＫは、制御回路１５から出力される信号であって、抵抗変化素子２３の抵抗値によって変化する放電時間をカウント値に変換する際の基準となる信号である。クロック信号ＣＬＫは、例えば一定の周波数を維持する矩形波である。このクロック信号ＣＬＫが立ち上がる毎に、抵抗値カウンタ３２のカウント値が１つ加算される。ノードＳＥＮの電位が参照電圧ＶＲＥＦを下回ると抵抗値カウンタ３２のカウントアップが停止し、そのときのカウント値がＣＯＵＮＴ＿ＯＵＴに維持される。このとき、入力端子Ｄからは閾値が入力される。
【０１１１】
データ生成回路１３５を構成する比較器３５は、ＣＯＵＮＴ＿ＯＵＴと閾値選択回路２８の入力端子Ａ、ＢまたはＣを介して入力端子Ｄに入力された閾値とを比較し、ＣＯＵＮＴ＿ＯＵＴが閾値以上であればＨを、ＣＯＵＮＴ＿ＯＵＴが閾値未満ではればＬを、出力Ａとして出力端子Ａから出力する。これにより、比較器３５は、０／１のディジタルデータを出力する。また、比較器３５は、ＣＯＵＮＴ＿ＯＵＴと閾値選択回路２８の入力端子Ａを介して入力端子Ｄに入力された閾値とを比較し、ＣＯＵＮＴ＿ＯＵＴが閾値以上であれば１を、ＣＯＵＮＴ＿ＯＵＴが閾値未満であれば−１を、出力Ｂとして出力端子Ｂから出力する。プリチャージ用ＰＭＯＳトランジスタ３３は、ゲート端子にプリチャージ制御信号ＰＲＥが入力され、ソース端子に電源電圧ＶＤＤが入力され、ドレイン端子にノードＳＥＮが接続されている。ロード電流用ＰＭＯＳトランジスタ３４は、ゲート端子にロード制御信号ＬＯＡＤが入力され、ソース端子に電源電圧ＶＤＤが入力され、ドレイン端子にノードＳＥＮが接続されている。
【０１１２】
クランプ用ＮＭＯＳトランジスタ３６は、ゲートにＶＣＬＭＰノードが接続され、ソース端子もしくはドレイン端子の何れか一方にノードＳＥＮが接続され、他端にはカラムデコーダ回路１７を介して選択されたメモリセル２１が接続されている。なお、図１７ではカラムデコーダ回路１７の図示は省略している。
【０１１３】
ユーザデータ領域読み出し用ＮＭＯＳトランジスタ３７は、ゲートに読み出し電圧選択信号のＶＲ＿ＳＥＬが接続され、ソース端子もしくはドレイン端子の何れか一方にＶＣＬＭＰノードが接続され、他端にはユーザデータ領域読み出し電源ＶＲＮ端子が接続されている。
【０１１４】
ディジタルＩＤデータ領域読み出し用ＮＭＯＳトランジスタ３８は、ゲートに読み出し電圧選択信号のＶＲ＿ＳＥＬの論理が反転された信号が入力され、ソース端子もしくはドレイン端子の何れか一方にＶＣＬＭＰノードが接続され、他端にはディジタルＩＤデータ領域読み出し電源ＶＲＨ端子が接続されている。
【０１１５】
ここで、ディジタルＩＤデータ領域８のデータ読み出し時に、読み出し回路１１が抵抗値情報であるカウント値（抵抗カウント値の一例）を出力する動作について、図１７の読み出し回路の構成図と図１８のタイミングチャートを用いて、具体的に説明する。
【０１１６】
図１８は、選択されたメモリセルを読み出し回路１１が放電方式にて読み出す場合のタイミングチャートである。
【０１１７】
Ｔ１のプリチャージ期間では、ＶＲ＿ＳＥＬがロウレベルに設定されるため、ＶＣＬＭＰがＶＲＨに固定される。プリチャージ制御信号ＰＲＥはロウレベルとなり、プリチャージ用ＰＭＯＳトランジスタ３３はオン状態になる一方で、ロード制御信号ＬＯＡＤはハイレベルとなり、ロード電流用ＰＭＯＳトランジスタ３４はオフ状態となる。選択ワード線ＷＬｓの電位はハイレベルでトランジスタ２４はオン状態となっている。
【０１１８】
クランプ用ＮＭＯＳトランジスタ３６のゲート端子にＶＣＬＭＰの電圧が印加されることで、選択ビット線ＢＬｓの電位はＶＣＬＭＰからＶＴ（クランプ用ＮＭＯＳトランジスタ３６の閾値）を引いた電位までプリチャージされる。選択ソース線ＳＬｓはＧＮＤに固定される。ノードＳＥＮは電源電圧ＶＤＤまでプリチャージされる。また、コンパレータ３１の出力に接続されている抵抗値カウンタ３２へのリセット信号ＲＳＴはハイレベルとなっているため、抵抗値カウンタ３２の出力端子ＣＯＵＮＴ＿ＯＵＴは０の固定値が出力される。
【０１１９】
Ｔ２のセンス期間では、プリチャージ制御信号ＰＲＥをハイレベルとすることで、プリチャージ用ＰＭＯＳトランジスタ３３がオフ状態となり、ロード制御信号ＬＯＡＤがロウレベルになることで、ロード電流用ＰＭＯＳトランジスタ３４はオン状態になる。
【０１２０】
そして選択ビット線ＢＬｓから選択されたメモリセル２１を介して選択ソース線ＳＬｓへと電圧が印加され、放電が開始される。放電開始と同時に抵抗値カウンタ３２へのリセット信号ＲＳＴがロウレベルとなり、カウントが始まる。そして、１カウント毎に、コンパレータ３１によって、ノードＳＥＮの電位と参照電圧ＶＲＥＦの電圧が比較され、ノードＳＥＮの電位が参照電圧ＶＲＥＦを下回るまで、カウント値が加算され続ける。読み出し時の抵抗変化素子２３の抵抗値が高いほど放電時間は長くなり、カウント値は大きくなる。
【０１２１】
ノードＳＥＮとＧＮＤとの間にはコンデンサ１３６が接続されている。コンデンサ１３６の容量を調整することで、放電時間を調整することも可能である。コンデンサ１３６の容量が大きければ、ノードＳＥＮの放電時間も長くなるため、カウント値は大きくなる。コンデンサ１３６の容量が小さければ、ノードＳＥＮの放電時間は短くなり、カウント値は小さくなる。コンデンサ１３６は、例えば、放電時間が速い低抵抗状態の検出精度を向上させたいとき、効果的である。カウントの間隔はクロック信号ＣＬＫで決定されるため、クロック信号ＣＬＫの動作周波数が抵抗カウント値の分解能となる。低い抵抗値の場合、放電時間が短すぎると抵抗カウント値の分解能で適切にカウントできない可能性がある。そこで、ノードＳＥＮに容量負荷を上乗せし、放電時間を延長させることで、意図的に分解能で検出できるレベルの放電特性に調整することが可能となる。原理上、放電方式の場合は高抵抗になればなるほど放電時間が長くなり、それにともなって放電の傾斜が緩やかに変化する。よって、カウント値に対する抵抗値情報の分解能が向上する。つまり、放電方式の場合は、初期状態などの高抵抗側のメモリセルに対して高精度な抵抗値情報の取得が要求される場合に有効な方式である。
【０１２２】
Ｔ３のラッチ期間では、放電が開始された後、ノードＳＥＮの電位が参照電圧ＶＲＥＦを下回ったときの抵抗値カウンタ３２のカウント値がラッチされる。ラッチされたカウント値は、ＣＯＵＮＴ＿ＯＵＴに出力され、抵抗変化素子２３の抵抗値情報を表すカウント値として扱われる。
【０１２３】
Ｔ４のリセット期間においては、データ出力が完了すると、選択ワード線ＷＬｓの電位がロウレベルとされ、選択されたメモリセル２１のトランジスタ２４がオフとなり、読み出し動作が終了する。
【０１２４】
図１９は、本開示の不揮発性メモリ装置１０が備える中央値検出回路２５の構成例を示している。
【０１２５】
図１９に示すように、中央値検出回路２５は、ＰＵＦデータの登録時あるいは再生時に利用される回路で、選択回路２００と、アップダウンカウンタ２０１と、乗算器２０２とを備える。
【０１２６】
選択回路２００は、読み出し回路１１から入力される中央値誤差信号の何れかの入力チャンネルを、制御回路１５から入力される制御信号Ａに従い選択する。アップダウンカウンタ２０１は、選択回路２００により選択された中央値誤差信号のカウント値を、中央値誤差信号の論理を示す制御信号Ｂに従い増減する。制御信号Ｂは、図１７の比較器３５の出力端子Ｂから出力される出力Ｂであり、「１」または「−１」の値を示す。つまり、アップダウンカウンタ２０１は中央値誤差信号の累積加算回路をなしている。
【０１２７】
乗算器２０２は、アップダウンカウンタ２０１の出力に所定の係数αを乗算して出力する。乗算器２０２の係数αは１より小さい値（例えば１／２，１／４，１／８など）に設定することができる。係数αを変えることで、中央値誤差信号の積算感度を変えることができる。なお、本明細書で言う「感度」とは、変化の程度、または変化率を言う。乗算器２０２は、感度調整回路と言うことができる。α値が大きいと抵抗中央値の検出の感度が上がり、カウント値の上下動が大きくなって抵抗中央値の検出精度が悪化する。逆にα値が小さいと感度が下がり、抵抗中央値の検出精度が増す。しかし、読み出し回数が増加し、検出にかかる時間が増加する。α値はシステムによって最適に選択される。なお、アップダウンカウンタ２０１の初期値を、目標となる抵抗中央値にαを掛けた値にセットすることにより、検出時間が短縮化され得る。
【０１２８】
上述の処理を簡潔に説明すると、アップダウンカウンタ２０１は、選択されたメモリセルから取得した抵抗値情報と、演算途中の中央値（本明細書において「暫定中央値」と称することもある。）との差分を誤差として累積する。乗算器２０２は、カウンタの出力に所定の係数を乗算した値を新たな暫定中央値として更新する。これにより、適切な中央値を得ることができる。
【０１２９】
乗算器２０２から出力された中央値は、抵抗中央値として閾値選択回路２８の入力端子Ａに出力される。
【０１３０】
なお、図１９に示されるような、誤差信号の累積加算回路をなすアップダウンカウンタ２０１と、誤差信号の累積における感度調整する感度調整回路をなす乗算器２０２は一例にすぎない。また、本開示の構成は、累積加算回路の出力に感度調整回路が接続されるような接続関係にも限定されない。例えば、図２０に示される構成を採用することも可能である。
【０１３１】
図２０は、一変形例にかかる中央値検出回路２５ａの構成を示す。図２０に示す中央値検出回路２５ａは、選択回路２００に代わる全チャンネル加算器４０１と、乗算器２０２と、加算器４０２と、データラッチ回路４０３とを備えている。乗算器２０２は、全チャンネル加算器４０１と接続され、全チャンネル加算器４０１から出力される信号を受け取る。加算器４０２は、乗算器２０２の出力およびデータラッチ回路４０３の出力および入力と接続されている。加算器４０２は、乗算器２０２の出力およびデータラッチ回路４０３の出力を受け取って加算し、その加算結果をデータラッチ回路４０３に送る。
【０１３２】
データラッチ回路４０３は、加算器４０２の出力を受け取り、制御信号Ｂが指定するタイミングで、受け取っていたデータをラッチする。なお、データラッチ回路４０３は、１ビットのラッチ回路を複数組み合わせることによって複数ビットの情報を記憶することが可能な回路である。データラッチ回路４０３のビット数は、その出力として必要とされるビット数に依存する。次に説明するように、本例では、データラッチ回路４０３の出力は、閾値選択回路２８の入力端子Ａを経て、読み出し回路１１において抵抗中央値として利用される。データラッチ回路４０３は、少なくとも抵抗中央値を表現するために必要とされるビット数分の１ビットのラッチ回路を実装していればよい。
【０１３３】
この中央値検出回路２５ａの動作をより具体的に説明する。
【０１３４】
全チャンネル加算器４０１は、読み出し回路１１から入力されるｓチャンネルの抵抗値誤差信号を全て合算し、トータル誤差信号として出力する。乗算器２０２は、トータル誤差信号を受け取って、その信号に係数αを乗じる。乗算器２０２は、係数αにより誤差信号の感度を調整する。係数αは、例えば１／２，１／４，１／８などである。加算器４０２は、データラッチ回路４０３の出力と、乗算器２０２が感度を調節して出力した誤差信号とを加算して、データラッチ回路４０３に出力する。
【０１３５】
データラッチ回路４０３は、制御信号Ｂによって指定されたタイミングで、加算器４０２から受け取った信号（すなわちデータ）をラッチする。データラッチ回路４０３は、直前にラッチしたデータを、加算器４０２に送るとともに、閾値選択回路２８の入力端子Ａにも送る。このデータは、閾値選択回路２８を経て、読み出し回路１１において抵抗中央値として利用される。
【０１３６】
上述の動作から理解されるように、全チャンネル加算器４０１および乗算器２０２は、抵抗値誤差信号を累積する際の感度を調整する感度調整回路をなす。また、加算器４０２およびデータラッチ回路４０３は制御信号Ｂによって指定されたタイミングに従って、１つ前の抵抗中央値と、感度が調節された抵抗値誤差信号とを加算して累積する累積加算回路をなす。
【０１３７】
図１９および図２０の例から明らかなように、感度調整回路と、抵抗値誤差信号の累積加算回路とを設けることに関し、各回路の具体的な構成、および各回路の接続関係は種々考えられる。上述の開示を踏まえると、当業者であればそのような変形例を設計することができる。本開示の趣旨に鑑みれば、現時点における抵抗中央値と、読み出された抵抗値情報との差分を抵抗値誤差信号として得て、その抵抗値誤差信号を累積する際の感度が調整でき、抵抗値誤差信号の累積結果を新たな抵抗中央値として更新する、１つの回路または組み合わされた複数の回路は、本開示の範疇である。
【０１３８】
図２１は、中央値検出回路２５が実際に抵抗中央値を算出した結果を示す。横軸にＰＵＦデータが記録されているディジタルＩＤデータ領域８を読み出した回数、縦軸にアップダウンカウンタの値を示している。ディジタルＩＤデータ領域８の抵抗値情報を予め読み出しておき、計算機により中央値を算出した場合の理論値が１７であった。図からわかるように、読み出し回数が３０回あたりで、ほぼ理論値である１７に収束している様子が分かる。このように本開示の提案方式であれば抵抗値ばらつきの中央値を安定的に検出でき、中央値を用いてＰＵＦデータが良好に生成できる。
【０１３９】
図１３に示すＰＵＦデータ再生フローにおいては、ステップＳ２において、図１７の読み出し回路１１がメモリセルの抵抗値情報を取得し、ステップＳ３で中央値検出回路２５が中央値を算出する。ステップＳ４において、図１６の閾値選択回路２８が、算出された中央値が出力される入力端子Ａを、読み出し回路１１のデータ生成回路１３５を構成する比較器３５に接続する。ステップＳ５にて、比較器３５が、取得したメモリセル情報と中央値とを比較することにより、ディジタルＩＤデータ（つまり、第１セキュリティデータの一例であるＰＵＦデータ）を出力する。これにより、データ生成回路１３５は、第２メモリグループに含まれる複数のメモリセルに対し、センスアンプ回路３０によって得られた抵抗値情報を互いに比較することで第１セキュリティデータを生成する。より詳しくは、データ生成回路１３５は、判定値生成回路１２８が生成した２値化基準値を利用して、第２メモリグループ内のメモリセルの抵抗値情報をもとに第１セキュリティデータを生成する。
【０１４０】
一方、図１５に示すＦＨＤデータの再生フローにおいては、ステップＳ１５において、読み出し回路１１がメモリセルの抵抗値情報を読み出す。ステップＳ１６において、図１６の閾値選択回路２８が、図１２の第１閾値（２値化基準値の一例）に対応する抵抗値が格納されたＩＤ閾値レジスタ２６が接続された入力端子Ｂを選択し、読み出し回路１１が第１閾値と取得した抵抗値情報とを比較する。これにより、ステップＳ１７で、ディジタルＩＤデータ（つまり、第２セキュリティデータの一例であるＦＨＤデータ）が出力される。
【０１４１】
上述の処理は、主として制御回路１５の制御および動作によって実現され得る。制御回路１５は、上述の処理が行われるよう各構成要素を制御することにより、各ディジタルＩＤデータを更新する。より具体的には以下のとおりである。
【０１４２】
読み出し回路１１は、ディジタルＩＤデータを生成する際、読み出し電圧設定回路３９により、読み出し電圧をユーザデータ読み出し時よりも高い読み出し電圧に設定後、各メモリセルから抵抗値情報を取得する。ＦＨＤデータを取得する場合、読み出し回路１１は、ＩＤ閾値レジスタ２６から第１閾値（２値化基準値の一例）の抵抗値情報を取得し、ディジタルＩＤデータを出力する。一方、読み出し回路１１がＰＵＦデータを取得する場合は、中央値検出回路２５が、新たに取得された抵抗値情報を利用して新たに２値化基準値を算出する。その後、読み出し回路１１は、新たに選択した、所定の数の、異なるメモリセルから抵抗値情報を取得する。制御回路１５は、各抵抗値情報と新たに算出された２値化基準値の情報とを取得し、これらの情報の関係に応じて個体識別情報を生成する。読み出し回路１１によって得られる抵抗値情報は、周辺の温度、装置電源電圧の変動、更には経年劣化によって逐次相対的に変動する。前述のように、ディジタルＩＤデータ領域８の抵抗値情報が読み出される度に、中央値を再取得することで、中央値を現在の最適な値に追従させることが可能になる。ＰＵＦデータの読み出し時には、理想的な正規分布に沿う抵抗ばらつき分布の中央値が判定閾値として設定されるため、ＰＵＦデータのメモリセルの多くが判定閾値付近の抵抗値を有する。そのため、初期状態の安定的な抵抗状態において、中央値を再取得することにより、環境変動などによるメモリセル以外の周辺回路のトランジスタの揺らぎなどの僅かな分布の変化があってもエラーを低減することができる。つまり、ＰＵＦのエラー低減化を実現する意味で、本願の実施の形態に記載した中央値を再取得する方式は有効であるといえる。
【０１４３】
なお、ＰＵＦデータの再生フローでは、ステップＳ２、Ｓ３に示すように、中央値を再生毎に更新する方式のみ記載に留まっているが、本開示の構成はその方式に限定されない。例えば、再生時に発生したエラービットの数が、誤り訂正回路で訂正可能な数内であれば、中央値を更新することなく、前回の中央値をそのまま使い続けてもよい。また、発生したエラービットの数が、誤り訂正回路で訂正可能な数を超えた場合にのみ、中央値を更新する方式でもよい。更には、中央値検出回路を搭載するのではなく、中央値近辺の固定された抵抗値情報を用いても良い。この抵抗値情報は、ユーザデータやＦＨＤデータと同様、閾値レジスタなどへ格納しておいてもよい。ＰＵＦデータの再生の際には、閾値レジスタの抵抗値情報を利用して、ディジタルＩＤデータを生成してもよい。
【０１４４】
次に、本実施の形態の不揮発性メモリ装置１０の動作により得られる効果について説明する。本願発明者らは、ディジタルＩＤデータ領域８の４キロビットのメモリセルに対して、１７５℃の環境下に所定の時間を放置し、高温加速劣化実験を実施した。図２２は、図５に示される可変状態の第２抵抗状態の抵抗分布と、図４に示される初期状態の抵抗分布とについて、高温加速劣化実験においてディジタルＩＤデータを再生したときのエラーレートを示したグラフである。図２２では、横軸を１７５℃の高温放置時間、縦軸を各再生におけるエラーレートとしている。可変状態である第２抵抗値範囲で再生されたＰＵＦデータが、高温放置による加速劣化試験により、１２％付近までエラーが増加している。これに対し、安定的な初期状態の抵抗値ばらつき分布を通常よりも高電圧に印加して利用し、回路で検知できる電流帯まで増幅することで再生されたＰＵＦデータは、エラーレートが７％程度と高い再現性を示していることが確認できる。
【０１４５】
（ＩＣカードへの応用例）
一つの応用例は、本開示により生成されるＰＵＦデータによる秘密鍵の暗号と、暗号化秘密鍵のＦＨＤデータ記録によるデータの隠蔽、さらに認証方法を開示する。
【０１４６】
図２３は、本開示にかかる応用例の通信システム５００の構成例を示すブロック図である。図２３において、通信システム５００は、リーダライタおよびデータサーバー５０１（以降、リーダライタと略す）と、ＩＣカード５０２とを備えている。リーダライタ５０１と、ＩＣカード５０２とは、例えば、それぞれが有するアンテナなどを介して無線による通信を行う。
【０１４７】
（リーダライタ側）
リーダライタ５０１は、ＲＡＭ５０３と、入出力インタフェース（Ｉ／Ｆ）部５０４と、ＣＰＵ５０５と、暗号処理回路５０６と、不揮発性メモリ装置５１５とを有している。
【０１４８】
リーダライタ５０１の入出力Ｉ／Ｆ部５０４は、外部との無線通信を行ってデータを送受信するためのインタフェースであり、たとえば無線通信回路として実現され得る。入出力Ｉ／Ｆ部５０４は、ＲＦアンテナを有している。入出力Ｉ／Ｆ部５０４は、所定の電磁波を輻射し、負荷の変化を利用して、ＩＣカード５０２が近づけられたか否かを検出する。また、入出力Ｉ／Ｆ部５０４は、例えば、発振回路（図示せず）から供給される所定の周波数の搬送波を、ＣＰＵ５０５から供給されるデータに基づいて変調する。入出力Ｉ／Ｆ部５０４は、該生成された変調波を、電磁波としてアンテナ（図示せず）から出力することで、近傍に配置されたＩＣカード５０２へと各種のデータを送信する。また、アンテナを介してＩＣカード５０２から送られた変調波を受信して復調し、得られたデータをＣＰＵ５０５に供給する。不揮発性メモリ装置５１５は、上述の不揮発性メモリ装置１０に対応する。不揮発性メモリ装置５１５は、秘密鍵記憶部５０８と、データ記憶部５０９と、ＲＯＭ部５１０と、固有ＩＤ記憶部５１１と、全ＩＣカード固有ＩＤ記憶部５４０とを備えている。
【０１４９】
ＲＯＭ部５１０は、本開示の不揮発性メモリ装置５１５が備える第２種データ記憶用メモリセル群のうちの所定のアドレス領域に相当する。リーダライタ５０１のＣＰＵ５０５は、ＲＯＭ部５１０記憶されているプログラムをＲＡＭ５０３にロードし、該プログラムを用いて各種の処理を実行する。ＲＡＭ５０３にはＣＰＵ５０５が各種の処理を実行するために必要なデータなども一時的に記憶される。ＲＡＭ５０３は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性記憶装置が用いられてもよい。あるいは、ＲＡＭ５０３は、本開示の不揮発性メモリ装置のＦＨＤデータのメモリセル群の一部で構成されていてもよい。
【０１５０】
固有ＩＤ記憶部５１１は本開示のＰＵＦデータを生成に用いるメモリセル群であり、リーダライタ５０１に固有のＩＤデータが本開示の方式により生成できる。さらに全ＩＣカード固有ＩＤ記憶部５４０は、ＰＵＦデータまたはＦＨＤデータで記憶されるメモリセル群で構成されており、運用される複数のＩＣカード５０２で異なるディジタルＩＤデータの全てが記憶されている。なお、全ＩＣカードのディジタルＩＤデータは、リーダライタ５０１固有のディジタルＩＤデータを暗号鍵として暗号化されたデータで記憶されることが望ましい。
【０１５１】
ＣＰＵ５０５は、暗号処理回路５０６を制御することにより、予め定められた暗号アルゴリズムに基づいて、データの暗号化と復号化を行う。暗号アルゴリズムとしては、トリプルＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などが例示できる。これらは、いわゆる１つの秘密鍵を用いて暗号と復号を行う共通鍵方式の暗号アルゴリズムである。また、ＲＳＡ暗号といった秘密鍵と公開鍵の２つの異なる鍵を用い、暗号化時の鍵と、復号化時の鍵を異ならせることで暗号通信を行う公開鍵方式でもよい。この場合は、後述する秘密鍵記憶部５０８に通信相手の公開鍵と、通信者自身の秘密鍵の両方を格納してもよい。これらの重要な鍵データは、固有ＩＤ記憶部５１１から生成される本開示のＰＵＦデータを暗号鍵として暗号化して、暗号化秘密鍵や暗号化公開鍵として格納することが望ましい。前述したようにＰＵＦ技術を用いて生成されたＰＵＦデータはリーダライタ５０１に固有であり、複製やハッキングが困難である。従って、それを用いて暗号化された暗号化秘密鍵や暗号化公開鍵がコピーされてもディジタルＩＤデータがコピーできないＩＣ固有のデータであるため安全である。
【０１５２】
リーダライタ５０１においてデータの暗号化または復号化を行う場合、例えば、ＣＰＵ５０５は、不揮発性メモリ装置５１５内の所定のアドレス領域である秘密鍵記憶部５０８に記憶された暗号化秘密鍵を、本開示のＰＵＦデータを鍵として復号化し、元の秘密鍵を得る。ＣＰＵ５０５は、得られた元の秘密鍵を、暗号化または復号化すべきデータとともに、暗号処理回路５０６に供給する。暗号処理回路５０６は、供給された秘密鍵を用いてデータの暗号化または復号化を実行する。
【０１５３】
データ記憶部５０９は、ＣＰＵ５０５がプログラムを実行する上で必要なデータが記憶されている。データ記憶部５０９において、所定のデータは、本開示のＰＵＦデータを鍵として暗号化して記憶されていてもよい。なお、所定のデータは、初期状態のメモリセルを利用して記憶されていてもよいし、可変状態のメモリセルを利用して記憶されていてもよい。
【０１５４】
秘密鍵記憶部５０８としては、ユーザデータ記憶用メモリセル群（つまり、可変状態のメモリセル群）を用いてもよいし、ＦＨＤデータ記憶用メモリセル群（つまり、可変状態と初期状態とが混在するメモリセル群）を用いてもよい。ユーザデータ記憶用メモリセル群を用いる場合は、他の一般的な不揮発性メモリを用いるのと大きな違いはない。ＦＨＤデータ記憶用メモリセル群を用いる場合は、抵抗変化素子の初期状態と可変状態との違いでデータを記憶するため、通常の読み出しコマンドではデータを読み出すことができない。よって、鍵情報の隠蔽が行える。実施の形態で述べたように、可変状態にあるメモリセルから“０”と“１”のディジタルデータを読み出すためには、第２閾値を用いて“０”と“１”の判定が行なわれる。第２閾値でＦＨＤデータ記憶用メモリセル群を読み出すと、ほとんどのメモリセルが“０”にデコードされ、正規のデータを読み出せない。なお、秘密鍵記憶部５０８において、秘密鍵は、前述の暗号化秘密鍵として記憶されることが望ましい。
【０１５５】
また、メモリセルアレイ内の自由なアドレスのメモリセル群にユーザデータ記憶用メモリセル群とＦＨＤデータ記憶用メモリセル群とを配置できる。よって、プローブを用いて物理的に抵抗値を直接読み出すような解析を行おうとしても、そのメモリセルがユーザデータ記憶用メモリセル群およびＦＨＤデータ記憶用メモリセル群のいずれに属するのかを特定が困難である。更にＰＵＦデータで暗号化されたデータか、非暗号のデータかの区別が困難であるため、更に解析を複雑にせしめる。
【０１５６】
以上のように、図２３に示す通信システム５００は、秘密鍵の漏洩に対し強い耐タンパ性（ｔａｍｐｅｒ  ｒｅｓｉｓｔａｎｔ）があるといえる。さらにユーザデータ記憶用メモリセルや、本開示のＰＵＦデータは、高温においてのデータ信頼性にも優れ、データ誤りが許容されない秘密鍵の記憶および暗号化にも最適である。
【０１５７】
秘密鍵記憶部５０８に記憶される秘密鍵は、ＩＣカード５０２の秘密鍵記憶部５２６に記憶されている秘密鍵と同じものでもよい。ＩＣカード５０２に対応するリーダライタ５０１であって、ＩＣカード５０２に固有のディジタルＩＤデータであるカード固有ＩＤの読み出しを許可されたリーダライタ５０１のみに、予め秘密鍵が記憶されていてもよい。
【０１５８】
固有のＰＵＦデータは、本開示の実施の形態で説明したＰＵＦ技術に基づき固有ＩＤ記憶部５２５にデータ誤りを内在した状態で記憶されている。
【０１５９】
ＰＵＦデータは前述したようにＩＣカードごとに固有の乱数になりうる。このため、ＩＣ固有の各種暗号化に用いることができる。
【０１６０】
（ＩＣカード側）
ＩＣカード５０２は、入出力インタフェース（Ｉ／Ｆ）部５２０と、ＣＰＵ５２１と、暗号処理回路５２２と、ＲＡＭ５２３と、不揮発性メモリ装置５３０とを有している。
【０１６１】
ＩＣカード５０２の入出力Ｉ／Ｆ部５２０は、外部との無線通信を行ってデータを送受信するためのインタフェースであり、たとえば無線通信回路として実現され得る。入出力Ｉ／Ｆ部５２０は、例えば、コイル状のアンテナとコンデンサにより構成されるＬＣ回路が一般的に用いられる。ＩＣカードのアンテナがリーダライタ５０１に近づけられると、リーダライタ５０１から輻射される所定の周波数の電磁波と共振するようになっている。また、入出力Ｉ／Ｆ部５２０は、アンテナにおいて交流磁界により励起された電流を整流化および安定化し、ＩＣカード５０２の各部に直流電源として供給する。
【０１６２】
入出力Ｉ／Ｆ部５２０は、アンテナを介して受信した変調波を検波して復調し、復調後のデータをデコードしてディジタルデータに復元しＣＰＵ５２１に供給する。また、ＩＣカード５０２内部には電圧可変のオシレータ（図示せず）が搭載されている。このオシレータは、デコードしたディジタルデータに周波数と位相をロックさせた受信用のクロック信号（図示せず）を生成し、ディジタルデータのデータラッチ用のクロック信号として供給する。位相のロックには、ＰＬＬと呼ばれるクロック再生技術が用いられる。ＩＣカード５０２は、ディジタルデータとクロック信号との位相誤差を検出して積分し、オシレータの制御電圧を生成する。この制御電圧をオシレータに入力することで、ディジタルデータのサンプリング周波数および位相に一致するクロック信号を得ることができる。
【０１６３】
さらに、入出力Ｉ／Ｆ部５２０は、所定の情報をリーダライタ５０１に送信する場合、ＣＰＵ５２１から入力されエンコードされたデータにしたがってアンテナの負荷に変動を発生させて変調を行い、アンテナを介して所定の情報を含む変調波をリーダライタ５０１に送信する。
【０１６４】
ＩＣカード５０２は本開示の不揮発性メモリ装置５３０を備える。不揮発性メモリ装置５３０は本実施の形態の上述の不揮発性メモリ装置１０に対応する。よって以下の説明では、共通する要素については同一の符号および名称を付して適宜参照する。
【０１６５】
不揮発性メモリ装置５３０は、固有ＩＤ記憶部５２５と、秘密鍵記憶部５２６と、データ記憶部５２７と、ＲＯＭ部５２８とを備える。固有ＩＤ記憶部５２５は、ＩＣカードごとにＰＵＦデータを記憶する。秘密鍵記憶部５２６は、秘密鍵データを記憶する。データ記憶部５２７には、ＣＰＵ５２１がプログラムを実行する上で必要なデータが記憶されている。ＲＯＭ部５２８には、ＣＰＵ５２１が実行するプログラムが記憶されている。固有ＩＤ記憶部５２５、秘密鍵記憶部５２６、データ記憶部５２７、およびＲＯＭ部５２８の全てが１個のメモリセルアレイ（図９のメモリセルアレイ９０）に包含されている。ＣＰＵ５２１は、ＲＯＭ部５２８に記憶されているプログラムをＲＡＭ５２３にロードし、実行するなどして各種の処理を行う。ＲＯＭ部５２８に記憶されたプログラムデータは、固有ＩＤ記憶部５２５にあるメモリセル群をもとに生成される本開示のＰＵＦデータを鍵として用いて暗号化されて記憶されても良い。
【０１６６】
ＣＰＵ５２１は、暗号処理回路５２２を制御することにより、予め定められた暗号アルゴリズムに基づいて、データの暗号化と復号化を行う。上述したように、典型的な暗号方式には、送信側と受信側で同じ秘密鍵で暗号化と復号化を行う共通鍵方式と、異なる公開鍵と秘密鍵で暗号化と復号化を行う公開鍵方式がある。以下では、共通鍵方式を採用した場合について説明する。
【０１６７】
なお、公開鍵方式では、ＩＣカード５０２側が暗号化した暗号文データをＩＣカード５０２がリーダライタ５０１側に送信する場合、ＩＣカード５０２は、予めリーダライタ５０１側から入手した公開鍵で暗号化を行う。逆に、リーダライタ５０１側から送られてきた暗号文データは、ＩＣカード５０２側で予め記憶してある秘密鍵にて復号する。以上の点以外は、公開鍵方式も共通鍵方式と同様である。公開鍵方式における公開鍵と秘密鍵は、互いに唯一のペアの鍵であるため、互いに暗号化されたデータを復号することで同時に相互認証もできることになる。
【０１６８】
ＩＣカード５０２においても、リーダライタ５０１での説明と同様に、鍵データは秘密鍵記憶部５２６へ記憶される。すなわち、鍵データは、本開示のＰＵＦ技術に基づき固有ＩＤ記憶部５２５にあるＰＵＦデータにより暗号化された暗号化秘密鍵または暗号化公開鍵として保存される。更に、その暗号化秘密鍵または暗号化公開鍵は、ユーザデータ記憶用メモリセルにより記憶されうる。ＩＣカード５０２において、データの暗号化または復号化を行う場合、ＣＰＵ５２１が、不揮発性メモリ装置５３０内のユーザデータ記憶用メモリセル群の一部である秘密鍵記憶部５２６に記憶された暗号化秘密鍵データを、図１２の第１閾値で読み出す特殊なリードコマンドにて読み出す。読み出された暗号化秘密鍵データは、本開示のＰＵＦデータにより元の秘密鍵データに復号化される。ＣＰＵ５２１は、秘密鍵データを、暗号化または復号化すべきデータとともに、暗号処理回路５２２に供給する。暗号処理回路５２２は、供給された秘密鍵を用いて、供給されたデータの暗号化または復号化を実行する。
【０１６９】
データ記憶部５２７には、ＣＰＵ５２１がプログラムを実行する上で必要なデータが記憶されている。データ記憶部５２７において、所定のデータは、平文のまま記憶されていてもよいし、秘密鍵で暗号化されて記憶されていてもよいし、ＰＵＦデータを鍵として暗号化されて記憶されてもよい。なお、所定のデータは、初期状態のメモリセルを利用して記憶されていてもよいし、可変状態のメモリセルを利用して記憶されていてもよい。
【０１７０】
このような暗号化と復号化の機能を備えた通信システム５００において、ＩＣカード５０２とリーダライタ５０１との通信の第１ステップについて以下に述べる。
【０１７１】
ＩＣカード５０２において、各ＩＣカード固有のＰＵＦデータは、本開示の実施の形態で説明したＰＵＦ技術に基づき固有ＩＤ記憶部５２５にデータ誤りを内在した状態で存在している。
【０１７２】
ＣＰＵ５２１は、各ＩＣカード固有のＰＵＦデータを固有ＩＤ記憶部５２５から生成する。ＣＰＵ５２１は、読み出した暗号化秘密鍵データと鍵としてのＰＵＦデータとを暗号処理回路５２２に供給する。暗号処理回路５２２は、供給されたＰＵＦデータを鍵として暗号化秘密鍵を元の秘密鍵に復号化する。つぎに、暗号処理回路５２２は、元の秘密鍵を用いてＰＵＦデータを暗号化する。暗号化された暗号化ディジタルＩＤデータは入出力Ｉ／Ｆ部５２０、５０４を介して、リーダライタ５０１側のＣＰＵ５０５に供給される。
【０１７３】
ＣＰＵ５０５は、リーダライタ５０１内の不揮発性メモリ装置５１５の秘密鍵記憶部５０８から秘密鍵データを読み出す。ＣＰＵ５０５は、秘密鍵データと、受信した暗号化ＰＵＦデータを、暗号処理回路５０６に供給する。暗号処理回路５０６は、供給された秘密鍵データを用いて暗号化ＰＵＦデータを復号化する。復号化されたＰＵＦデータは、固有ＩＤ記憶部５１１が記憶している各ＩＤデータと照合される。各ＩＤデータの中に復号化されたＩＤデータと一致するものがあれば、通信したＩＣカード５０２がデータ通信を行う資格のある正規のＩＣカード５０２であると認証される。その後、データ通信が継続して実行される。
【０１７４】
リーダライタ５０１とＩＣカード５０２との相互認証において別の変形例を示す。
【０１７５】
リーダライタ５０１の全ＩＣカード固有ＩＤ記憶部５４０は、前述した中央値のオフセット量を変更して得られる複数のＰＵＦデータをＩＣカードごとに保管している。リーダライタ５０１は、オフセット量と、受け取りたいＰＵＦデータのアドレス情報を暗号化し、チャレンジデータとして、ＩＣカード５０２に送信する。ＩＣカード５０２は、受け取ったチャレンジデータを復号化してオフセット量とアドレス情報を得て、得られたオフセット量とアドレス情報に応じたＰＵＦデータを暗号化する。ＩＣカード５０２は、暗号化したＰＵＦデータをレスポンスデータとしてリーダライタ５０１に返信する。
【０１７６】
リーダライタ５０１は、受け取ったレスポンスデータを復号化して、ＩＣカード５０２ごとに固有のＰＵＦデータを得る。リーダライタ５０１は、得られたＰＵＦデータに基づいて、予め全ＩＣカード固有ＩＤ記憶部５４０に登録されているＩＤデータを検索する。リーダライタ５０１は、ＰＵＦデータとＩＤデータを照合し、所定のビット数以上が一致していることを確認してＩＣカード５０２を認証する。
【０１７７】
レスポンスデータであるＰＵＦデータは、前述したような誤りデータを含んだ状態で送られるため、ハッキングに対して耐性が高い。ＰＵＦデータは、各ＩＣで異なる乱数であるので、データ間に十分なハミング距離があれば、所定のビット数の誤りデータがあったとしても、何れのＩＣカードのＩＤデータかを特定することができる。このため、チャレンジデータの送信と、レスポンスデータの受信を繰り返すことで、ＩＣカードが正規のカードであることを特定できる。さらに認証に用いられているデータがＩＣカードごとに固有かつ誤りのあるデータであるためデータの解析が困難であり非常に高いセキュリティが担保された認証が実現できる。
【０１７８】
以上のように、通信システム５００によれば、固有ディジタルＩＤデータ生成、秘密鍵記憶、データ記憶、およびプログラムデータ記憶の機能を、ただ一つの不揮発性メモリ装置で実現できる。よって、別途ＰＵＦ技術に基づくＩＤ生成用の回路を搭載する必要がなく、回路規模の増加を極力抑制した（つまり、省面積化をした）ＩＣカードのようなモバイル型アプリケーションが提供できる。
【０１７９】
なお、ＲＡＭ５０３の機能を不揮発性メモリ装置５１５が備えるメモリセルアレイで実現してもよい。ＲＡＭ５２３の機能を不揮発性メモリ装置５３０が備えるメモリセルアレイで実現してもよい。
【０１８０】
情報の記憶手段としてユーザデータ記憶用メモリセルとＦＨＤデータ記憶用メモリセルとを任意に混在させて各種データを保存できるため、どのエリアのメモリセルが何れの状態で情報が記憶されているかを第三者に対し秘匿することができる。さらに、物理的なプローブを用いてメモリ内のデータを直接読み出すようなハッキングからもＰＵＦデータを防衛でき、極めて耐タンパ性の優れたアプリケーションが提供できる。
【０１８１】
なお、上記説明から、当業者にとっては、本開示の多くの改良や他の実施の形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本開示を具体化する最良の態様を当業者に教示する目的で提供されたものである。本開示の精神を逸脱することなく、その構造および／又は機能の詳細を実質的に変更できる。
【産業上の利用可能性】
【０１８２】
本開示にかかる不揮発性メモリ装置は、当該不揮発性メモリ装置の内部に含まれる抵抗変化型メモリ素子の抵抗値のばらつきから複製できない固有のディジタルＩＤデータを、安定かつ高セキュアに生成する。よって、本開示にかかる不揮発性メモリ装置は、ディジタルＩＤデータを用いたデータ暗号による認証を行い、ホストコンピュータ及びサーバにアクセスするＩＣまたはＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）などに搭載することができる。
【符号の説明】
【０１８３】
６  データ入出力回路
７  ユーザデータ領域
８  データ領域
１０  不揮発性メモリ装置
１１  読み出し回路
１４  書き込み回路
１５  制御回路
１６  アドレス入力回路
１７  カラムデコーダ回路
１８  ロウデコーダ回路
２０  メモリセルアレイ
２１  メモリセル
２２  メモリ本体部
２３  抵抗変化素子
２４  トランジスタ
２５、２５ａ  中央値検出回路
２６  ＩＤ閾値レジスタ
２７  データ閾値レジスタ
２８  閾値選択回路
３０  センスアンプ回路
３１  コンパレータ
３２  抵抗値カウンタ
３３  プリチャージ用ＰＭＯＳトランジスタ
３４  ロード電流用ＰＭＯＳトランジスタ
３５  比較器
３６  クランプ用ＮＭＯＳトランジスタ
３７  ユーザデータ領域読み出し用ＮＭＯＳトランジスタ
３８  ディジタルＩＤデータ領域読み出し用ＮＭＯＳトランジスタ
３９  読み出し電圧設定回路
９０  メモリセルアレイ
９１  メモリセル
９２  メモリα領域
９３  メモリβ領域
９４  制御装置
１００  抵抗変化型不揮発性メモリ装置
１２８  判定値生成回路
１３５  データ生成回路
１３６  コンデンサ
２００  選択回路
２０１  アップダウンカウンタ
２０２  乗算器
４００  誤り訂正およびパリティー生成回路
４０１  全チャンネル加算器
４０２  加算器
４０３  データラッチ回路
５００  通信システム
５０１  リーダライタおよびデータサーバー（リーダライタ）
５０２  ＩＣカード
５０４、５２０  入出力インタフェース（Ｉ／Ｆ）部
５０６、５２２  暗号処理回路
５０８、５２６  秘密鍵記憶部
５０９、５２７  データ記憶部
５１０、５２８  ＲＯＭ部
５１１、５２５  固有ＩＤ記憶部
５１５、５３０  不揮発性メモリ装置
５４０  全ＩＣカード固有ＩＤ記憶部
【図１】
2017216031.tif 000003
【図２】
2017216031.tif 000004
【図３】
2017216031.tif 000005
【図４】
2017216031.tif 000006
【図５】
2017216031.tif 000007
【図６】
2017216031.tif 000008
【図７】
2017216031.tif 000009
【図８】
2017216031.tif 000010
【図９】
2017216031.tif 000011
【図１０】
2017216031.tif 000012
【図１１】
2017216031.tif 000013
【図１２】
2017216031.tif 000014
【図１３】
2017216031.tif 000015
【図１４】
2017216031.tif 000016
【図１５】
2017216031.tif 000017
【図１６】
2017216031.tif 000018
【図１７】
2017216031.tif 000019
【図１８】
2017216031.tif 000020
【図１９】
2017216031.tif 000021
【図２０】
2017216031.tif 000022
【図２１】
2017216031.tif 000023
【図２２】
2017216031.tif 000024
【図２３】
2017216031.tif 000025