(57)【特許請求の範囲】
【請求項１】
管理対象のメモリデバイスである対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられて第１キーを記憶する第１キー記憶部と、
前記対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第２キーを生成する第２キー生成部と、
前記第１キーの値と前記第２キーの値との同一性を判定する同一性判定部と、
前記第１キーの値と前記第２キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させるデータ消去処理部と
を備えるメモリデバイス管理システム。
【請求項２】
前記対象メモリデバイスが記憶するデータのうち、再利用するデータを決定する再利用空間決定部と、
前記対象メモリデバイスを構成する個々のメモリの特性に基づいて、再利用することに決定されたデータの移動先のメモリ領域を、前記対象メモリデバイス内の何れかのメモリ領域に決定する移動先決定部と、
前記第１キーの値と前記第２キーの値とが同じであると判定された場合、再利用することに決定されたデータを、決定された移動先に移動させる移動処理部と、
を備え、
前記データ消去処理部は、前記第１キーの値と前記第２キーの値とが同一であると判定された場合、前記対象メモリデバイスが記憶しているデータのうち、再利用することに決定されたデータ以外のデータのみを消去する、
請求項１に記載のメモリデバイス管理システム。
【請求項３】
前記対象メモリデバイスのメモリ構成の変更が予告される場合に、前記変更を行う者が変更の権限を有する者であるか否かの認証処理を行い、認証に成功したと判定した場合、構成変更フラグの値を、権限があることを示す値にし、認証に失敗したと判定した場合、構成変更フラグの値を、権限がないことを示す値にする正当性判定部と、
前記構成変更フラグの値が、権限があることを示す場合、前記データ消去処理部による前記データの消去を抑制する正当時処理部と、
を備える請求項１または請求項２に記載のメモリデバイス管理システム。
【請求項４】
管理対象のメモリデバイスである対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第２キーを生成する工程と、
前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第１キー記憶部が記憶する第１キーの値と、前記第２キーの値との同一性を判定する工程と、
前記第１キーの値と前記第２キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程と
を含むメモリデバイス管理方法。
【請求項５】
コンピュータに、
管理対象のメモリデバイスである対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第２キーを生成する工程と、
前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第１キー記憶部が記憶する第１キーの値と、前記第２キーの値との同一性を判定する工程と、
前記第１キーの値と前記第２キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリデバイス管理システム、メモリデバイス管理方法およびプログラムに関する。
【背景技術】
【０００２】
不揮発性メモリを用いた記憶デバイスに関して、特許文献１には、複数のフラッシュメモリで構成されるデータ記憶部を備える半導体ディスクが記載されている。この半導体ディスクは、上位計算機からデータアクセスのために指定される論理ブロックアドレスを、データ記憶部の実ブロックアドレスに変換するための第１のテーブルと、実ブロックアドレス内のデータの状態を管理するフラグ情報を格納するための第２のテーブルとを備える。
【０００３】
データの書き込み時には、この半導体ディスクは、書き込みを指定された論理ブロックアドレスを、第１のテーブルを用いて実ブロックアドレスに変換する。そして、この半導体ディスクは、実ブロックアドレスに対応する第２のテーブルの領域に「無効ブロック」のフラグ（データが無効であることを示すフラグ）を設定する。
【０００４】
また、この半導体ディスクは、第２のテーブルを検索し、データ記憶部内で「空きブロック」フラグ（データを書き込み可能な空きブロックであることを示すフラグ）が設定されている実ブロックアドレスを検索する。そして、この半導体ディスクは、「空きブロック」フラグが設定されている実ブロックアドレスにデータを書き込み、その実ブロックアドレスに対応する第２のテーブルの領域に「有効ブロック」のフラグ（有効なデータが格納されていることを示すフラグ）を設定する。そして、この半導体ディスクは、指定された論理ブロックアドレスに対応する第１のテーブルの領域に、この実ブロックアドレスの値を設定する。
【０００５】
また、この半導体ディスクは、無効ブロックを空きブロックに更新する消去処理を行う。消去処理では、この半導体ディスクは、第２のテーブルにおいて「無効ブロック」フラグが設定されている実ブロックのデータを消去し、第２のテーブルにおけるこの実ブロックのフラグを「空きブロック」フラグに更新する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２１９７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
不揮発性メモリを用いた記憶デバイスでは、電源切断時もデータが保持される。このデータの有効活用と、このデータの不正取得の防止とを両立させられることが好ましい。
【０００８】
本発明は、上述の課題を解決することのできるメモリデバイス管理システム、メモリデバイス管理方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の第１の態様によれば、メモリデバイス管理システムは、管理対象のメモリデバイスである対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられて第１キーを記憶する第１キー記憶部と、前記対象メモリデバイスの構成に応じて一意に定まるデータに基づいて第２キーを生成する第２キー生成部と、前記第１キーの値と前記第２キーの値との同一性を判定する同一性判定部と、前記第１キーの値と前記第２キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させるデータ消去処理部とを備える。
【００１０】
本発明の第２の態様によれば、メモリデバイス管理方法は、管理対象のメモリデバイスである対象メモリデバイスの構成に応じて一意に定まるデータに基づいて第２キーを生成する工程と、前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第１キー記憶部が記憶する第１キーの値と、前記第２キーの値との同一性を判定する工程と、前記第１キーの値と前記第２キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程とを含む。
【００１１】
本発明の第３の態様によれば、プログラムは、コンピュータに、管理対象のメモリデバイスである対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第２キーを生成する工程と、前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第１キー記憶部が記憶する第１キーの値と、前記第２キーの値との同一性を判定する工程と、前記第１キーの値と前記第２キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程とを実行させるためのプログラムである。
【発明の効果】
【００１２】
この発明によれば、不揮発性メモリを用いた記憶デバイスが記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係るサーバクライアントシステムの装置構成を示す概略ブロック図である。
【図２】第１実施形態に係るメモリデバイス管理システムの機能構成を示す概略ブロック図である。
【図３】第１実施形態に係るホストコンピュータのソフトウェアへの、メモリデバイス管理システムの機能の割当の例を示す図である。
【図４】第１実施形態に係る対象メモリデバイスのアドレス空間の例を示す図である。
【図５】第１実施形態に係るマッピング管理テーブルのデータ構造の例を示す図である。
【図６】第１実施形態に係るメモリデバイス管理システムが第１キーを生成して記憶する処理の手順の例を示す図である。
【図７】第１実施形態に係るメモリデバイス管理システムが行う、対象メモリデバイスのデータに対する処理の手順の例を示す図である。
【図８】第２実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。
【図９】第２実施形態に係るホストコンピュータのソフトウェアへの、メモリデバイス管理システムの機能の割当の例を示す図である。
【図１０】第２実施形態に係るアドレス管理テーブルのデータ構造の例を示す図である。
【図１１】第２実施形態に係るデータ管理テーブルのデータ構造の例を示す図である。
【図１２】第２実施形態に係る不揮発メモリデバイス特性テーブルのデータ構造の例を示す図である。
【図１３】第２実施形態に係る不揮発メモリ管理テーブルのデータ構造の例を示す図である。
【図１４】第２実施形態に係るメモリデバイス管理システムが行う、対象メモリデバイスのデータに対する処理の手順の例を示す図である。
【図１５】第３実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。
【図１６】第３実施形態に係るホストコンピュータのソフトウェアへの、メモリデバイス管理システムの機能の割当の例を示す図である。
【図１７】第３実施形態に係るメモリデバイス管理システムが構成変更フラグの値を設定する処理の手順の例を示す図である。
【図１８】第３実施形態に係るメモリデバイス管理システムがホストコンピュータの電源の接続後に行う処理の手順の例を示す図である。
【図１９】実施形態に係るメモリデバイス管理システムの構成の例を示す図である。
【図２０】実施形態に係るメモリデバイス管理方法における処理手順の例を示す図である。
【図２１】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１５】
＜データ管理対象の例＞
図１は、実施形態に係るサーバクライアントシステムの装置構成を示す概略ブロック図である。図１に示す構成で、サーバクライアントシステム１は、ホストコンピュータ１００と、クライアント装置９１０とを備える。ホストコンピュータ１００は、通信装置１１０と、ＣＰＵ１２０と、Ｌ１キャッシュ１３０と、対象メモリデバイス１４０と、ハードディスク１５０とを備える。対象メモリデバイス１４０は、ＤＩＭＭ（Dual Inline Memory Module）１４１と、不揮発メモリ群１４２とを備える。不揮発メモリ群１４２は、不揮発メモリ１４３−１〜１４３−Ｎ（Ｎは、Ｎ≧１の整数）を備える。不揮発メモリ１４３−１〜１４３−Ｎを総称して不揮発メモリ１４３と表記する。
ホストコンピュータ１００とクライアント装置９１０とは、通信ネットワーク９２０を介して通信を行う。
【００１６】
ホストコンピュータ１００は、サーバクライアントシステム１におけるサーバとして、クライアント装置９１０からのリクエスト（Request）に従って処理を行いレスポンス（Response）を送信することで、クライアント装置９１０が要求する機能を提供する。ホストコンピュータ１００は、例えばワークステーション（Workstation）、または、ＰＣサーバ（PC Server）等のパソコン（Personal Computer；ＰＣ）など、コンピュータを用いて構成される。
【００１７】
通信装置１１０は、他の装置と通信を行う。例えば通信装置１１０は、クライアント装置９１０からのリクエストを受信する。また、通信装置１１０は、リクエストに応じたレスポンスをクライアント装置９１０へ送信する。
ＣＰＵ１２０は、プログラムを実行することで各種処理を実行する。例えば、ＣＰＵ１２０は、アプリケーション（Application Software）、ＯＳ（Operating System）およびＢＩＯＳ（Basic Input Output System）等のソフトウェアを実行する。
【００１８】
Ｌ１キャッシュ１３０は、ＣＰＵ１２０のデータ読み書きの高速化のためのキャッシュメモリ（Cache Memory）である。Ｌ１キャッシュ１３０は、揮発性のメモリを用いて構成される。
ただし、ホストコンピュータ１００のキャッシュの構成は、図１に示すものに限定されない。例えば、ＣＰＵ１２０と対象メモリデバイス１４０との間に２段以上のキャッシュが設けられていてもよい。あるいは、ＣＰＵ１２０がキャッシュを介さず直接に対象メモリデバイス１４０と接続されていてもよい。
【００１９】
対象メモリデバイス１４０は、管理対象のメモリデバイスである。図１の例では、対象メモリデバイス１４０は主記憶装置として用いられている。対象メモリデバイス１４０は、Ｌ１キャッシュ１３０よりも低速である（例えば、レイテンシ（Latency）およびスループット（Throughput）が遅い）。一方、対象メモリデバイス１４０は、Ｌ１キャッシュ１３０よりもメモリ容量が大きい。また、対象メモリデバイス１４０は、ハードディスク１５０よりも高速である。一方、対象メモリデバイス１４０は、ハードディスク１５０よりもメモリ容量が小さい。
ただし、対象メモリデバイス１４０の用法は特定のものに限定されない。
【００２０】
ＤＩＭＭ１４１は、複数のＤＲＡＭ（Dynamic Random Access Memory）が搭載されたメモリモジュールである。図１の例で、ＤＩＭＭ１４１は、主記憶装置の一部として用いられている。すなわち、ＤＩＭＭ１４１の記憶領域は、主記憶装置である対象メモリデバイス１４０の記憶領域の一部を構成する。
不揮発メモリ群１４２では、不揮発性のメモリである不揮発メモリ１４３の各々がデータを記憶する。
【００２１】
後述する第１実施形態では、不揮発メモリ群１４２が備える不揮発メモリ１４３の個数は１個以上であればよい。したがって上記のように、不揮発メモリ群１４２が備える不揮発メモリ１４３の個数Ｎは、１以上の整数であればよい。不揮発メモリ群１４２が複数の不揮発メモリ１４３を備える場合、第１実施形態では、これら複数の不揮発メモリ１４３が同じ種類のメモリであってもよいし、異なる種類のメモリであってもよい。ここでいうメモリの種類として型番のレベルの種類を用いることができる。この場合、製造会社および型番が同じメモリを同じ種類のメモリとし、製造会社または型番が異なるメモリを異なる種類のメモリとする。
【００２２】
第２実施形態では、不揮発メモリ群１４２が備える不揮発メモリ１４３の個数は、２個以上であればよい。したがって、Ｎは、２以上の整数であればよい。また、第２実施形態では、複数の不揮発メモリ１４３のうち１個以上が、他の不揮発メモリ１４３と異なる種類のメモリであればよい。したがって、複数の不揮発メモリ１４３が全て異なる種類のメモリであってもよいし、複数の不揮発メモリ１４３の一部が同じ種類の不揮発メモリ１４３であってもよい。
【００２３】
第３実施形態でも、第１実施形態の場合と同様、不揮発メモリ群１４２が備える不揮発メモリ１４３の個数は１個以上であればよい。したがって、Ｎは、１以上の整数であればよい。不揮発メモリ群１４２が複数の不揮発メモリ１４３を備える場合、第３実施形態では、これら複数の不揮発メモリ１４３が同じ種類のメモリであってもよいし、異なる種類のメモリであってもよい。
不揮発メモリ群１４２の記憶領域は、対象メモリデバイス１４０の記憶領域の一部を構成する。
【００２４】
ハードディスク１５０は、対象メモリデバイス１４０よりも低速かつ大容量である不揮発性の記憶デバイスである。
クライアント装置９１０は、サーバクライアントシステム１におけるクライアントとして、ホストコンピュータ１００に対してリクエストを送信し、送信したリクエストに応じたレスポンスを受信する。クライアント装置９１０は、例えばパソコンなど、コンピュータを用いて構成される。
【００２５】
通信ネットワーク９２０は、ホストコンピュータ１００とクライアント装置９１０との通信を仲介する。通信ネットワーク９２０は、特定の種類の通信ネットワークに限定されない。例えば、通信ネットワーク９２０が、インターネット（Internet）を用いて構成されていてもよいし、サーバクライアントシステム１専用の通信ネットワークとして構成されていてもよい。
通信ネットワーク９２０が、サーバクライアントシステム１の一部として構成されていてもよいし、サーバクライアントシステム１の外部の構成となっていてもよい。
【００２６】
＜第１実施形態＞
図２は、第１実施形態に係るメモリデバイス管理システムの機能構成を示す概略ブロック図である。図２に示す構成で、メモリデバイス管理システム３０１は、第１キー記憶部３１１と、第１キー取得部３２１と、第２キー生成部３２２と、同一性判定部３２３と、データ消去処理部３２４とを備える。
また、図２では、メモリデバイス管理システム３０１の各部が記憶部３３１または処理部３４１に分類されている。第１キー記憶部３１１が、記憶部３３１に分類されている。第１キー取得部３２１と、第２キー生成部３２２と、同一性判定部３２３と、データ消去処理部３２４とが、処理部３４１に分類されている。
【００２７】
メモリデバイス管理システム３０１は、対象メモリデバイス１４０（図１）の管理を行う。第１実施形態では、メモリデバイス管理システム３０１は、ホストコンピュータ１００の起動時に、不揮発メモリ１４３のデータ（不揮発メモリ１４３が記憶しているデータ）を消去する必要があるか否かを判定し、消去する必要があると判定した場合はデータを消去する。
【００２８】
メモリデバイス管理システム３０１は、例えばクライアント装置９１０（図１）などコンピュータを用いて構成される。メモリデバイス管理システム３０１がクライアント装置９１０を用いて構成される場合、メモリデバイス管理システム３０１の機能が、クライアント装置９１０のＣＰＵ１２０が実行するアプリケーション、ＯＳ、またはＢＩＯＳの何れかまたはこれらの組み合わせによって実行されるようにしてもよい。あるいは、メモリデバイス管理システム３０１の機能の全部または一部が対象メモリデバイス１４０によって実行されるようにしてもよい。この場合、対象メモリデバイス１４０が、メモリデバイス管理システム３０１の機能を実行するプロセッサを備えるようにしてもよい。
【００２９】
記憶部３３１は、各種データを記憶する。記憶部３３１は、メモリデバイス管理システム３０１を構成する装置の記憶デバイスを用いて構成される。
第１キー記憶部３１１は、第１キーを記憶する。第１キーは、対象メモリデバイス１４０の全部または一部の持ち出しの有無を判定するために用いられるコード（Code、符号）である。
【００３０】
ここでいう対象メモリデバイス１４０の全部または一部の持ち出しは、対象メモリデバイス１４０の全部または一部を、元々搭載されている装置から取り外して他の装置に搭載することである。不揮発メモリ１４３は、電力の供給を受けない状態でもデータを記憶し続ける。このため、対象メモリデバイス１４０または不揮発メモリ１４３が、元々搭載されている装置から取り外され、取り外された対象メモリデバイス１４０または不揮発メモリ１４３が記憶しているデータを他の装置で参照されると、データが不正に参照されてしまう可能性がある。
【００３１】
そこで、メモリデバイス管理システム３０１は、ホストコンピュータ１００の電源切断（ＯＦＦ）前に記憶している第１キーの値と、ホストコンピュータ１００の電源接続（ＯＮ）後に生成する第２キーの値との同一性を判定することで、対象メモリデバイス１４０、および、対象メモリデバイス１４０の不揮発メモリ１４３が、ホストコンピュータ１００の電源切断前からもともとホストコンピュータ１００に搭載されていたものであるか否かを判定する。対象メモリデバイス１４０全体、または、不揮発メモリ１４３が、ホストコンピュータ１００の電源切断後にホストコンピュータ１００に搭載されたと判定した場合、メモリデバイス管理システム３０１は、対象メモリデバイス１４０が記憶しているデータ（不揮発メモリ群１４２の不揮発メモリ１４３の各々が記憶しているデータ）を消去する。
【００３２】
これにより、対象メモリデバイス１４０または不揮発メモリ１４３が記憶しているデータが不正に参照されることを回避すること、または、対象メモリデバイス１４０または不揮発メモリ１４３が記憶しているデータが不正に参照される可能性を低減させることができる。
第１キー記憶部３１１は、対象メモリデバイス１４０の外部の不揮発性の記憶デバイスに設けられる。例えば、ハードディスク１５０の記憶領域の一部が、第１キー記憶部３１１の記憶領域として用いられていてもよい。
【００３３】
処理部３４１は、メモリデバイス管理システム３０１の各種処理を実行する。
第１キー取得部３２１は、第１キーを取得する。第１キー取得部３２１は、ホストコンピュータ１００の電源切断前（例えばシャットダウン時）に第１キー記憶部３１１が記憶した第１キーを、ホストコンピュータ１００の起動時（例えば起動シーケンス実行時）に取得する。ホストコンピュータ１００の起動時は、ホストコンピュータ１００の電源接続後の例に該当する。
【００３４】
以下では、第１キー取得部３２１自らが第１キーを生成して第１キー記憶部３１１に記憶させる場合を例に説明する。ただし、第１キーを生成する機能部が、第１キー取得部３２１とは別に設けられていてもよい。例えば、対象メモリデバイス１４０が第１キーを生成し、ＣＰＵ１２０が第１キー取得部３２１の機能を実行するようにしてもよい。
【００３５】
第１キー取得部３２１が第１キーを生成する場合、第１キー取得部３２１は、ホストコンピュータ１００の電源切断前に第１キーを生成し、第１キー記憶部３１１に記憶させておく。
第１キー取得部３２１が、対象メモリデバイス１４０における不揮発メモリ１４３の構成を示すデータを用いて第１キーを生成するようにしてもよい。例えば、第１キー取得部３２１が、対象メモリデバイス１４０を構成する不揮発メモリ１４３のシリアル番号（Serial Number）など、対象メモリデバイス１４０における不揮発メモリ１４３の構成に応じた情報を対象メモリデバイス１４０から取得し、ハッシュ関数に適用して第１キーを算出する用にしてもよい。
【００３６】
あるいは、第１キー取得部３２１が、不揮発メモリ１４３が記憶しているデータを用いて第１キーを生成するようにしてもよい。例えば、ホストコンピュータ１００のシャットダウン時に、不揮発メモリ１４３のデータがシャットダウン完了まで書き換えられなくなっている状態で、第１キー取得部３２１が、不揮発メモリ１４３の各々が記憶しているデータを取得し、または、不揮発メモリ１４３の各々からデータの一部を取得し、ハッシュ関数に適用して第１キーを算出するようにしてもよい。
【００３７】
あるいは、第１キー取得部３２１が、生成された第１キーを取得するようにしてもよい。例えば、第１キー取得部３２１の機能がＣＰＵ１２０によって実行され、対象メモリデバイス１４０が第１キーを生成する場合、第１キー取得部３２１が、対象メモリデバイス１４０が生成した第１キーを取得するようにしてもよい。
【００３８】
第２キー生成部３２２は、対象メモリデバイス１４０の構成に応じた第２キーを生成する。第２キー生成部３２２は、ホストコンピュータ１００の起動時に第２キーを生成する。第２キー生成部３２２は、第１キーの生成方法と同じ生成方法で第２キーを生成する。第１キーの生成時と第２キーの生成時とで、いずれもホストコンピュータ１００に対象メモリデバイス１４０が搭載されており、かつ、対象メモリデバイス１４０の構成が同じであれば、第１キーの値と第２キーの値とは同じ値になる。
【００３９】
第２キー生成部３２２が、第１キーおよび第２キーの両方を生成するようにしてもよい。例えば、ホストコンピュータ１００の電源切断前に、第２キー生成部３２２が第１キーを生成して第１キー記憶部３１１に記憶させるようにしてもよい。そして、ホストコンピュータ１００の起動時に、第２キー生成部３２２が第２キーを生成するようにしてもよい。
【００４０】
同一性判定部３２３は、第１キーの値と第２キーの値との同一性を判定する。具体的には、同一性判定部３２３は、第１キーの値と第２キーの値とが同一である（等しい）か否かを判定する。この判定により、第１キーの生成時（ホストコンピュータ１００の電源切断前）と第２キーの生成時（ホストコンピュータ１００の起動時）とで、いずれもホストコンピュータ１００に対象メモリデバイス１４０が搭載されており、かつ、対象メモリデバイス１４０の構成が同じか否かを判定することができる。
【００４１】
データ消去処理部３２４は、第１キーの値と第２キーの値とが異なると判定された場合、対象メモリデバイス１４０が記憶しているデータを消去させる。これにより、上述したように、対象メモリデバイス１４０または不揮発メモリ１４３が記憶しているデータが不正に参照されることを防止すること、または、不正に参照される可能性を低減させることができる。
【００４２】
図３は、ホストコンピュータ１００のソフトウェアへの、メモリデバイス管理システム３０１の機能の割当の例を示す図である。図３に示す構成で、ホストコンピュータ１００は、アプリケーション２１０と、ＯＳ２３０と、ＢＩＯＳ２５０とを備える。すなわち、ホストコンピュータ１００は、アプリケーション２１０と、ＯＳ２３０と、ＢＩＯＳ２５０とを実行する。
【００４３】
ＯＳ２３０は、マッピング管理テーブル２３１と、データステージング部２４１と、データフラッシュ部２４２とを備える。すなわち、ホストコンピュータ１００は、ＯＳ２３０の機能の一部として、マッピング管理テーブル２３１を記憶し、データステージング部２４１の機能およびデータフラッシュ部２４２の機能を実行する。
ＢＩＯＳ２５０は、不揮発メモリ管理初期化処理部２６１を備える。すなわち、ホストコンピュータ１００は、ＢＩＯＳ２５０の機能の一部として、不揮発メモリ管理初期化処理部２６１の機能を実行する。
【００４４】
アプリケーション２１０は、ＣＰＵ１２０が実行するアプリケーションである。ＣＰＵ１２０が実行するアプリケーションの個数は特定の個数に限定されない。ＣＰＵ１２０が、複数のアプリケーションを実行してもよい。
ＯＳ２３０は、ＣＰＵ１２０が実行するＯＳである。
【００４５】
マッピング管理テーブル２３１は、対象メモリデバイス１４０の論理アドレスと物理アドレスとのマッピング（対応付け）を示すデータである。
図４は、対象メモリデバイス１４０のアドレス空間の例を示す図である。図４の例で、対象メモリデバイス１４０の論理アドレス空間と対象メモリデバイス１４０の物理アドレス空間とが対応付けて示されている。
領域Ａ１１１は、ＤＩＭＭ１４１の物理アドレスが割り当てられる論理アドレス領域ある。ＤＩＭＭ１４１が揮発性なので、ホストコンピュータ１００の起動時には、領域Ａ１１１のデータは消去されている。
【００４６】
領域Ａ１２１、Ａ１２２は、いずれも不揮発メモリ１４３−１の物理アドレスが割り当てられる論理アドレス領域である。領域Ａ１２１には、ＢＩ（Business Intelligence）ツールなど、不揮発メモリにステージングされたデータが格納されている。ここでいうステージングは、データをより速いデバイスに纏めて格納することである。領域Ａ１２２には、ＯＳ２３０に関するデータおよびアプリケーション２１０に関するデータ等が格納されている。
【００４７】
領域Ａ１３１、Ａ１３２は、いずれも不揮発メモリ１４３−２の物理アドレスが割り当てられる論理アドレス領域である。領域Ａ１３１には、ＢＩツールなど、不揮発メモリにステージングされたデータが格納されている。領域Ａ１３２には、ＯＳ２３０に関するデータおよびアプリケーション２１０に関するデータ等が格納されている。
【００４８】
領域Ａ１４１、Ａ１４２は、いずれも不揮発メモリ１４３−３の物理アドレスが割り当てられる論理アドレス領域である。領域Ａ１４１には、ＢＩツールなど、不揮発メモリにステージングされたデータが格納されている。領域Ａ１４２には、ＯＳ２３０に関するデータおよびアプリケーション２１０に関するデータ等が格納されている。
同一性判定部３２３（図２）の処理で第１キーの値と第２キーの値とが同一であると判定された場合、領域Ａ１２１、Ａ１２２、Ａ１３１、Ａ１３２、Ａ１４１、Ａ１４２のデータは、何れも、ホストコンピュータ１００の起動時には消去されない（保持される）。
【００４９】
図５は、マッピング管理テーブル２３１のデータ構造の例を示す図である。図５の例で、マッピング管理テーブル２３１は表形式（テーブル形式）のデータとして構成され、行毎に、論理アドレスと物理アドレスとの対応関係を示している。
マッピング管理テーブル２３１の各行には、「論理アドレス」欄と「物理アドレス」欄とが設けられている。「論理アドレス」欄には、論理アドレス領域（論理アドレス空間の部分空間）が先頭アドレスと末尾アドレスとによって示されている。「物理アドレス」欄には、物理アドレス領域（物理アドレス空間の部分空間）が先頭アドレスと末尾アドレスとによって示されている。マッピング管理テーブル２３１の１行の「論理アドレス」欄に示される論理アドレス領域に、その行の「物理アドレス」欄に示される物理アドレス領域が割り当てられる。
【００５０】
データステージング部２４１は、物理アドレス空間へのデータのステージングを行う。
データフラッシュ部２４２は、物理アドレス空間におけるデータのフラッシングを行う。ここでいうデータのフラッシングは、データの整合性を保つために、揮発性のデバイス上にある仕掛け中のデータを、不揮発性のデバイスに書き込むことである。
ＢＩＯＳ２５０は、ＣＰＵ１２０が実行するＢＩＯＳである。
【００５１】
不揮発メモリ管理初期化処理部２６１は、メモリデバイス管理システム３０１の機能を実行する。具体的には、不揮発メモリ管理初期化処理部２６１は、第１キー取得部３２１、第２キー生成部３２２、同一性判定部３２３およびデータ消去処理部３２４の各機能を実行する。また、不揮発メモリ管理初期化処理部２６１は、第１キー取得部３２１の機能の実行で得られる第１キーを、例えばハードディスク１５０など不揮発性の記憶デバイスに記憶させることで、第１キー記憶部３１１の機能を実行する。
このように、図３では、メモリデバイス管理システム３０１の機能をＢＩＯＳ２５０が実行する場合の例を示している。ただし、上述したように、メモリデバイス管理システム３０１の機能を実行する方法は、ＢＩＯＳ２５０が実行する方法に限定されない。
【００５２】
次に、図６および図７を参照してメモリデバイス管理システム３０１の動作について説明する。
図６は、メモリデバイス管理システム３０１が第１キーを生成して記憶する処理の手順の例を示す図である。
【００５３】
図６の処理で、第１キー取得部３２１は、不揮発メモリ１４３に関するデータを取得する（ステップＳ１１１）。具体的には、第１キー取得部３２１は、不揮発メモリ群１４２における不揮発メモリ１４３の構成に応じて一意に定まるデータを取得する。例えば、第１キー取得部３２１が、不揮発メモリ群１４２の全ての不揮発メモリ１４３のシリアル番号を取得するようにしてもよい。または、第１キー取得部３２１が、不揮発メモリ群１４２の全ての不揮発メモリ１４３の各々から、その不揮発メモリ１４３が記憶するデータの全部または一部を取得するようにしてもよい。
【００５４】
次に、第１キー取得部３２１は、ステップＳ１１１で得られたデータに基づいて第１キーを算出する（ステップＳ１１２）。第１キー取得部３２１は、ステップＳ１１１で得られたデータを用いることで、対象メモリデバイス１４０における不揮発メモリ１４３の構成が異なればキーの値が異なって算出されるキーを第１キーとして算出する。
第１キー取得部３２１は、生成した第１キーを第１キー記憶部３１１に記憶させる（ステップＳ１１３）。
ステップＳ１１３の後、メモリデバイス管理システム３０１は、図６の処理を終了する。
【００５５】
メモリデバイス管理システム３０１が、ホストコンピュータ１００のシャットダウンシーケンスにて図６の処理を行うなど、メモリデバイス管理システム３０１が、ホストコンピュータ１００の電源切断の直前に図６の処理を行うようにしてもよい。あるいは、メモリデバイス管理システム３０１が不揮発メモリ１４３が記憶するデータを用いて第１キーを生成する場合、何れかの不揮発メモリ１４３のデータが更新される毎に、メモリデバイス管理システム３０１が図６の処理を行うようにしてもよい。
【００５６】
図７は、メモリデバイス管理システム３０１が行う、対象メモリデバイス１４０のデータに対する処理の手順の例を示す図である。
図７の処理で、同一性判定部３２３は、第１キー記憶部３１１が記憶している第１キーを読み出す（ステップＳ２１１）。
【００５７】
また、第２キー生成部３２２は、不揮発メモリ１４３に関するデータを取得する（ステップＳ２１２）。そして、第２キー生成部３２２は、ステップＳ２１２で得られたデータに基づいて第２キーを算出する（ステップＳ２１３）。ステップＳ２１２およびＳ２１３の処理は、第１キーと第２キーとの違いを除いて図６のステップＳ１１１およびＳ１１２の処理と同様である。ステップＳ１１１で得られるデータの値と、ステップＳ２１２で得られるデータの値とが同じである場合、第１キーの値と第２キーの値とは同じになる。一方、ステップＳ１１１で得られるデータの値と、ステップＳ２１２で得られるデータの値とが異なる場合、第１キーの値と第２キーの値とは異なる。
【００５８】
次に、同一性判定部３２３は、第１キーの値と第２キーの値とが同じか否かを判定する（ステップＳ２１４）。第１キーの値と第２キーの値とが同じであると同一性判定部３２３が判定した場合（ステップＳ２１４：ＹＥＳ）、メモリデバイス管理システム３０１は、図７の処理を終了する。この場合、不揮発メモリ１４３が記憶しているデータは消去されない。
【００５９】
一方、第１キーの値と第２キーの値とが異なると同一性判定部３２３が判定した場合（ステップＳ２１４：ＮＯ）、データ消去処理部３２４は、不揮発メモリ１４３が記憶しているデータを消去する（ステップＳ２２１）。具体的には、データ消去処理部３２４は、不揮発メモリ群１４２の全ての不揮発メモリ１４３について、その不揮発メモリ１４３が記憶している全データを消去する。
ステップＳ２２１の後、メモリデバイス管理システム３０１は、図７の処理を終了する。
【００６０】
以上のように、第１キー取得部３２１は、第１キーを取得する。第２キー生成部３２２は、対象メモリデバイス１４０の構成に応じた第２キーを生成する。同一性判定部３２３は、第１キーの値と第２キーの値との同一性を判定する。データ消去処理部３２４は、第１キーの値と第２キーの値とが異なると判定された場合、対象メモリデバイス１４０が記憶しているデータを消去させる。
【００６１】
対象メモリデバイス１４０における不揮発メモリ１４３の構成が変更されている場合、および、対象メモリデバイス１４０が他の装置から取り外されてホストコンピュータ１００に搭載された場合、権限のない者によって不正に変更が行われた可能性がある。メモリデバイス管理システム３０１によれば、第１キーの値と第２キーの値との比較により、対象メモリデバイス１４０における不揮発メモリ１４３の構成が変更されている場合、および、対象メモリデバイス１４０が他の装置から取り外されてホストコンピュータ１００に搭載された場合を検出することができる。
【００６２】
不揮発メモリ１４３の構成の変更が検出されない場合、不正の可能性は比較的低いと考えられる。この場合、メモリデバイス管理システム３０１は、対象メモリデバイス１４０が記憶しているデータを消去しない。対象メモリデバイス１４０が記憶しているデータを利用することで、例えばハードディスク１５０から対象メモリデバイス１４０へデータをアップロードし直す必要がない。この点で、対象メモリデバイス１４０が記憶しているデータの有効活用を図ることができる。
【００６３】
一方、不揮発メモリ１４３の構成の変更が検出された場合、不正の可能性が比較的高いと考えられる。この場合、メモリデバイス管理システム３０１は、対象メモリデバイス１４０が記憶しているデータを消去する。これにより、対象メモリデバイス１４０が記憶していたデータが不正に取得される可能性を低減させることができる。この点で、対象メモリデバイス１４０が記憶していたデータの不正防止を図ることができる。
メモリデバイス管理システム３０１によれば、このように、対象メモリデバイス１４０が記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
【００６４】
第１キーおよび第２キーが不正に生成されることを防止するために、これらのキーの生成方法を非公開としてもよい。例えば、これらのキーの生成のためにハッシュ関数など、関数への入出力から関数を推定することが困難な関数を用い、このハッシュ関数を非公開としてもよい。これにより、権限のない者がハッシュ関数に入力されるデータを取得した場合でも、第１キーまたは第２キーが不正に生成されることを防止できる、あるいは、第１キーまたは第２キーが不正に生成される可能性を低減させることができる。
【００６５】
同一性判定部３２３の機能をＣＰＵ１２０など対象メモリデバイス１４０の外部に設ける場合、第１キーの値と第２キーの値との同一性の判定結果、または、対象メモリデバイス１４０のデータの消去指示をＣＰＵ１２０等から対象メモリデバイス１４０へ出力する必要がある。この判定結果またはデータの消去指示が不正に改ざんまたはブロックされると、対象メモリデバイス１４０が記憶しているデータの消去が適切に行われなくなる可能性がある。
【００６６】
そこで、同一性判定部３２３の処理をブラックボックス化するなど、第１キーの値と第２キーの値との同一性の判定結果の通知に対する不正を防止する措置が講じられていてもよい。
例えば、同一性判定部３２３の機能をＢＩＯＳ２５０が実行する場合、ＢＩＯＳ２５０がブラックボックス化されていてもよい。これにより、判定結果の改ざんが困難になると期待される。そして、データ消去処理部３２４が対象メモリデバイス１４０に設けられ、データ消去処理部３２４もブラックボックス化されていてもよい。
【００６７】
また、対象メモリデバイス１４０が記憶しているデータが不正に取得されることを防止するフェイルセーフ（Fail Safe）のために、データ消去処理部３２４が、所定のタイミングで適切な判定結果を得られない場合は、対象メモリデバイス１４０が記憶しているデータを消去するようにしてもよい。
【００６８】
＜第２実施形態＞
図８は、第２実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。図８に示す構成で、メモリデバイス管理システム３０２は、第１キー記憶部３１１と、テーブルデータ記憶部３１２と、第１キー取得部３２１と、第２キー生成部３２２と、同一性判定部３２３と、データ消去処理部３２４と、再利用空間決定部３２５と、移動先決定部３２６と、移動処理部３２７とを備える。
【００６９】
また、図８では、メモリデバイス管理システム３０２の各部が記憶部３３２または処理部３４２に分類されている。第１キー記憶部３１１と、テーブルデータ記憶部３１２とが、記憶部３３２に分類されている。第１キー取得部３２１と、第２キー生成部３２２と、同一性判定部３２３と、データ消去処理部３２４と、再利用空間決定部３２５と、移動先決定部３２６と、移動処理部３２７とが、処理部３４２に分類されている。
【００７０】
図８の各部のうち、図２の各部に対応して同様の機能を有する部分には同一の符号（３１１、３２１、３２２、３２３、３２４）を付して説明を省略する。メモリデバイス管理システム３０２は、記憶部３３２がテーブルデータ記憶部３１２を備え、処理部３４２が再利用空間決定部３２５と、移動先決定部３２６と、移動処理部３２７とを備える点で、メモリデバイス管理システム３０１（図１）の場合と異なる。それ以外の点では、メモリデバイス管理システム３０２はメモリデバイス管理システム３０１と同様であり、記憶部３３２は記憶部３３１と同様であり、処理部３４２は処理部３４１と同様である。
【００７１】
テーブルデータ記憶部３１２は、対象メモリデバイス１４０が記憶するデータのうち再利用するデータを決定するためのデータ、および、再利用することに決定されたデータの配置を決定するためのデータを記憶する。テーブルデータ記憶部３１２は、例えば、後述するアドレス管理テーブルと、不揮発メモリ管理テーブルと、データ管理テーブルと、不揮発メモリデバイス特性テーブルとを記憶する。
【００７２】
再利用空間決定部３２５は、対象メモリデバイス１４０が記憶するデータのうち再利用するデータを決定する。第１実施形態では、第１キーの値と第２キーの値とが同一であると判定された場合、対象メモリデバイス１４０が記憶するデータはすべて保持される（データの消去は行われない）。これに対し、第２実施形態では、第１キーの値と第２キーの値とが同一であると判定された場合、再利用空間決定部３２５が、対象メモリデバイス１４０が記憶するデータのうち再利用するデータを決定する。再利用することに決定されたデータ以外のデータは消去される。
【００７３】
移動先決定部３２６は、対象メモリデバイス１４０が記憶するデータのうち再利用することに決定されたデータの移動先を決定する。例えば、移動先決定部３２６は、再利用することに決定されたデータの読み出し頻度および書き込み頻度に基づいて、読み出し頻度が比較的高いデータの移動先を、データ読み出し時間が比較的短い不揮発メモリ１４３に決定する。また、移動先決定部３２６は、書き込み頻度が比較的高いデータの移動先を、データ書き込み時間が比較的短い不揮発メモリ１４３に決定する。これにより、対象メモリデバイス１４０へのデータの読み書きの高速化が図られる。
移動処理部３２７は、再利用することに決定されたデータを、移動先決定部３２６が決定した移動先へ移動させる。
【００７４】
図９は、ホストコンピュータ１００のソフトウェアへの、メモリデバイス管理システム３０２の機能の割当の例を示す図である。図９に示す構成で、ホストコンピュータ１００は、アプリケーション２１０と、ＯＳ２３０と、ＢＩＯＳ２５０とを備える。すなわち、ホストコンピュータ１００は、アプリケーション２１０と、ＯＳ２３０と、ＢＩＯＳ２５０とを実行する。
【００７５】
ＯＳ２３０は、マッピング管理テーブル２３１と、アドレス管理テーブル２３２と、データ管理テーブル２３３と、不揮発メモリデバイス特性テーブル２３４と、データステージング部２４１と、データフラッシュ部２４２と、不揮発メモリデータ再配置部２４３とを備える。すなわち、ホストコンピュータ１００は、ＯＳ２３０の機能の一部として、マッピング管理テーブル２３１と、アドレス管理テーブル２３２と、データ管理テーブル２３３と、不揮発メモリデバイス特性テーブル２３４とを記憶し、データステージング部２４１の機能、データフラッシュ部２４２の機能、および、不揮発メモリデータ再配置部２４３の機能を実行する。
【００７６】
ＢＩＯＳ２５０は、不揮発メモリ管理テーブル２５１と、不揮発メモリ管理初期化処理部２６１とを備える。すなわち、ホストコンピュータ１００は、ＢＩＯＳ２５０の機能の一部として、不揮発メモリ管理テーブル２５１を記憶し、不揮発メモリ管理初期化処理部２６１の機能を実行する。
図９の各部のうち、図３の各部に対応して同様の機能を有する部分には、同一の符号（１００、２１０、２３０、２３１、２４１、２４２、２５０、２６１）を付して説明を省略する。図９の構成を図３の構成と比較すると、図９の構成では、ＯＳ２３０が、アドレス管理テーブル２３２と、データ管理テーブル２３３と、不揮発メモリデバイス特性テーブル２３４と、不揮発メモリデータ再配置部２４３とを備える点、および、ＢＩＯＳ２５０が、不揮発メモリ管理テーブル２５１を備える点で、図３の構成と異なる。それ以外の点では、図９の例は図３の場合と同様である。
【００７７】
アドレス管理テーブル２３２は、不揮発メモリ１４３が記憶するデータの要否を示すデータである。
図１０は、アドレス管理テーブル２３２のデータ構造の例を示す図である。図１０の例で、アドレス管理テーブル２３２は表形式のデータとして構成され、行毎に、データの要否を示している。
アドレス管理テーブル２３２の各行には、「論理アドレス」欄と、「属性」欄と、「データ」欄とが設けられている。「論理アドレス」欄には、論理アドレス領域が先頭アドレスと末尾アドレスとによって示されている。
【００７８】
「属性」欄には、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータの属性の情報が格納されている。図１０の例で、「属性」欄の「Ｒｅａｄ」は、データが読み出し専用（Read Only）であることを示している。「属性」欄の「Ｒｅａｄ／Ｗｒｉｔｅ」は、データに対して読み出しおよび書き込み可能であることを示している。
【００７９】
「データ」欄には、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータの要否を示す情報が格納されている。図１０の例で、「データ」欄の「不要」は、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータ（ホストコンピュータ１００の電源切断前に用いられたデータ）が、ホストコンピュータ１００の電源接続後には不要であることを示す。「データ」欄の「必要」は、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータ（ホストコンピュータ１００の電源切断前に用いられたデータ）が、ホストコンピュータ１００の電源接続後にも必要であることを示す。
「データ」欄の情報は、例えばユーザによって設定される。
【００８０】
データ管理テーブル２３３は、対象メモリデバイス１４０が記憶するデータへのアクセス状況を示すデータである。
図１１は、データ管理テーブル２３３のデータ構造の例を示す図である。図１１の例で、データ管理テーブル２３３は表形式のデータとして構成され、行毎に、データへのアクセス状況を示している。
【００８１】
データ管理テーブル２３３の各行には、「Ｎｏ．」欄と、「データ」欄と、「最終Ｒｅａｄ要求日時」欄とが設けられている。
「Ｎｏ．」欄は、１からの通番を示す。「データ」欄には、データを識別する識別情報が格納される。「最終Ｒｅａｄ要求日時」欄には、同じ行の「データ」欄の識別情報で識別されるデータに対する直近のＲｅａｄ要求の日時を示す情報が格納される。
【００８２】
不揮発メモリデバイス特性テーブル２３４は、不揮発メモリ１４３の各々の特性を示すデータである。
図１２は、不揮発メモリデバイス特性テーブル２３４のデータ構造の例を示す図である。図１２の例で、不揮発メモリデバイス特性テーブル２３４は表形式のデータとして構成され、１行に１種類の不揮発メモリの特性情報が示されている。
不揮発メモリデバイス特性テーブル２３４の各行には、「Ｎｏ．」欄と、「不揮発メモリＮｏ．」欄と、「性能特性」欄と、「特性の変化」欄と、「書込寿命［ＷＤＰＤ］」欄とが設けられている。
【００８３】
「Ｎｏ．」欄は、１からの通番を示す。
「不揮発メモリＮｏ．」欄には、不揮発メモリの種類を識別する識別番号が格納される。この場合の識別番号として、不揮発メモリの型番を用いるようにしてもよいが、これに限定されない。
「性能特性」欄には、メモリの速さが示される。図１２の例では、読み出し（Ｒｅａｄ）、書き込み（Ｗｒｉｔｅ）のそれぞれについて、速さ（例えばレイテンシの速さ（短さ））が、高、中、低の３段階で示されている。
【００８４】
「特性の変化」欄には、メモリの速さの経時変化が示される。
「書込寿命［ＤＷＰＤ］」欄には、ＤＷＰＤ（Drive Write Per Day、保証期間いっぱい使用するための１日当たりの書き込み回数）が示される。
不揮発メモリデバイス特性テーブル２３４のデータは、例えばカタログの記載および試験によって得られる。
不揮発メモリデータ再配置部２４３は、メモリデバイス管理システム３０２（図８）のうち、再利用空間決定部３２５、移動処理部３２７、および、正当性判定部３２８の機能を実行する。
【００８５】
不揮発メモリ管理テーブル２５１は、不揮発メモリ１４３の各々の種類を示すデータである。
図１３は、不揮発メモリ管理テーブル２５１のデータ構造の例を示す図である。図１３の例で、不揮発メモリ管理テーブル２５１は表形式のデータとして構成され、１個の不揮発メモリ１４３に関する情報を１つの行に示している。
【００８６】
不揮発メモリ管理テーブル２５１の各行には、「物理アドレス」欄と、「メモリ」欄と、「デバイスタイプ」欄とが設けられている。「メモリ」欄には、対象メモリデバイス１４０が備える不揮発メモリ１４３の各々を識別する識別情報が格納されている。図１３の例で、「ＰＭ１」は、不揮発メモリ１４３−１を示す。「ＰＭ２」は、不揮発メモリ１４３−２を示す。「ＰＭ３」は、不揮発メモリ１４３−３を示す。
【００８７】
「物理アドレス」欄には、その行に紐付けられる不揮発メモリ１４３（その「物理アドレス」欄が含まれる行の「メモリ」欄の識別情報が識別する不揮発メモリ１４３）に割り当てられる物理アドレスが、先頭アドレスと末尾アドレスとによって示されている。
「デバイスタイプ」欄には、メモリの種類を示す情報が格納されている。図１３の例では、メモリの種類を示す情報として、製造会社名と型番との組み合わせが用いられている。
【００８８】
次に、図１４を参照してメモリデバイス管理システム３０２の動作について説明する。
図１４は、メモリデバイス管理システム３０２が行う、対象メモリデバイスのデータに対する処理の手順の例を示す図である。メモリデバイス管理システム３０２は、ホストコンピュータ１００の起動時など、ホストコンピュータ１００の電源の接続後に図１４の処理を行う。
【００８９】
図１４のステップＳ３１１〜Ｓ３１４の処理は、図７のステップＳ２１１〜Ｓ２１４の処理と同様である。
ステップＳ３１４で、第１キーの値と第２キーの値とが異なると同一性判定部３２３が判定した場合（ステップＳ３１４：ＮＯ）、処理がステップＳ３３１へ進む。ステップＳ３３１の処理は、図７のステップＳ２２１の処理と同様である。ステップＳ３３１の後、メモリデバイス管理システム３０２は、図１４の処理を終了する。
メモリデバイス管理システム３０２が、第１キーを取得して記憶する処理は、図６の処理と同様である。
【００９０】
一方、ステップＳ３１４で、第１キーの値と第２キーの値とが同じである同一性判定部３２３が判定した場合（ステップＳ３１４：ＹＥＳ）、再利用空間決定部３２５が、対象メモリデバイス１４０が記憶しているデータのうち再利用するデータを決定する（ステップＳ３２１）。例えば、再利用空間決定部３２５は、アドレス管理テーブル２３２で「必要」とされているデータを、再利用するデータに決定する。アドレス管理テーブル２３２では、論理アドレス空間におけるデータ領域が示されているので、再利用空間決定部３２５は、マッピング管理テーブル２３１を参照して、論理アドレスを物理アドレスに変換する。これにより、再利用空間決定部３２５は、対象メモリデバイス１４０が記憶しているデータのうち再利用するデータを物理アドレス空間上で決定する。
【００９１】
次に、移動先決定部３２６は、再利用するデータの移動先を決定する（ステップＳ３２２）。
例えば移動先決定部３２６は、再利用するデータへのアクセス頻度を示す情報を、読み出し、書き込みのうち少なくとも何れか一方について取得する。そのために、ホストコンピュータ１００がデータアクセスの履歴を記録しておくようにしてもよい。あるいは、移動先決定部３２６が、データ管理テーブル２３３を参照して、最終Ｒｅａｄ要求日時が新しいデータほど読み出し頻度が高いと判定するようにしてもよい。
【００９２】
また、移動先決定部３２６は、物理アドレス空間におけるアクセス速度を把握する。例えば、移動先決定部３２６は、不揮発メモリ管理テーブル２５１を参照して不揮発メモリ１４３の各々の物理アドレスと種類とを読み出し、不揮発メモリデバイス特性テーブル２３４を参照して、不揮発メモリの種類毎の特性を読み出す。これにより、移動先決定部３２６は、不揮発メモリ１４３の各々に割り当てられた物理アドレス空間毎に、読み出し速度および書き込み速度を把握できる。
【００９３】
そして、移動先決定部３２６は、アクセス頻度が高いデータほど、アクセス速度が速い物理アドレス空間を移動先に決定する。例えば、移動先決定部３２６は、読み出し頻度が高いデータほど、読み出し速度が速い物理アドレス空間を移動先に決定し、書き込み頻度が高いデータほど、書き込み速度が速い物理アドレス空間を移動先に決定する。
あるいは、移動先決定部３２６が、書き込み頻度が高いデータほど、ＤＷＰＤが大きい（書き込み可能な回数が多い）物理アドレス空間を移動先に決定するようにしてもよい。
【００９４】
また、データ消去処理部３２４は、対象メモリデバイス１４０が記憶しているデータのうち、再利用するデータ以外のデータを消去する（ステップＳ３２３）。
そして、移動処理部３２７は、再利用するデータを、移動先決定部３２６が決定した移動先へ移動させる（ステップＳ３２４）。
ステップＳ３２４の後、メモリデバイス管理システム３０２は、図１４の処理を終了する。
【００９５】
以上のように、再利用空間決定部３２５は、対象メモリデバイス１４０が記憶するデータのうち、再利用するデータを決定する。移動先決定部３２６は、対象メモリデバイス１４０を構成する個々の不揮発メモリ１４３の特性に基づいて、再利用することに決定されたデータの移動先のメモリ領域を、対象メモリデバイス１４０内の何れかのメモリ領域に決定する。移動処理部３２７は、第１キーの値と第２キーの値とが同じであると判定された場合、再利用することに決定されたデータを、決定された移動先に移動させる。
メモリデバイス管理システム３０２によれば、アクセス頻度の高いデータをアクセス速度の速い不揮発メモリ１４３に配置することができ、この点で、ホストコンピュータ１００の処理の高速化が見込まれる。
【００９６】
＜第３実施形態＞
図１５は、第３実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。
図１５に示す構成で、メモリデバイス管理システム３０３は、第１キー記憶部３１１と、テーブルデータ記憶部３１２と、認証情報記憶部３１３と、構成変更フラグ記憶部３１４と、第１キー取得部３２１と、第２キー生成部３２２と、同一性判定部３２３と、データ消去処理部３２４と、再利用空間決定部３２５と、移動先決定部３２６と、移動処理部３２７と、正当性判定部３２８と、正当性処理部３２９とを備える。
【００９７】
また、図１５では、メモリデバイス管理システム３０３の各部が記憶部３３３または処理部３４３に分類されている。第１キー記憶部３１１と、テーブルデータ記憶部３１２と、認証情報記憶部３１３と、構成変更フラグ記憶部３１４とが、記憶部３３３に分類されている。第１キー取得部３２１と、第２キー生成部３２２と、同一性判定部３２３と、データ消去処理部３２４と、再利用空間決定部３２５と、移動先決定部３２６と、移動処理部３２７と、正当性判定部３２８と、正当性処理部３２９とが、処理部３４３に分類されている。
【００９８】
図１５の各部のうち、図８の各部に対応して同様の機能を有する部分には同一の符号（３１１、３１２、３２１、３２２、３２３、３２４、３２５、３２６、３２７）を付して説明を省略する。メモリデバイス管理システム３０３は、記憶部３３３が認証情報記憶部３１３と、構成変更フラグ記憶部３１４とを備え、処理部３４３が正当性判定部３２８と、正当性処理部３２９とを備える点で、メモリデバイス管理システム３０２（図８）の場合と異なる。それ以外の点では、メモリデバイス管理システム３０３はメモリデバイス管理システム３０２と同様であり、記憶部３３３は記憶部３３２と同様であり、処理部３４３は処理部３４２と同様である。
【００９９】
認証情報記憶部３１３は、認証情報を記憶する。この認証情報は、対象メモリデバイス１４０における不揮発メモリ１４３の構成が変更される場合に、権限を有する者による変更か否かを判定するために用いられる。権限を有する者による変更を、正当な変更と称する。
認証情報記憶部３１３が記憶する認証情報は、特定の認証方式のものに限定されない。例えば、認証情報記憶部３１３が、パスワード認証用のパスワードを記憶するようにしてもよい。あるいは、認証情報記憶部３１３が、指紋認証用の指紋データを記憶するようにしてもよい。あるいは、認証情報記憶部３１３が、複数の認証方式それぞれの認証情報を記憶するようにしてもよい。
【０１００】
構成変更フラグ記憶部３１４は、構成変更フラグを記憶する。構成変更フラグは、対象メモリデバイス１４０における不揮発メモリ１４３の構成が正当に変更されたことを示すフラグである。
以下では、構成変更フラグの値を「ＯＮ」または「ＯＦＦ」とする。構成変更フラグの値「ＯＮ」は、対象メモリデバイス１４０における不揮発メモリ１４３の構成の変更の権限ありと判定されたことを示す。構成変更フラグの値「ＯＦＦ」は、対象メモリデバイス１４０における不揮発メモリ１４３の構成の変更の権限ありとは判定されていないことを示す。したがって、構成変更フラグの値「ＯＦＦ」は、不揮発メモリ１４３の構成の変更が行われた場合は不正な変更であることを示す。
【０１０１】
正当性判定部３２８は、対象メモリデバイス１４０における不揮発メモリ１４３の構成が変更される場合に、変更者の認証を行うことで、正当な変更か否かを判定する。正当性判定部３２８は、対象メモリデバイス１４０の構成の変更が予告された場合に、構成変更のためにホストコンピュータ１００の電源が切断される前に、変更が正当か否かの判定を行い、判定結果を構成変更フラグの値に反映させる。
正当性判定部３２８は、ホストコンピュータ１００の電源接続後に、対象メモリデバイス１４０における不揮発メモリ１４３の構成が正当に変更されたか否かを判定する。具体的には、正当性判定部３２８は、構成変更フラグの値を参照することで、対象メモリデバイス１４０における不揮発メモリ１４３の構成が正当に変更されたか否かを判定する。
【０１０２】
図１６は、ホストコンピュータ１００のソフトウェアへの、メモリデバイス管理システム３０３の機能の割当の例を示す図である。図１６に示す構成で、ホストコンピュータ１００は、アプリケーション２１０と、ＯＳ２３０と、ＢＩＯＳ２５０とを備える。すなわち、ホストコンピュータ１００は、アプリケーション２１０と、ＯＳ２３０と、ＢＩＯＳ２５０とを実行する。
【０１０３】
ＯＳ２３０は、マッピング管理テーブル２３１と、アドレス管理テーブル２３２と、データ管理テーブル２３３と、不揮発メモリデバイス特性テーブル２３４と、認証情報２３５と、構成変更フラグ２３６と、データステージング部２４１と、データフラッシュ部２４２と、不揮発メモリデータ再配置部２４３と、正当性判定部２４４とを備える。すなわち、ホストコンピュータ１００は、ＯＳ２３０の機能の一部として、マッピング管理テーブル２３１と、アドレス管理テーブル２３２と、データ管理テーブル２３３と、不揮発メモリデバイス特性テーブル２３４と、認証情報２３５と、構成変更フラグ２３６とを記憶し、データステージング部２４１の機能、データフラッシュ部２４２の機能、不揮発メモリデータ再配置部２４３の機能、および、正当性判定部２４４の機能を実行する。
【０１０４】
ＢＩＯＳ２５０は、不揮発メモリ管理テーブル２５１と、不揮発メモリ管理初期化処理部２６１と、正当性処理部２６２とを備える。すなわち、ホストコンピュータ１００は、ＢＩＯＳ２５０の機能の一部として、不揮発メモリ管理テーブル２５１を記憶し、不揮発メモリ管理初期化処理部２６１の機能、および、正当性処理部２６２の機能を実行する。
図１６の各部のうち、図９の各部に対応して同様の機能を有する部分には、同一の符号（１００、２１０、２３０、２３１、２３２、２３３、２３４、２４１、２４２、２４３、２５０、２５１、２６１）を付して説明を省略する。図１６の構成を図９の構成と比較すると、図１６の構成では、ＯＳ２３０が、認証情報２３５と、構成変更フラグ２３６と、正当性判定部２４４とを備える点で、図９の構成と異なる。それ以外の点では、図１６の例は図９の場合と同様である。
【０１０５】
認証情報２３５は、認証情報記憶部３１３（図１５）が記憶する認証情報である。構成変更フラグ２３６は、構成変更フラグ記憶部３１４が記憶する構成変更フラグである。正当性判定部２４４は、正当性判定部３２８の機能を実行する。正当性処理部２６２は、正当性処理部３２９の機能を実行する。
【０１０６】
次に、図１７および図１８を参照してメモリデバイス管理システム３０３の動作について説明する。
図１７は、メモリデバイス管理システム３０３が構成変更フラグの値を設定する処理の手順の例を示す図である。メモリデバイス管理システム３０３は、対象メモリデバイス１４０における不揮発メモリ１４３の構成の変更が予告されると、図１７の処理を行う。対象メモリデバイス１４０における不揮発メモリ１４３の構成の変更の予告は、例えば、対象メモリデバイス１４０における不揮発メモリ１４３の構成を変更する者が、ユーザ操作によって行う。
【０１０７】
図１７の処理で、正当性判定部３２８は、対象メモリデバイス１４０における不揮発メモリ１４３の構成を変更する者が、権限を有する者であるか否かの認証処理を行う（ステップＳ４１１）。正当性判定部３２８は、認証情報記憶部３１３が記憶する認証情報を用いて認証処理を行う。上述したように、正当性判定部３２８が行う認証は、特定の種類の認証に限定されない。
次に、正当性判定部３２８は、認証に成功したか否かを判定する（ステップＳ４１２）。認証成功は、対象メモリデバイス１４０における不揮発メモリ１４３の構成を変更する者が、権限を有する者であることを示す。認証失敗は、対象メモリデバイス１４０における不揮発メモリ１４３の構成を変更する者が、権限をしていないことを示す。
【０１０８】
ステップＳ４１２で、認証に成功したと判定した場合（ステップＳ４１２：ＹＥＳ）、正当性判定部３２８は、構成変更フラグの値を「ＯＮ」に設定する（ステップＳ４２１）。
ステップＳ４２１の後、メモリデバイス管理システム３０３は、図１７の処理を終了する。
【０１０９】
一方、ステップＳ４１２で、認証に失敗したと判定した場合（ステップＳ４１２：ＮＯ）、正当性判定部３２８は、構成変更フラグの値を「ＯＦＦ」に設定する（ステップＳ４２１）。
ステップＳ４２１の後、メモリデバイス管理システム３０３は、図１７の処理を終了する。
構成変更フラグの改ざん防止策が施されていてもよい。例えば構成変更フラグが暗号化されていてもよい。
【０１１０】
図１８は、メモリデバイス管理システム３０３がホストコンピュータ１００の電源の接続後に行う処理の手順の例を示す図である。例えば、メモリデバイス管理システム３０３は、ホストコンピュータ１００の起動時に図１９の処理を行う。
図１８の処理で、正当性処理部３２９は、構成変更フラグの値が「ＯＮ」になっているか否かを判定する（ステップＳ５１１）。
【０１１１】
構成変更フラグの値が「ＯＮ」になっていると正当性処理部３２９が判定した場合（ステップＳ５１１：ＹＥＳ）、メモリデバイス管理システム３０３は、図６の処理を行う（ステップＳ５２１）。メモリデバイス管理システム３０３は、図６の処理を行うことで、第１キーを生成し、第１キー記憶部３１１に記憶させる。
ステップＳ５２１の後、正当性処理部３２９は、構成変更フラグの値を「ＯＦＦ」に設定する（ステップＳ５２２）。
ステップＳ５２２の後、メモリデバイス管理システム３０３は図１８の処理を終了する。
【０１１２】
一方、ステップＳ５１１で、構成変更フラグの値が「ＯＦＦ」になっていると正当性処理部３２９が判定した場合（ステップＳ５１１：ＮＯ）、メモリデバイス管理システム３０３は、図１４の処理を行う（ステップＳ５３１）。
ステップＳ５３１の後、メモリデバイス管理システム３０３は図１８の処理を終了する。
【０１１３】
以上のように、正当性判定部３２８は、対象メモリデバイス１４０の不揮発メモリ１４３の構成が変更される場合に変更の正当性を判定する。正当性処理部３２９は、変更が正当であると判定された場合、データ消去処理部３２４によるデータの消去を抑制する。
これにより、対象メモリデバイス１４０から１個以上の不揮発メモリ１４３を抜き取って他の用途に用いることができ、この点でメモリを有効活用することができる。かつ、対象メモリデバイス１４０の不揮発メモリ１４３の構成が正当に変更されたと判定されることで、対象メモリデバイス１４０が記憶しているデータを再利用することができ、この点でホストコンピュータ１００の処理の高速化を図ることができる。
このように、メモリデバイス管理システム３０３によれば、不揮発メモリ１４３の有効活用と、ホストコンピュータ１００の処理の高速化との両立を図ることができる。
【０１１４】
次に、図１９および図２０を参照して、本発明の実施形態の構成について説明する。
図１９は、実施形態に係るメモリデバイス管理システムの構成の例を示す図である。図１９に示すメモリデバイス管理システム１０は、第１キー取得部１１と、第２キー生成部１２と、同一性判定部１３と、データ消去処理部１４とを備える。
【０１１５】
かかる構成で、第１キー取得部は、第１キーを取得する。第２キー生成部１２は、管理対象のメモリデバイスの構成に応じた第２キーを生成する。同一性判定部１３は、第１キーの値と第２キーの値との同一性を判定する。データ消去処理部１４は、第１キーの値と第２キーの値とが異なると判定された場合、管理対象のメモリデバイスが記憶しているデータを消去させる。
メモリデバイス管理システム１０によれば、第１キーの値と第２キーの値との比較により、メモリデバイスにおけるメモリの構成が変更されている場合、および、メモリデバイスが他の装置から取り外されて、メモリデバイス管理システム１０の処理対象のコンピュータに搭載された場合といった不正の可能性がある場合を検出することができる。
【０１１６】
メモリデバイスにおけるメモリの構成の変更が検出されない場合、不正の可能性は比較的低いと考えられる。この場合、メモリデバイス管理システム１０は、メモリデバイスが記憶しているデータを消去しない。メモリデバイスが記憶しているデータを利用することで、例えばハードディスク等の二次記憶からメモリデバイスへデータをアップロードし直す必要がない。この点で、メモリデバイ椅子が記憶しているデータの有効活用を図ることができる。
【０１１７】
一方、変更が検出された場合、不正の可能性が比較的高いと考えられる。この場合、メモリデバイス管理システム１０は、メモリデバイスが記憶しているデータを消去する。これにより、メモリデバイスが記憶していたデータが不正に取得される可能性を低減させることができる。この点で、メモリデバイスが記憶していたデータの不正防止を図ることができる。
メモリデバイス管理システム１０によれば、このように、メモリデバイスが記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
【０１１８】
図２０は、実施形態に係るメモリデバイス管理方法における処理手順の例を示す図である。
図２０に示すメモリデバイス管理方法は、第１キー取得工程（ステップＳ１１）と、第２キー生成工程（ステップＳ１２）と、同一性判定ステップ（ステップＳ１３）と、データ消去工程（ステップＳ２１）とを含む。
【０１１９】
かかる構成で、第１キー取得工程（ステップＳ１１）では、第１キーを取得する。第２キー生成工程（ステップＳ１２）では、管理対象のメモリデバイスの構成に応じた第２キーを生成する。同一性判定ステップ（ステップＳ１３）は、第１キーの値と第２キーの値との同一性を判定する。データ消去工程（ステップＳ２１）では、第１キーの値と第２キーの値とが異なると判定された場合に、メモリデバイスが記憶しているデータを消去させる。
【０１２０】
図２０のメモリデバイス管理方法によれば、第１キーの値と第２キーの値との比較により、メモリデバイスにおけるメモリの構成が変更されている場合、および、メモリデバイスが他の装置から取り外されて、メモリデバイス管理方法の適用対象のコンピュータに搭載された場合といった不正の可能性がある場合を検出することができる。
【０１２１】
メモリデバイスにおけるメモリの構成の変更が検出されない場合、不正の可能性は比較的低いと考えられる。この場合、図２０のメモリデバイス管理方法では、メモリデバイスが記憶しているデータを消去しない。メモリデバイスが記憶しているデータを利用することで、例えばハードディスク等の二次記憶からメモリデバイスへデータをアップロードし直す必要がない。この点で、メモリデバイ椅子が記憶しているデータの有効活用を図ることができる。
【０１２２】
一方、変更が検出された場合、不正の可能性が比較的高いと考えられる。この場合、メモリデバイス管理方法では、メモリデバイスが記憶しているデータを消去する。これにより、メモリデバイスが記憶していたデータが不正に取得される可能性を低減させることができる。この点で、メモリデバイスが記憶していたデータの不正防止を図ることができる。
図２０のメモリデバイス管理方法によれば、このように、メモリデバイスが記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
【０１２３】
図２１は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図２１に示す構成で、コンピュータ７００は、ＣＰＵ（Central Processing Unit）７１０と、主記憶装置７２０と、補助記憶装置７３０と、インタフェース７４０とを備える。
上記のメモリデバイス管理システム３０１、３０２および３０３のうち何れか１つ以上が、コンピュータ７００に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置７３０に記憶されている。ＣＰＵ７１０は、プログラムを補助記憶装置７３０から読み出して主記憶装置７２０に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ７１０は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置７２０に確保する。各装置と他の装置との通信は、インタフェース７４０が通信機能を有し、ＣＰＵ７１０の制御に従って通信を行うことで実行される。補助記憶装置７３０は、たとえば、CD(Compact Disc)や、DVD(digital versatile disc)等の不揮発性(non-transitory)記録媒体である。
【０１２４】
メモリデバイス管理システム３０１がコンピュータ７００に実装される場合、処理部３４１の各部の動作は、プログラムの形式で補助記憶装置７３０に記憶されている。ＣＰＵ７１０は、プログラムを補助記憶装置７３０から読み出して主記憶装置７２０に展開し、当該プログラムに従って上記処理を実行する。
また、ＣＰＵ７１０は、プログラムに従って、記憶部３３１の各部に対応する記憶領域を主記憶装置７２０に確保する。
【０１２５】
メモリデバイス管理システム３０２がコンピュータ７００に実装される場合、処理部３４２の各部の動作は、プログラムの形式で補助記憶装置７３０に記憶されている。ＣＰＵ７１０は、プログラムを補助記憶装置７３０から読み出して主記憶装置７２０に展開し、当該プログラムに従って上記処理を実行する。
また、ＣＰＵ７１０は、プログラムに従って、記憶部３３２の各部に対応する記憶領域を主記憶装置７２０に確保する。
【０１２６】
メモリデバイス管理システム３０３がコンピュータ７００に実装される場合、処理部３４３の各部の動作は、プログラムの形式で補助記憶装置７３０に記憶されている。ＣＰＵ７１０は、プログラムを補助記憶装置７３０から読み出して主記憶装置７２０に展開し、当該プログラムに従って上記処理を実行する。
また、ＣＰＵ７１０は、プログラムに従って、記憶部３３３の各部に対応する記憶領域を主記憶装置７２０に確保する。
【０１２７】
なお、メモリデバイス管理システム３０１、３０２、または、３０３が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳ（Operating System）や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Read Only Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１２８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１２９】
１  サーバクライアントシステム
１０、３０１、３０２、３０３  メモリデバイス管理システム
１００  ホストコンピュータ
１１０  通信装置
１２０  ＣＰＵ
１３０  Ｌ１キャッシュ
１４０  対象メモリデバイス
１４１  ＤＩＭＭ
１４２  不揮発メモリ群
１４３  不揮発メモリ
１５０  ハードディスク
２１０  アプリケーション
２３０  ＯＳ
２３１  マッピング管理テーブル
２３２  アドレス管理テーブル
２３３  データ管理テーブル
２３４  不揮発メモリデバイス特性テーブル
２３５  認証情報
２３６  構成変更フラグ
２４１  データステージング部
２４２  データフラッシュ部
２４３  不揮発メモリデータ再配置部
２４４  正当性判定部
２５０  ＢＩＯＳ
２５１  不揮発メモリ管理テーブル
２６１  不揮発メモリ管理初期化処理部
３１１  第１キー記憶部
３１２  テーブルデータ記憶部
３１３  認証情報記憶部
３１４  構成変更フラグ記憶部
３２１  第１キー取得部
３２２  第２キー生成部
３２３  同一性判定部
３２４  データ消去処理部
３２５  再利用空間決定部
３２６  移動先決定部
３２７  移動処理部
３２８  正当性判定部
３２９  正当性処理部
３３１、３３２、３３３  記憶部
３４１、３４２、３４３  処理部
９１０  クライアント装置
９２０  通信ネットワーク
【図１】
0006954340.tif 000002
【図２】
0006954340.tif 000003
【図３】
0006954340.tif 000004
【図４】
0006954340.tif 000005
【図５】
0006954340.tif 000006
【図６】
0006954340.tif 000007
【図７】
0006954340.tif 000008
【図８】
0006954340.tif 000009
【図９】
0006954340.tif 000010
【図１０】
0006954340.tif 000011
【図１１】
0006954340.tif 000012
【図１２】
0006954340.tif 000013
【図１３】
0006954340.tif 000014
【図１４】
0006954340.tif 000015
【図１５】
0006954340.tif 000016
【図１６】
0006954340.tif 000017
【図１７】
0006954340.tif 000018
【図１８】
0006954340.tif 000019
【図１９】
0006954340.tif 000020
【図２０】
0006954340.tif 000021
【図２１】
0006954340.tif 000022