(57)【要約】【課題】複製困難な物理的特徴を具備する素子ばらつきを利用した個体識別を行う。【解決手段】実施形態にかかる個体識別装置は、１つ以上のメモリチップを含む記憶装置を個体識別する個体識別装置であって、書込データを記憶する第１記憶部と、前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部とを備える。【選択図】図１
2015061201.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のメモリチップを含む記憶装置を個体識別する個体識別装置であって、
書込データを記憶する第１記憶部と、
前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、
前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部と、
を備える個体識別装置。
【請求項２】
前記指紋データ記憶する第２記憶部と、
前記所定の領域から新たに読み出された読出データと前記書込データとを用いて前記指紋生成部が新たに生成した指紋データを、前記第２記憶部に記憶された前記指紋データと照合することで、前記記憶装置を個体識別する制御部と、
を備える請求項１に記載の個体識別装置。
【請求項３】
前記制御部は、前記新たに生成された指紋データと前記第２記憶部に記憶された前記指紋データとが一致しなかった場合、前記記憶装置または前記メモリチップへのアクセスを無効とするか、または、前記記憶装置または前記メモリチップに保持されたデータを消去する、請求項２に記載の個体識別装置。
【請求項４】
前記第２記憶部は、前記記憶装置の外部に設けられた記憶領域である、請求項３に記載の個体識別装置。
【請求項５】
前記記憶装置の温度情報を取得する環境センサ部をさらに備え、
前記制御部は、前記指紋データに対応づけて前記温度情報を前記所定の記憶領域に記憶させ、前記指紋生成部が前記所定の領域から新たに読み出された読出データと前記書込データとを用いて新たに前記指紋データを生成した場合、前記環境センサ部で取得された現在の温度情報に対応づけて記憶された前記指紋データと前記新たに生成された指紋データとを照合する、
請求項３に記載の個体識別装置。
【請求項６】
乱数である前記書込データを生成する乱数発生部をさらに備える請求項１に記載の個体識別装置。
【請求項７】
前記指紋データは、各メモリチップに固有な第１指紋データと、前記記憶装置に固有な第２指紋データとを含み、
前記指紋生成部は、前記書込データと各メモリチップの前記所定の領域から読み出した前記読出データとの前記ミスマッチビットから前記メモリチップごとに前記第１指紋データを生成し、前記メモリチップごとの前記第１指紋データを所定の配列に従って結合することで前記第２指紋データを生成する、請求項１に記載の個体識別装置。
【請求項８】
所定のパスワードから前記所定の配列を生成する制御部をさらに備える請求項７に記載の個体識別装置。
【請求項９】
前記メモリチップは、ＮＡＮＤ型フラッシュメモリチップである、請求項１に記載の個体識別装置。
【請求項１０】
１つ以上のメモリチップを含む記憶装置を個体識別する個体識別システムであって、
書込データを記憶する第１記憶部と、
前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、
前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部と、
を備える個体識別システム。
【請求項１１】
１つ以上のメモリチップを含む記憶装置であって、
書込データを記憶する第１記憶部と、前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部とを含む個体識別装置を備える記憶装置。
【請求項１２】
１つ以上のメモリチップを含む記憶装置を個体識別する個体識別方法であって、
書込データを各メモリチップの所定の領域に書き込み、
前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する
ことを含む個体識別方法。
【請求項１３】
１つ以上のメモリチップを含む記憶装置を個体識別するコンピュータを動作させるためのプログラムであって、
書込データを各メモリチップの所定の領域に書き込むステップと、
前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成するステップと、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、半導体微細化技術に伴い、軽量でかつ高速アクセスが可能であり、さらに消費電力が低い大容量の不揮発メモリシステムの市場が大幅に拡大している。そこで、セキュリティの観点から、大容量メモリシステムの情報管理が非常に重要視されるようになってきた。
【０００３】
また、不揮発メモリの微細化に伴い、素子ごとの特性のばらつきが徐々に大きくなってきている。不揮発メモリの素子ばらつきは様々な要因で決まるが、その中の１つとして、工場出荷時にすでに決定されているプロセスに起因した要因が存在することが知られている。プロセス起因による素子ばらつきは、ランダムな物理的特徴を具備しているため、複製が困難であるという特徴を有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−７２９０号公報
【特許文献２】特開２０００−２３５６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の実施形態では、複製困難な物理的特徴を具備する素子ばらつきを利用した個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態にかかる個体識別装置は、１つ以上のメモリチップを含む記憶装置を個体識別する個体識別システムであって、書込データを記憶する第１記憶部と、前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部と、を備える。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態１にかかる固体識別システムの概略構成例を示すブロック図である。
【図２】図２は、実施形態１にかかるメモリチップ単体の概略構成例を示すブロック図である。
【図３】図３は、図２に示す構成を用いた不揮発ＮＡＮＤ型フラッシュメモリチップの構成例を示す模式図である。
【図４】図４は、図３に示す不揮発ＮＡＮＤ型フラッシュメモリのメモリ素子部が備えるブロックの一例を示す模式図である。
【図５】図５は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に１回目の読出データにおいてミスマッチしたビットの２次元分布を示す分布図である。
【図６】図６は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に１回目、３回目および１００回目の読出データの全てにおいてミスマッチしたビットの２次元分布を示す分布図である。
【図７】図７は、実施形態１にかかる起動時のメモリシステム指紋管理部の動作例を示すフローチャートである。
【図８】図８は、実施形態１にかかる起動時のメモリチップ指紋管理部の動作例を示すフローチャートである。
【図９】図９は、実施形態１においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。
【図１０】図１０は、実施形態１にかかるユーザアクセス時のメモリシステム指紋管理部の動作例を示すフローチャートである。
【図１１】図１１は、実施形態１にかかるユーザアクセス時のメモリチップ指紋管理部の動作例を示すフローチャートである。
【図１２】図１２は、実施形態２にかかる起動時のメモリシステム指紋管理部の動作例を示すフローチャートである。
【図１３】図１３は、実施形態２にかかるユーザアクセス時のメモリシステム指紋管理部の動作例を示すフローチャートである。
【図１４】図１４は、実施形態２にかかる分散メモリの一例を示すブロック図である。
【図１５】図１５は、実施形態３においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。
【図１６】図１６は、実施形態３にかかる起動時のメモリシステム指紋管理部の動作例を示すフローチャートである。
【図１７】図１７は、実施形態３にかかるユーザアクセス時のメモリシステム指紋管理部の動作例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、例示する実施形態にかかる個体識別装置、記憶装置、固体識別システム、その方法、およびプログラムを詳細に説明する。
【０００９】
（実施形態１）
以下、実施形態１に係る個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムについて、図面を参照して詳細に説明する。
【００１０】
実施形態１では、複製困難な物理的特徴を具備するメモリ微細素子のばらつきを利用して、記憶装置を個体識別する。具体的には、メモリ素子が具備するプロセス起因のばらつきを利用してメモリチップの識別情報（以下、指紋という）を生成し、アクセス時にこの指紋を用いて個体を高精度に識別する。
【００１１】
メモリチップの指紋には、メモリチップに乱数を書き込みし、この書き込んだ乱数とその後にメモリチップから読み出した乱数との間でミスマッチしたビット（差分）の２次元分布を用いる。プロセスに起因した素子ばらつきは、ランダムな物理的特徴を具備しているため、複製が困難である。そのため、このような素子ばらつきを認証用の指紋として用いることで、高精度の個体識別を実現することができる。また、複製困難な物理的特徴を具備する素子ばらつきに、ランダムに発生した乱数を組み合わせることで、指紋の固有性をより高めることができる。したがって、書き込んだ乱数と読み出した乱数との間でミスマッチしたビットの２次元分布をメモリチップの指紋として用いることで、より高精度に記憶装置の固体識別が可能となる。
【００１２】
また、実施形態１では、記憶装置全体の個体識別と、記憶装置が備える複数のメモリチップ単体での個体識別との両方を行う。これにより、目的や用途や状態に応じた個体識別を行うことが可能となる。たとえば、記憶装置における一部のメモリチップが差し替えられた場合などでも、記憶装置全体としての動作を確保しつつ、差し替えられたメモリチップを無効とするようなセキュリティを兼ねた個体識別を行うことも可能となる。
【００１３】
図１は、実施形態１にかかる個体識別装置を具備した記憶装置を含む個体識別システムの概略構成例を示すブロック図である。図１に示すように、個体識別システム１は、記憶装置１００と、記憶装置１００外部に配置された外部記憶部１９とを備える。記憶装置１００は、メモリシステム指紋管理部１０と、ＬＳＩコントローラ２０と、内部バス３０と、１つ以上のメモリチップ４０Ａ〜４０Ｎとを備える。外部記憶部１９は、メモリシステム指紋管理部１０が接続されるパーソナルコンピュータやサーバに内蔵または外付けされた記憶領域であってもよいし、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク上に配置された記憶領域であってもよい。
【００１４】
メモリシステム指紋管理部１０は、記憶装置１００全体の個体識別を実行するための構成である。このメモリシステム指紋管理部１０は、制御部１１と、指紋生成部１２と、環境センサ部１３と、乱数発生部１４と、指紋領域指定部１５と、内部記憶部１６と、乱数データバッファ１７と、読出データバッファ１８とを備える。
【００１５】
内部記憶部１６は、記憶装置１００をたとえば１０℃、２０℃、３０℃、４０℃等の様々な温度環境下で動作させたときの各メモリチップ４０Ａ〜４０Ｎの指紋データを格納している。指紋データは、乱数データを各メモリチップ４０Ａ〜４０Ｎに書き込み、さらに書き込まれた乱数データを読み出したときの読出データと書き込みに用いた乱数データとを比較して不一致となったビットを２次元的にマッピングしたものである。
【００１６】
制御部１１は、外部とアクセスすることができる。外部とは、記憶装置１００が接続されるパーソナルコンピュータやサーバなどの上位装置であってよい。また、制御部１１は、指紋生成部１２、乱数データバッファ１７、指紋領域指定部１５、環境センサ部１３および乱数発生部１４と接続されており、それぞれを制御することで、メモリシステム指紋管理部１０を動作させる。
【００１７】
環境センサ部１３は、たとえば温度センサである。環境センサ部１３は、記憶装置１００の内部温度を逐次測定している。記憶装置１００の内部温度は、メモリチップ４０Ａ〜４０Ｎ全体における一箇所の内部温度であってもよいし、メモリチップ４０Ａ〜４０Ｎ個別の内部温度であってもよい。なお、一般的に、メモリチップ４０Ａ〜４０Ｎ全体における一箇所の内部温度は、メモリチップ４０Ａ〜４０Ｎ個別の内部温度とほぼ等しい。以下の説明では、メモリチップ４０Ａ〜４０Ｎ全体における一箇所の内部温度を測定する場合を例示する。
【００１８】
外部記憶部１９は、指紋データを生成する際に使用する乱数データを格納する。乱数発生部１４は、外部記憶部１９から制御部１１を介して乱数データを取得してもよいし、自身が乱数データを発生してもよい。
【００１９】
ユーザが記憶装置１００へアクセスすると、制御部１１は、乱数発生部１４から乱数データを取得し、これを乱数データバッファ１７に格納する。このとき、制御部１１は、指紋領域指定部１５を各メモリチップ４０Ａ〜４０Ｎにおける特定のメモリ領域（以下、指紋領域という）にアクセスするように制御する。この指紋領域は、各メモリチップ４０Ａ〜４０Ｎの全メモリ領域であってもよいし、メモリ領域の一部であってもよい。指紋領域指定部１５は、乱数データバッファ１７に格納された乱数データを、ＬＳＩコントローラ２０およびバス３０を経由して、指定された指紋領域に書き込む。ＬＳＩコントローラ２０は、各メモリチップ４０Ａ〜４０Ｎの指紋領域から書き込まれた乱数データを読み出し、この読み出した乱数データを読出データバッファ１８に格納する。
【００２０】
指紋生成部１２は、読出データバッファ１８に格納された読出データと乱数データバッファ１７に格納された乱数データとを比較して指紋データを生成する。このとき、制御部１１は、環境センサ部１３が測定した温度情報を指紋生成部１２に送信する。指紋生成部１２は、温度情報に指紋データを付加して個体識別用の指紋データ（以下、識別データという）を生成する。
【００２１】
制御部１１は、指紋生成部１２が生成した識別データと、内部記憶部１６に予め格納されている識別データと比較することで、記憶装置１００の個体識別を行う。たとえば、制御部１１は、新たに生成された識別データと、内部記憶部１６に格納されている識別データとが一致した場合、メモリシステム指紋管理部１０に接続されたメモリチップ４０Ａ〜４０Ｎが正しいメモリチップアレイであると認識する。この場合、制御部１１は、ユーザに各メモリチップ４０Ａ〜４０Ｎへのアクセスを許可してもよい。一方、新たに生成された識別データと内部記憶部１６に格納されている識別データとが一致しない場合、制御部１１は、メモリチップ４０Ａ〜４０Ｎが何らかの改変を受けた不正なメモリチップアレイであると認識する。この場合、制御部１１は、ユーザからの各メモリチップ４０Ａ〜４０Ｎへのアクセスを不許可としてもよい。
【００２２】
つぎに、メモリチップ単体での個体識別について説明する。図２は、個体識別システムにおけるメモリチップ単体の概略構成例を示すブロック図である。なお、以下の説明では、メモリチップ４０Ａ〜４０Ｎを区別しない場合、その符号を４０とする。
【００２３】
図２に示すように、メモリチップ４０は、大別して、制御部４１と、メモリ部４４とを備える。制御部４１は、メモリチップ指紋管理部４２と、メモリアドレス制御部４３とを含む。メモリ部４４は、動作シーケンス制御部４５と、メモリチップ電源制御部４６と、メモリ周辺部４７と、メモリ素子部４８とを含む。
【００２４】
メモリアドレス制御部４３は、ＬＳＩコントローラ２０を介してアクセスされたメモリ領域のアドレス（たとえば、指紋領域のブロック番号、ワード線番号、ビット線番号等）を指定する。動作シーケンス制御部４５は、メモリ素子部４８が動作するために必要な動作シーケンス、例えば書き込み動作、消去動作、データ複製動作等を制御する。メモリチップ電源制御部４６は、メモリ素子部４８が動作するために必要な電源を制御する。
【００２５】
また、メモリチップ指紋管理部４２の記憶部４２３は、たとえば周辺チップ情報やシステム情報などを予め記憶している。周辺チップ情報には、たとえば出荷時や製造時などの初期の段階で共通のバス３０に接続されたメモリチップ４０Ａ〜４０Ｎを一意に識別するための識別情報（以下、チップＩＤという）や、各メモリチップ４０Ａ〜４０Ｎの位置（アドレス等）や、アクセス番号などが含まれてよい。システム情報には、たとえば記憶装置１００を一意に識別するための識別情報（以下、システムＩＤという）などが含まれてもよい。なお、チップＩＤは、各メモリチップ４０Ａ〜４０Ｎの指紋データであってもよいし、各メモリチップ４０Ａ〜４０Ｎに付与された固有の情報（製造番号等）であってもよい。同様に、システムＩＤは、メモリチップ４０Ａ〜４０Ｎの指紋データを組み合わせた指紋データであってもよいし、記憶装置１００に付与された固有の情報（製造番号等）であってもよい。
【００２６】
また、記憶部４２３には、たとえば指紋データの生成に用いた乱数データが格納されていてもよい。ただし、この乱数データは、記憶部４２３に限らず、各メモリチップ４０におけるメモリ素子部４８の一部の領域に保管されてもよいし、図１における外部記憶部１９など、他の記憶領域に保管されてもよい。
【００２７】
システム情報管理部４２１は、メモリチップ４０へのアクセスが発生すると、記憶部４２３に格納されている周辺チップ情報とシステム情報とを取得し、これらをシステム情報認識部４２２へ転送する。
【００２８】
システム情報認識部４２２は、メモリチップ４０がアクセスされると、共通のバス３０に接続されたメモリチップ４０Ａ〜４０Ｎ（自信は含まず）のチップＩＤおよび位置（アドレス等）と、記憶装置１００のシステムＩＤとを、ＬＳＩコントローラ２０を介して取得し、取得した情報と、システム情報管理部４２１から転送された周辺チップ情報およびシステム情報とを比較することで、これらが一致するか否かに基づいた個体識別を行う。たとえば、システム情報認識部４２２は、これらの情報が一致した場合、自身を備えるメモリチップ４０がシステム情報管理部４２１によって管理されている正常なメモリチップであると認識する。一方、一致しない場合、システム情報認識部４２２は、たとえば自身を備えるメモリチップ４０が何らかの改変を受けた不正なメモリチップであると認識する。なお、システム情報認識部４２２は、正常なメモリチップであると認識した場合、ＬＳＩコントローラ２０を介したメモリ領域へのアクセスを許可し、不正なメモリチップであると認識した場合、メモリ領域へのアクセスを禁止してもよい。
【００２９】
図２において、ＬＳＩコントローラ２０を介した命令にしたがってメモリ素子部４８へアクセスするにあたり、まず、メモリチップ指紋管理部４２は、メモリアドレス制御部４３を介してメモリ素子部４８における乱数データが書き込まれた領域からデータを読み出し、この読出データと書き込みに用いた乱数データとを比較することで、ミスマッチしたビットの２次元分布から指紋データを生成する。
【００３０】
生成された指紋データは、ＬＳＩコントローラ２０を介してメモリシステム指紋管理部１０へ送信される。これに対し、メモリシステム指紋管理部１０は、上述したように、各メモリチップ４０Ａ〜４０Ｎのメモリチップ指紋管理部４２から受信した指紋データを用いて、記憶装置１００全体の個体識別を行う。また、メモリシステム指紋管理部１０は、各メモリチップ４０Ａ〜４０Ｎのメモリチップ指紋管理部４２から受信した指紋データを用いて、メモリチップ４０Ａ〜４０Ｎごとの個体識別を行ってもよい。
【００３１】
ここで図３に、図２に示す構成を用いた不揮発ＮＡＮＤ型フラッシュメモリチップの構成例を示す。図３に示すように、不揮発ＮＡＮＤ型フラッシュメモリチップは、制御部４１と、ＮＡＮＤ部４４Ａとを備える。バス３０または専用線を介してＬＳＩコントローラ２０に接続されている。
【００３２】
制御部４１は、メモリチップ指紋管理部４２およびメモリアドレス制御部４３の他に、その基本構成として、Ｒｅｇ／ＣＵＩ４１１と、ＮＡＮＤ状態機械４１２とを備える。ＮＡＮＤ部４４Ａは、図２におけるメモリ部４４に相当するものであり、動作シーケンス制御部４５、メモリチップ電源制御部４６、メモリ周辺部４７およびメモリ素子部４８の他に、動作基準となるクロック信号を生成する発振部４４１と、バス３０に接続するためのパッド４４２と、アクセス先メモリ領域のアドレスをデコードするためのロウデコーダ４４３とを備える。また、不揮発ＮＡＮＤ型フラッシュメモリチップにバス３０を介して接続されるＬＳＩコントローラ２０は、アクセス制御部２１と、ＳＲＡＭバッファ２２と、ＥＣＣ（Error Check and Control）２３と、複数のＳＲＡＭデータバッファ２４ａ〜２４ｃとを備える。
【００３３】
なお、図３に示す不揮発ＮＡＮＤ型フラッシュメモリチップの構成は単なる一例であって、各部の配置は図３に示される配置に限定されるものではない。
【００３４】
また、図４に、不揮発ＮＡＮＤ型フラッシュメモリのメモリ素子部が備えるブロックの一例を示す。図４に示すように、１つのメモリ素子部４８には、複数のブロック＃１〜＃ｍ＋ｎが設けられる。そこで、複数のブロック＃１〜＃ｍ＋ｎのうちの一部のブロック（たとえばブロック＃１）を、指紋データ生成用の指紋領域として用いてもよい。また、１つまたは複数のブロックにおける特定のワードラインまたはビットラインに接続された複数のビットよりなるメモリ領域を、指紋領域として用いてもよい。
【００３５】
つづいて、本実施形態における指紋データについて、図面を用いて詳細に説明する。図５は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に書込データ（乱数）と１回目の読出データとの間でミスマッチしたビット（以下、ミスマッチビットという）の２次元分布を示す分布図である。なお、図５において、横軸はセルアレイのワード線方向であり、縦軸はセルアレイのビット線方向である。また、図５は、乱数を多値モードで書き込んだ場合を示している。
【００３６】
ここでミスマッチビットとは、いわゆる不良ビットであるとは限らない。たとえば、本実施形態におけるミスマッチビットとは、２値モードでは書き込みが可能であるが、多値モード（例えば８ビットモード）では書き込んだ値と読み出したとが不一致となるビットであってもよい。このような場合、たとえばミスマッチビットが少ない場合には、一定回数、書込および消去動作を繰り返すことで素子を劣化させてミスマッチビットを増やすなどが可能となる。
【００３７】
また、指紋データの生成に用いる乱数データは、記憶装置１００または各メモリチップ４０Ａ〜４０Ｎにおいて生成されてもよいし、記憶装置１００と所定のネットワークを介して接続されたサーバやパーソナルコンピュータなどで生成されてもよい。記憶装置１００または各メモリチップ４０Ａ〜４０Ｎにおいて乱数を生成した場合、ミスマッチビットの２次元分布図（指紋データ）を記憶装置１００または各メモリチップ４０Ａ〜４０Ｎにおいて生成することができる。一方、乱数をサーバ等で生成した場合、読出データをサーバ等へ送信し、サーバ等でミスマッチビットの２次元分布図（指紋データ）を生成すればよい。
【００３８】
図６は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に１回目、３回目および１００回目の読出データの全てにおいて書込データ（乱数）に対してミスマッチしたミスマッチビットの２次元分布を示す分布図である。このように、書込・読出・消去を振り替えした場合にその大半においてミスマッチとなったミスマッチビットは、再現性のあるミスマッチビットである。たとえば図６に示す例では、読み出しを１００回以上繰り返した際のミスマッチビットの再現率が９９％以上であった。そこで、このような再現性のあるミスマッチビットを抽出してメモリチップ４０の指紋データとすることで、より信頼性の高い指紋データを生成することが可能となる。なお、実使用の場合では、乱数データの書き込みを初回の１回とするとよい。それにより、書込・読出・消去動作の繰り返しによる素子劣化を低減することができる。
【００３９】
つぎに、実施形態１にかかる記憶装置１００の動作について、図面を用いて詳細に説明する。図７は、記憶装置１００におけるメモリシステム指紋管理部１０の制御部１１による起動時の動作例を示すフローチャートである。図７に示すように、制御部１１は、起動後、まず、識別データの生成が必要であるか否かを判定する（ステップＳ１０１）。識別データの生成が必要であるか否かは、たとえば初期化後初の起動であるか否かや、内部記憶部１６に必要な識別データ（たとえば現在の温度に対応する識別データ）が格納されているか否かなどの情報に基づいて制御部１１が判断してもよい。識別データの生成が必要である場合（ステップＳ１０１；ＹＥＳ）、制御部１１は、ステップＳ１０２へ進み、必要でない場合（ステップＳ１０１；ＮＯ）、そのまま本動作を終了する。
【００４０】
ステップＳ１０２では、制御部１１は、環境センサ部１３から現在の温度情報を取得する。ただし、ステップＳ１０２では、記憶装置１００の温度が安定するまで、制御部１１は、環境センサ部１３からの温度情報の取得を待機してもよい。
【００４１】
つぎに、制御部１１は、乱数発生部１４より乱数データを取得し、取得した乱数データを乱数データバッファ１７に格納する（ステップＳ１０３）。なお、乱数発生部１４は、上述したように、外部記憶部１９から制御部１１を介して乱数データを取得してもよいし、自身が乱数データを発生してもよい。
【００４２】
つぎに、制御部１１は、指紋領域指定部１５に対して、各メモリチップ４０Ａ〜４０Ｎにおける指紋領域として使用するメモリ領域を指定する（ステップＳ１０４）。つづいて、制御部１１は、指紋領域指定部１５を介して、乱数データバッファ１７に格納されている乱数データを指定された指紋領域へ書き込む（ステップＳ１０５）。
【００４３】
つぎに、制御部１１は、指紋生成部１２に対して、各メモリチップ４０Ａ〜４０Ｎの指紋領域に書き込まれた乱数データを読み出すように指示する（ステップＳ１０６）。これにより読み出された読出データは、読出データバッファ１８に一時記憶される。
【００４４】
つぎに、制御部１１は、指紋生成部１２に対し、乱数データバッファ１７に格納されている乱数データと、読出データバッファ１８に格納されている各メモリチップ４０Ａ〜４０Ｎからの読出データとを比較してメモリチップ４０Ａ〜４０Ｎごとの指紋データを作成するように指示する（ステップＳ１０７）。
【００４５】
つぎに、制御部１１は、指紋生成部１２で生成されたメモリチップ４０Ａ〜４０Ｎごとの指紋データを所定の配置に従って結合することで、記憶装置１００全体の指紋データを生成する（ステップＳ１０８）。なお、所定の配置とは、たとえば２次元配列するメモリチップ４０Ａ〜４０Ｎの実配置に応じた配置など、種々の配置を適用することができる。
【００４６】
つぎに、制御部１１は、生成した記憶装置１００全体の指紋データに、ステップＳ１０２において環境センサ部１３から取得した温度情報を付加することで、識別データを生成する（ステップＳ１０９）。その後、制御部１１は、生成した識別データをたとえば外部記憶部１９または内部記憶部１６に格納し（ステップＳ１１０）、本動作を終了する。
【００４７】
また、図７に示すメモリシステム指紋管理部１０の動作に対し、各メモリチップ４０Ａ〜４０Ｎのメモリチップ指紋管理部４２は、たとえば図８に示すように動作する。すなわち、メモリチップ指紋管理部４２は、起動後、ＬＳＩコントローラ２０を介してメモリシステム指紋管理部１０から指紋データの生成命令を受信したか否かを判定する（ステップＳ１２１）。指紋データの生成命令を受信しない場合（ステップＳ１２１；ＮＯ）、メモリチップ指紋管理部４２は、そのまま本動作を終了する。
【００４８】
一方、指紋データの生成命令を受信した場合（ステップＳ１２１；ＹＥＳ）、メモリチップ指紋管理部４２は、指紋データ生成命令に含まれるシステム情報を特定する（ステップＳ１２２）。また、メモリチップ指紋管理部４２は、同一のバス３０に接続されたメモリチップ４０Ａ〜４０Ｎに関する周辺チップ情報を取得する（ステップＳ１２３）。つづいて、メモリチップ指紋管理部４２は、特定したシステム情報および取得した周辺チップ情報を記憶部４２３に格納する（ステップＳ１２４）。
【００４９】
つぎに、メモリチップ指紋管理部４２は、指紋データ生成命令で指定された指紋領域を消去し（ステップＳ１２５）、つづいて、この指紋領域へ、生成命令とともに通知された乱数データを書き込む（ステップＳ１２６）。
【００５０】
つぎに、メモリチップ指紋管理部４２は、指紋領域から書き込んである乱数データを読み出す（ステップＳ１２７）。その後、メモリチップ指紋管理部４２は、読み出した指紋データを読出データとしてメモリシステム指紋管理部１０へ送信し（ステップＳ１２８）、本動作を終了する。なお、メモリチップ指紋管理部４２は、メモリシステム指紋管理部１０で生成された自身のメモリチップの指紋データを取得し、これを記憶部４２３に保存しておいてもよい。
【００５１】
ここで、各メモリチップ４０Ａ〜４０Ｎに対して生成される指紋データと、記憶装置１００全体に対して生成される指紋データとについて、図面を用いて詳細に説明する。なお、以下では、両者を区別するため、各メモリチップ４０Ａ〜４０Ｎに対して生成される指紋データをチップ指紋といい、記憶装置１００全体に対して生成される指紋データをマトリクス指紋という。
【００５２】
図９は、実施形態１においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。たとえば記憶装置１００がメモリチップ４０として８つのメモリチップＡ〜Ｈを備えており、これらが２行４列のマトリクス状にバス３０上に配置されているとすると、図９（ａ）に示すように、メモリシステム指紋管理部１０における指紋生成部１２は、合計８つのチップ指紋Ａ〜Ｈを生成する（図７のステップＳ１０７）。生成された８つのチップ指紋Ａ〜Ｈは、図９（ｂ）に示すように、メモリチップＡ〜Ｈの配列に従って結合される（図７のステップＳ１０８）。これにより、記憶装置１００に対するマトリクス指紋ＴＭ１が生成される。ただし、生成されるマトリクス指紋は、図９（ｂ）に示すような２次元データに限らず、１次元のラインデータであってもよい。２次元データとするか１次元データとするかは、たとえばユーザが指定できるように構成されてもよい。
【００５３】
つづいて、メモリシステム指紋管理部１０の制御部１１によるユーザアクセス時の動作について、図１０を用いて詳細に説明する。図１０に示すように、制御部１１は、ユーザからアクセスがあるまで待機し（ステップＳ１４１；ＮＯ）、ユーザからアクセスされると（ステップＳ１４１；ＹＥＳ）、まず、環境センサ部１３から現在の温度情報を取得し（ステップＳ１４２）、取得した温度情報と対応する識別データを外部記憶部１９または内部記憶部１６から取得する（ステップＳ１４３）。
【００５４】
つぎに、制御部１１は、乱数発生部１４より乱数データを取得し、取得した乱数データを乱数データバッファ１７に格納する（ステップＳ１４４）。なお、取得される乱数データは、指紋データの作成に使用した乱数データである。この乱数データは、外部記憶部１９に保持されていてもよいし、内部記憶部１６に保持されていてもよい。
【００５５】
つぎに、制御部１１は、各メモリチップ４０Ａ〜４０Ｎの指紋領域を特定し（ステップＳ１４５）、特定した各メモリチップ４０Ａ〜４０Ｎの指紋領域から読出データを取得するように、指紋領域指定部１５に指示する（ステップＳ１４６）。これにより読み出された読出データは、読出データバッファ１８に一時記憶される。
【００５６】
つぎに、制御部１１は、指紋生成部１２に対し、乱数データバッファ１７に格納されている乱数データと、読出データバッファ１８に格納されている各メモリチップ４０Ａ〜４０Ｎからの読出データとを比較してメモリチップ４０Ａ〜４０Ｎごとの指紋データを作成するように指示する（ステップＳ１４７）。
【００５７】
つぎに、制御部１１は、指紋生成部１２で生成されたメモリチップ４０Ａ〜４０Ｎごとの指紋データを所定の配置に従って結合することで、記憶装置１００全体の指紋データを生成する（ステップＳ１４８）。なお、所定の配置は、図７のステップＳ１０８と同様に、たとえば２次元配列するメモリチップ４０Ａ〜４０Ｎの実配置に応じた配置などであってよい。
【００５８】
つぎに、制御部１１は、生成した記憶装置１００全体の指紋データと、ステップＳ１４３で読み出した識別データにおける指紋データとを照合する（ステップＳ１４９）。つづいて、制御部１１は、両者が一致したか否かを判定し（ステップＳ１５０）、一致した場合（ステップＳ１５０；ＹＥＳ）、ユーザからメモリチップ４０Ａ〜４０Ｎへのアクセスを許可し（ステップＳ１５１）、ステップＳ１５４へ進む。なお、一度許可されたメモリチップ４０Ａ〜４０Ｎへのアクセスは、記憶装置１００への電源供給が遮断されるまで継続されてもよい。また、メモリチップ４０Ａ〜４０Ｎへのアクセス許可は、ユーザ単位で発行されてもよい。
【００５９】
一方、生成した指紋データと読み出した識別データにおける指紋データとが一致しなかった場合（ステップＳ１５０；ＮＯ）、制御部１１は、指紋データの再照合が必要か否かを判定する（ステップＳ１５２）。再照合が必要か否かは、たとえば何回目の照合であるかや温度の安定度などに基づいて判定されてもよい。再照合が必要な場合（ステップＳ１５２；ＹＥＳ）、制御部１１は、ステップＳ１４２へリターンし、以降の動作を再度実行する。一方、再照合が不要な場合（ステップＳ１５２；ＮＯ）、制御部１１は、ユーザからメモリチップ４０Ａ〜４０Ｎへのアクセスを不許可とし（ステップＳ１５３）、ステップＳ１５４へ進む。なお、一度アクセスが不許可とされたメモリチップ４０Ａ〜４０Ｎへのアクセスは、記憶装置１００への電源供給が遮断されるまで継続されてもよい。また、メモリチップ４０Ａ〜４０Ｎへのアクセス不許可は、ユーザ単位で発行されてもよい。
【００６０】
その後、制御部１１は、本動作を終了するか否かを判定し（ステップＳ１５４）、終了しない場合（ステップＳ１５４；ＮＯ）、ステップＳ１４１へリターンし、終了する場合（ステップＳ１５４；ＹＥＳ）、本動作を終了する。
【００６１】
また、メモリシステム指紋管理部１０からアクセス要求があったメモリチップ４０Ａ〜４０Ｎのメモリチップ指紋管理部４２は、図１１に示すような、チップ単位での個体識別動作を実行してもよい。すなわち、図１１に示すように、メモリチップ指紋管理部４２は、メモリシステム指紋管理部１０からアクセス要求を受信するまで待機し（ステップＳ１６１；ＮＯ）、アクセス要求を受信すると（ステップＳ１６１；ＹＥＳ）、記憶部４２３からシステム情報および周辺チップ情報を読み出す（ステップＳ１６２）。
【００６２】
つぎに、メモリチップ指紋管理部４２は、アクセス要求に含まれるシステム情報を特定するとともに（ステップＳ１６３）、同一のバス３０に接続されたメモリチップ４０Ａ〜４０Ｎに関する周辺チップ情報を取得する（ステップＳ１６４）。
【００６３】
つぎに、メモリチップ指紋管理部４２は、アクセス要求から特定したシステム情報および取得した周辺チップ情報と、記憶部４２３から読み出したシステム情報および周辺チップ情報とを照合する（ステップＳ１６５）。つづいて、メモリチップ指紋管理部４２は、これらの情報が一致したか否かを判定し（ステップＳ１６６）、一致した場合（ステップＳ１６６；ＹＥＳ）、自身のメモリチップへのアクセスを許可し（ステップＳ１６７）、ステップＳ１７０へ進む。なお、一度発行されたチップ単位のアクセス許可は、記憶装置１００への電源供給が遮断されるまで継続されてもよい。また、このアクセス許可は、ユーザ単位で発行されてもよい。
【００６４】
一方、特定したシステム情報および取得した周辺チップ情報と読み出したシステム情報および周辺チップ情報とが一致しなかった場合（ステップ１６６；ＮＯ）、メモリチップ指紋管理部４２は、これらの情報の再照合が必要か否かを判定する（ステップＳ１６８）。再照合が必要か否かは、たとえば何回目の照合であるかや温度の安定度などに基づいて判定されてもよい。再照合が必要な場合（ステップＳ１６８；ＹＥＳ）、メモリチップ指紋管理部４２は、ステップＳ１６２へリターンし、以降の動作を再度実行する。一方、再照合が不要な場合（ステップＳ１６８；ＮＯ）、制御部１１は、自身のメモリチップへのアクセスを不許可とし（ステップＳ１６９）、ステップＳ１７０へ進む。なお、一度発行されたチップ単位のアクセス不許可は、記憶装置１００への電源供給が遮断されるまで継続されてもよい。また、このアクセス不許可は、ユーザ単位で発行されてもよい。
【００６５】
その後、メモリチップ指紋管理部４２は、本動作を終了するか否かを判定し（ステップＳ１７０）、終了しない場合（ステップＳ１７０；ＮＯ）、ステップＳ１６１へリターンし、終了する場合（ステップＳ１７０；ＹＥＳ）、本動作を終了する。
【００６６】
なお、ステップＳ１６８において再照合が必要と判定された場合（ステップＳ１６８；ＹＥＳ）、上述したように、ステップＳ１６２へリターンして以降の動作を再度実行する以外にも、たとえば、セキュリティパスコードを予め用意しておき、これの入力を要求するなどの方法も考えられる。また、メモリチップが盗難された場合を想定し、アクセス不許可となったメモリチップに格納されているユーザデータを自動的に消去したり、制御部４１を機能不可能な状態としたりできるようにしてもよい。
【００６７】
以上のように、実施形態１では、メモリチップのプロセス起因によるばらつきを利用して、書込データ（乱数データ）と読出データとの間でミスマッチしたビットの分布をそのメモリチップの指紋データ（チップ指紋）とする。また、実施形態１では、複数のメモリチップの配列等に従って記憶装置１００全体の指紋データ（マトリクス指紋）を生成する。このように、複製困難な物理的特徴を具備する素子ばらつきを利用することで、複製困難な識別用のデータ（指紋データ）を生成することが可能となるため、より正確な個体識別が可能となる。また、この個体識別を記憶装置１００全体および／またはメモリチップ単体のセキュリティ指紋として使用することで、より安全性の高いセキュリティシステムを実現することも可能となる。
【００６８】
たとえば、複数のメモリチップ４０Ａ〜４０Ｎの一部が盗難などにあった場合には、ユーザアクセス時に生成されるマトリクス指紋が初期のマトリクス指紋と一致しない。そこで、このような場合には、サーバからの命令やメモリシステム指紋管理部１０における判断やメモリチップ指紋管理部４２における判断にしたがって、記憶装置１００全体または盗難等された可能性があるメモリチップの利用禁止やデータ消去などを行うことが可能となる。
【００６９】
また、複数のメモリチップ４０Ａ〜４０Ｎの一部が盗難などにあった場合には、各メモリチップ４０における周辺チップ情報も初期の周辺チップ情報と一致しない。したがって、このような場合にも、サーバからの命令やメモリシステム指紋管理部１０における判断やメモリチップ指紋管理部４２における判断にしたがって、記憶装置１００全体または盗難等された可能性があるメモリチップの利用禁止やデータ消去などを行うことが可能となる。
【００７０】
さらに、実施形態１では、温度センサなどの環境センサ部１３を設け、この環境センサ部１３による検出結果に応じた指紋データを生成する。そのため、温度などの環境によって生成される指紋データが異なる場合でも、その環境に応じた指紋データを生成することが可能となり、より正確な個体識別が可能となる。
【００７１】
さらにまた、実施形態１では、各メモリチップ４０Ａ〜４０Ｎにおける一部のメモリ領域を指紋専用のメモリ領域として使用するが、この場合、この指紋領域に対する比較的頻度の高い書き込みなどのサイクル動作が発生しないため、素子劣化の影響を低減することが可能となる。その結果、より再現性の高い個体識別を実現することが可能となる。
【００７２】
（実施形態２）
つぎに、実施形態２に係る個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムについて、図面を参照して詳細に説明する。
【００７３】
実施形態１では、メモリシステム指紋管理部１０内で個体識別を実行したが、これに限らず、個体識別をたとえばネットワーク上のサーバなど、記憶装置外で実行することも可能である。実施形態２では、ネットワーク上のサーバにおいて個体識別を行う場合を例示する。
【００７４】
実施形態２にかかる記憶装置は、実施形態１において例示した記憶装置と同様の構成を有してよい。ただし、実施形態２では、記憶装置におけるメモリシステム指紋管理部１０がインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介してサーバと通信可能である。
【００７５】
つづいて、実施形態２における記憶装置の動作について、図面を用いて詳細に説明する。図１２は、記憶装置におけるメモリシステム指紋管理部１０の制御部１１による起動時の動作例を示すフローチャートである。なお、図１２において、図７と同様のステップについては、同一の符号を付し、重複する説明を省略する。また、実施形態１において図８を用いて説明した動作は、実施形態２でも同様であるため、ここでは詳細な説明を省略する。
【００７６】
図１２に示すように、制御部１１は、起動後、図７のステップＳ１０１〜Ｓ１０９と同様の動作を実行することで、識別データを生成する。つぎに、制御部１１は、生成した識別データをネットワーク経由でサーバへ送信し（ステップＳ２１０）、その後、本動作を終了する。これに対し、サーバは、送信された識別データを所定の記憶領域（たとえば外部記憶部１９）に記憶しておく。
【００７７】
つづいて、実施形態２におけるユーザアクセス時の動作について、図１３を用いて詳細に説明する。図１３は、実施形態２におけるユーザアクセス時の動作の一例を示すフローチャートである。なお、図１３において、図１０と同様のステップについては、同一の符号を付し、重複する説明を省略する。また、実施形態１において図１１を用いて説明した動作は、実施形態２でも同様であるため、ここでは詳細な説明を省略する。
【００７８】
図１３に示すように、制御部１１は、図１０のステップＳ１４１〜Ｓ１４８と同様の動作を実行することで、各メモリチップ４０Ａ〜４０Ｎに対して生成した指紋データを結合する。つぎに、制御部１１は、生成した記憶装置１００全体の指紋データに、ステップＳ１４２において環境センサ部１３から取得した温度情報を付加することで、識別データを生成し（ステップＳ２４１）、この識別データをネットワーク経由でサーバへ送信する（ステップＳ２４２）。これに対し、サーバは、送信された識別データと、所定の記憶領域（たとえば外部記憶部１９）に記憶しておいた識別データとを照合し、両者が一致するか否かを判定する。この判定結果は、記憶装置１００へ送られ、制御部１１へ入力される。
【００７９】
その後、制御部１１は、サーバから照合結果を受信すると、照合結果が適正であるか否か、すなわち同一温度情報での指紋データが一致するか否かを判定し（ステップＳ２４３）、照合ＯＫの場合（ステップＳ２４３；ＹＥＳ）、図１０のステップＳ１５１と同様に、ユーザからメモリチップ４０Ａ〜４０Ｎへのアクセスを許可し（ステップＳ１５１）、ステップＳ１５４へ進む。なお、一度許可されたメモリチップ４０Ａ〜４０Ｎへのアクセスは、記憶装置１００への電源供給が遮断されるまで継続されてもよい。また、メモリチップ４０Ａ〜４０Ｎへのアクセス許可は、ユーザ単位で発行されてもよい。
【００８０】
一方、照合結果がＮＧであった場合（ステップＳ２４３；ＮＯ）、制御部１１は、図１０のステップＳ１５２と同様に、指紋データの再照合が必要か否かを判定し、再照合が必要であれば（ステップＳ１５２；ＹＥＳ）、ステップＳ１４２へリターンし、再照合が不要であれば（ステップＳ１５２；ＮＯ）、ユーザからメモリチップ４０Ａ〜４０Ｎへのアクセスを不許可として（ステップＳ１５３）、ステップＳ１５４へ進む。なお、一度アクセスが不許可とされたメモリチップ４０Ａ〜４０Ｎへのアクセスは、記憶装置１００への電源供給が遮断されるまで継続されてもよい。また、メモリチップ４０Ａ〜４０Ｎへのアクセス不許可は、ユーザ単位で発行されてもよい。
【００８１】
その後、制御部１１は、本動作を終了するか否かを判定し（ステップＳ１５４）、終了しない場合（ステップＳ１５４；ＮＯ）、ステップＳ１４１へリターンし、終了する場合（ステップＳ１５４；ＹＥＳ）、本動作を終了する。
【００８２】
以上のように、実施形態２によれば、サーバ側で記憶装置および／または各メモリチップの個体識別をより正確に行うことが可能となる。そのため、たとえば図１４に示すような、多数のメモリチップ４０Ａ〜４０Ｎを搭載した大規模不揮発性メモリ（たとえば大規模サーバ用ＳＳＤメモリ）である分散メモリ４００においても、より正確な個体識別およびこれを用いたセキュリティシステムを実現することが可能となる。
【００８３】
たとえば、図１４に示す分散メモリ４００において、メモリシステム指紋管理部１０は、すべてのメモリチップ４０Ａ〜４０Ｎの識別データを管理する。そこで、特定のメモリチップ４０の確認できなくなると、そのメモリチップに関する情報（以下、未確認チップ情報という）がサーバ等へ送信されて記録される。その後、ユーザ（たとえば不審なユーザ）がそのメモリチップ４０へアクセスすると、未確認チップ情報がそのメモリチップ４０のメモリシステム指紋管理部１０へ通知される。メモリシステム指紋管理部１０は、未確認チップ情報に基づいてアクセス対象が未確認チップであることが判明すると、自動的に該当するメモリチップへのアクセスを禁止する。その際、メモリシステム指紋管理部１０は、該当チップのデータを消去してもよい。
【００８４】
その他の構成、動作および効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【００８５】
（実施形態３）
つぎに、実施形態３に係る個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムについて、図面を参照して詳細に説明する。
【００８６】
上述した実施形態では、各メモリチップ４０Ａ〜４０Ｎに対して生成したチップ指紋が、たとえば２次元配列するメモリチップ４０Ａ〜４０Ｎの実配置に応じた配置などの固定された組合せ配置に従って組み合わされていた。これに対し、実施形態３では、組合せ配置を決定するためのパラメータを１つ追加し、このパラメータに応じることで、組合せ配置が記憶装置ごとに異なるようにする。なお、パラメータとしては、たとえばユーザ指定のパスワードや記憶装置の製造番号など、記憶装置またはユーザごとに固有の情報を適用することができる。
【００８７】
図１５は、実施形態３においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。たとえば記憶装置１００がメモリチップ４０として８つのメモリチップＡ〜Ｈを備えており、これらが２行４列のマトリクス状にバス３０上に配置されているとすると、図１５（ａ）に示すように、メモリシステム指紋管理部１０における指紋生成部１２は、合計８つのチップ指紋Ａ〜Ｈを生成する。生成された８つのチップ指紋Ａ〜Ｈは、図１５（ｂ）に示すように、たとえばユーザ指定のパスワードを用いて生成された組合せ配列（以下、指紋マトリクスＭＭという）に従って結合される。これにより、図１５（ｃ）に示すように、記憶装置１００またはユーザごとに異なる配列で組み合わされたマトリクス指紋ＴＭ２が生成される。
【００８８】
つづいて、実施形態３にかかる記憶装置の構成および動作について説明する。実施形態３にかかる記憶装置は、実施形態１において例示した記憶装置１００と同様の構成を有してよい。ただし、実施形態３では、指紋マトリクスＭＭの生成に使用した情報（ここでは、ユーザ指定のパスワードとする）またはこれを用いて生成された指紋マトリクスＭＭ自体が、外部記憶部１９、内部記憶部１６および記憶部４２３の何れか１つ以上に記憶される。
【００８９】
なお、ユーザ指定のパスワードは、上述のような指紋マトリクスＭＭの生成に限らず、たとえばメモリチップ４０中のいずれのブロックまたはブロック中のどこの領域（ワード線あるいはビット線）を指紋領域として使用するかを決定するためのパラメータとしても使用することが可能である。
【００９０】
つづいて、実施形態３における記憶装置の動作について、図面を用いて詳細に説明する。図１６は、記憶装置におけるメモリシステム指紋管理部１０の制御部１１による起動時の動作例を示すフローチャートである。なお、実施形態３では、実施形態２の動作をベースとした場合の動作例を例示するが、これに限られず、たとえば実施形態１の動作をベースとしてもよい。また、図１６において、図１２と同様のステップについては、同一の符号を付し、重複する説明を省略する。さらに、実施形態１において図８を用いて説明した動作は、実施形態３でも同様であるため、ここでは詳細な説明を省略する。
【００９１】
図１６に示すように、制御部１１は、起動後、図１２のステップＳ１０１と同様に、識別データの生成が必要であるか否かを判定し、必要である場合（ステップＳ１０１；ＹＥＳ）、ステップＳ３０１へ進み、必要でない場合（ステップＳ１０１；ＮＯ）、そのまま本動作を終了する。
【００９２】
ステップＳ３０１では、制御部１１は、ユーザからパスワードを入力する。これは、たとえば記憶装置が接続された上位装置に対してユーザがパスワードを入力する構成であってもよいし、ユーザが記憶装置に直接パスワードを入力する構成であってもよい。
【００９３】
つぎに、制御部１１は、図１２のステップＳ１０２〜Ｓ１０７と同様の動作を実行することで、メモリチップ４０Ａ〜４０Ｎごとの指紋データを生成する。
【００９４】
つぎに、制御部１１は、ステップＳ３０１で入力されたパスワードを用いて指紋マトリクスＭＭを生成し（ステップＳ３０２）、この生成された指紋マトリクスＭＭに従ってメモリチップ４０Ａ〜４０Ｎごとの指紋データを結合することで、記憶装置１００全体の指紋データを生成する（ステップＳ３０３）。
【００９５】
つぎに、制御部１１は、図１２のステップＳ１０９およびＳ２１０と同様に、生成した指紋データに温度情報を付加することで識別データを生成し、この識別データをサーバへ送信して、本動作を終了する。これに対し、サーバは、送信された識別データを所定の記憶領域（たとえば外部記憶部１９）に記憶しておく。
【００９６】
つづいて、実施形態３におけるユーザアクセス時の動作について、図１７を用いて詳細に説明する。図１７は、実施形態３におけるユーザアクセス時の動作の一例を示すフローチャートである。なお、図１７において、図１３と同様のステップについては、同一の符号を付し、重複する説明を省略する。また、実施形態１において図１１を用いて説明した動作は、実施形態３でも同様であるため、ここでは詳細な説明を省略する。
【００９７】
図１７に示すように、制御部１１は、図１３のステップＳ１４１と同様に、ユーザからアクセスがあるまで待機し（ステップＳ１４１；ＮＯ）、ユーザからのアクセスが発生すると（ステップＳ１４１；ＹＥＳ）、ユーザからパスワードを入力する（ステップＳ３４１）。これは、図１６のステップＳ３０１と同様に、たとえば記憶装置が接続された上位装置に対してユーザがパスワードを入力する構成であってもよいし、ユーザが記憶装置に直接パスワードを入力する構成であってもよい。
【００９８】
つぎに、制御部１１は、図１３のステップＳ１４２〜Ｓ１４７と同様の動作を実行することで、メモリチップ４０Ａ〜４０Ｎごとの指紋データを生成する。
【００９９】
つぎに、制御部１１は、ステップＳ３４１で入力されたパスワードを用いて指紋マトリクスＭＭを生成し（ステップＳ３４２）、この生成された指紋マトリクスＭＭに従ってメモリチップ４０Ａ〜４０Ｎごとの指紋データを結合することで、記憶装置１００全体の指紋データを生成する（ステップＳ３４３）。
【０１００】
その後、制御部１１は、図１３のステップＳ２４１〜Ｓ２４２およびＳ１５０〜Ｓ１５３と同様の動作を実行することで、サーバ側での照合結果に応じてメモリチップ４０Ａ〜４０Ｎへのアクセスを許可または不許可とする。なお、図１７のステップＳ１５３において再照合が必要と判断された場合、制御部１１は、先にステップＳ３４１で入力されたパスワードとは異なるパスワードを入力するように構成してもよい。
【０１０１】
以上のように、実施形態３では、マトリクス指紋ＴＭを生成する際のパラメータを追加しているため、より正確な個体識別が可能となる。また、この個体識別を記憶装置全体および／またはメモリチップ単体のセキュリティ指紋として使用することで、より安全性の高いセキュリティシステムを実現することも可能となる。
【０１０２】
その他の構成、動作および効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１０３】
上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。
【符号の説明】
【０１０４】
１…個体識別システム、１００…記憶装置、１０…メモリシステム指紋管理部、１１…制御部、１２…指紋生成部、１３…環境センサ部、１４…乱数発生部、１５…指紋領域指定部、１６…内部記憶部、１７…乱数データバッファ、１８…読出データバッファ、１９…外部記憶部、２０…ＬＳＩコントローラ、３０…バス、４０，４０Ａ〜４０Ｎ…メモリチップ、４１…制御部、４２…メモリシステム指紋管理部、４２１…システム情報管理部、４２２…システム情報認識部、４２３…記憶部、４３…メモリアドレス制御部、４４…メモリ部、４５…動作シーケンス制御部、４６…メモリチップ電源制御部、４７…メモリ周辺部、４８…メモリ素子部
【図１】
2015061201.tif 000003
【図２】
2015061201.tif 000004
【図３】
2015061201.tif 000005
【図４】
2015061201.tif 000006
【図５】
2015061201.tif 000007
【図６】
2015061201.tif 000008
【図７】
2015061201.tif 000009
【図８】
2015061201.tif 000010
【図９】
2015061201.tif 000011
【図１０】
2015061201.tif 000012
【図１１】
2015061201.tif 000013
【図１２】
2015061201.tif 000014
【図１３】
2015061201.tif 000015
【図１４】
2015061201.tif 000016
【図１５】
2015061201.tif 000017
【図１６】
2015061201.tif 000018
【図１７】
2015061201.tif 000019