(57)【要約】【課題】データ処理装置において不揮発性記憶装置を用いる場合のオーバーヘッドを低減する。【解決手段】主記憶装置の少なくとも一部に不揮発性記憶装置１０を用いるデータ処理装置であって、不揮発性記憶装置１０は１以上の記憶領域に区分され、データ処理装置のカーネル６１は、アプリケーション６０から不揮発性記憶装置１０の記憶領域の利用を要求された場合、このアプリケーション６０に不揮発性記憶装置１０における所定の記憶領域を割り当てる。このとき、アプリケーション６０に対し割り当てた記憶領域の情報をＭＭＵへの指示情報１２として記録し、以降、このアプリケーション６０はこのＭＭＵへの指示情報１２に基づき、カーネル６１を経由せず、直接不揮発性記憶装置１０へアクセスする。【選択図】図２
2007213473.tif 000002
【特許請求の範囲】
【請求項１】
主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理装置であって、
前記不揮発性記憶装置は１以上の記憶領域に区分され、
プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに前記不揮発性記憶装置における所定の記憶領域を利用させる処理部を備えることを特徴とするデータ処理装置。
【請求項２】
前記データ処理装置は、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの識別情報とを対応付けた対応関係テーブルをさらに備え、
前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置は、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの利用者の属性情報とを対応付けた対応関係テーブルをさらに備え、
前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの利用者の属性情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させることを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記対応関係テーブルは、前記記憶領域において前記プログラムに許可される利用形態をさらに含み、
前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報および前記利用者の属性情報の少なくとも一方と、前記利用を要求された記憶領域と、その記憶領域の利用形態との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させることを特徴とする請求項２または請求項３に記載のデータ処理装置。
【請求項５】
前記処理部は、前記プログラムに前記不揮発性記憶装置の記憶領域を利用させるとき、前記プログラムに対し割り当てた前記不揮発性記憶装置の記憶領域の情報を記憶装置に記録し、少なくとも前記プログラムが終了するまで、前記プログラムに前記記憶領域の情報に示される記憶領域を利用させることを特徴とする請求項１ないし請求項４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記プログラムによる前記不揮発性記憶装置の記憶領域の利用は、前記記憶領域へのデータの記録および前記記憶領域からのデータの読み出しの少なくとも一方であることを特徴とする請求項１ないし請求項５のいずれか１項に記載のデータ処理装置。
【請求項７】
前記処理部は、前記データ処理装置において不揮発に記録する必要のあるデータを、前記不揮発性記憶装置に記録した後、前記記録したデータを、当該不揮発性記憶装置以外の記憶装置へ移し変えることを特徴とする請求項１ないし請求項６のいずれか１項に記載のデータ処理装置。
【請求項８】
前記不揮発性記憶装置の少なくとも一部にバッテリによりバックアップされた揮発性記憶装置を用いることを特徴とする請求項１ないし請求項７のいずれか１項に記載のデータ処理装置。
【請求項９】
主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理方法であって、
前記不揮発性記憶装置を備えるデータ処理装置の処理部が、
プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに、１以上の記憶領域に区分され、前記不揮発性記憶装置の記憶領域のうち、所定の記憶領域を利用させることを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶装置を用いるデータ処理技術に関する。
【背景技術】
【０００２】
現在の大半の計算機は、ＣＰＵ（Central Processing Unit）から直接アクセスできる主記憶装置を必要としており、この主記憶装置には一般にＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）等の揮発性記憶装置が用いられる。この揮発性記憶装置は、電源の供給を停止すると情報を保持できないので、電源の供給を停止しても情報を保持する必要がある場合には、別途、不揮発性記憶装置を用いる。この場合、不揮発性記憶装置としては、ディスク装置等を用いるのが一般的である。ディスク装置等は、ＣＰＵから直接読み書きできないため、ＣＰＵはコントローラを経由してディスク装置等を操作し、この操作の結果として主記憶装置へ情報を転送する。また、ＣＰＵが主記憶装置の情報をディスク装置等に転送するときも、このコントローラを経由する。ここで、コントローラの操作を任意のプログラムに許すと、任意のプログラムが任意のファイルの読み書きできることになってしまう。そこで、このような事態を避ける必要のある計算機においては、特定の管理プログラム（カーネル）だけがコントローラを操作できるようにする構成をとるのが一般的である。
【０００３】
このような構成において、カーネル以外のプログラムはディスク装置上に記憶された情報をファイルとしてアクセスする。ディスク装置は機械装置であり、そのアクセス時間は、ＣＰＵの処理時間に対して非常に長い。従って、機械装置の遅さと比較すると、カーネルに処理を依頼することに起因するオーバーヘッドは比較的受け入れやすい。
【０００４】
ところが、計算機の大きさや許容できる消費電力、許容すべき衝撃等の観点から、不揮発性記憶装置としてディスク装置を用いることができない場合がある。このような場合、ディスク装置の代わりにディスク装置以外の不揮発性記憶装置や、バッテリ付き揮発性記憶装置を用いる。以下の非特許文献１には、不揮発性記憶装置であるＭＲＡＭ（磁気抵抗メモリ、Magnetoresistive Random Access Memory）をファイルとして用いる技術が開示されている。
【非特許文献１】“HeRMES：High-performance Reliable MRAM-Enabled Strage”,[online]、[2006年1月27日検索]、インターネット、<URL:http://www.cs.ucsc.edu/~elm/Papers/hotos01.pdf>
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ディスク装置の代わりにＭＲＡＭ等の不揮発性記憶装置や、バッテリ付き揮発性記憶装置を用いる場合、ＣＰＵが直接これらの記憶装置にアクセスできるような構成をとることが自然である。そして、このような構成では、管理プログラムによる不揮発性記憶装置のプログラムへの割り当て操作の後、この不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要であり、オーバーヘッドなしに高速に読み書きすることも可能と考えられる。
【０００６】
しかしながら、従前のプログラムはこのような構成においてもディスク装置上のファイルのような利用形態をとることが多い。つまり、ディスク装置以外の不揮発性記憶装置を利用する場合も、ディスク装置を利用する場合の制約も再現しており、そのため不必要なオーバーヘッドが生じるという問題がある。
【０００７】
なお、現在の計算機はパイプラインやキャッシュ等のメカニズムを用いて処理速度を得ているが、あるプログラムから他のプログラムを呼び出すようなことをすると、これらのメカニズムの効果が減少することがよく知られている。また、一般に、ディスク装置を搭載しない計算機は処理能力も乏しいことが多いので、前記したオーバーヘッドの影響は大きい。
【０００８】
例えば、携帯電話機の操作を例に取ると、利用者が携帯電話機でゲームをしている最中に、その携帯電話機の別の機能を利用するための操作をしたとき、その機能を実際に利用できるようになるまでの応答時間に影響するという問題がある。
【０００９】
本発明は、前記した問題を解決し、不揮発性記憶装置を用いる場合のオーバーヘッドを低減するデータ処理装置等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記した課題を解決するため、請求項１に記載のデータ処理装置は、主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理装置であって、前記不揮発性記憶装置は１以上の記憶領域に区分され、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに前記不揮発性記憶装置における所定の記憶領域を利用させる処理部を備える構成とした。
【００１１】
このような構成によれば、データ処理装置は、プログラムから不揮発性記憶装置の記憶領域の利用要求（例えば、読み込み要求や書き込み要求）がされたとき、このプログラムに不揮発性記憶装置の記憶領域を主記憶（主記憶装置）として利用させる。従って、プログラムによる不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要であり、データ処理装置は、オーバーヘッドなしに高速に読み書きすることができる。
【００１２】
請求項２に記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの識別情報とを対応付けた対応関係テーブルをさらに備え、前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させる構成とした。
【００１３】
このような構成によれば、データ処理装置は、対応関係テーブルに登録された所定のプログラムが所定の記憶領域に対し利用要求をした場合に、当該記憶領域を利用させる。従って、データ処理装置は不揮発性記憶装置へのアクセスを、対応関係テーブルで許可されている範囲に限定することができる。
【００１４】
請求項３に記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの利用者の属性情報とを対応付けた対応関係テーブルをさらに備え、前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの利用者の属性情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させる構成とした。
【００１５】
このような構成によれば、データ処理装置は、対応関係テーブルに登録された所定の利用者により操作されるプログラムが所定の記憶領域に対し利用要求した場合に、当該記憶領域を利用させる。従って、データ処理装置は不揮発性記憶装置へのアクセスを、対応関係テーブルで許可されている範囲に限定することができる。
【００１６】
請求項４に記載のデータ処理装置は、請求項２または請求項３に記載のデータ処理装置において、前記対応関係テーブルは、前記記憶領域において前記プログラムに許可される利用形態をさらに含み、前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報および前記利用者の属性情報の少なくとも一方と、前記利用を要求された記憶領域と、その記憶領域の利用形態との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させる構成とした。
【００１７】
このような構成によれば、データ処理装置は、利用要求の要求元のプログラムに当該記憶領域の利用をさせるか否かを判断するとき、要求している利用形態（例えば、記憶領域に対する読み込みか書き込みか）も含めて判断することができる。従って、データ処理装置は不揮発性記憶装置へのアクセスを、対応関係テーブルで許可されている範囲に限定することができる。
【００１８】
請求項５に記載のデータ処理装置は、請求項１ないし請求項４のいずれか１項に記載のデータ処理装置において前記処理部は、前記プログラムに前記不揮発性記憶装置の記憶領域を利用させるとき、前記プログラムに対し割り当てた前記不揮発性記憶装置の記憶領域の情報を記憶装置に記録し、少なくとも前記プログラムが終了するまで、前記プログラムに前記記憶領域の情報に示される記憶領域を利用させる構成とした。
【００１９】
このような構成によれば、データ処理装置は、利用を許可したプログラムに対し割り当てた不揮発性記憶装置の記憶領域の情報を記録する。そして、少なくともこのプログラムが終了するまでは、当該プログラムにこの情報に示される記憶領域を利用させる。つまり、このような情報を記録した後は、プログラムによる不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要となる。したがって、データ処理装置は、オーバーヘッドなしに高速に読み書きすることができる。なお、プログラムに対し割り当てた不揮発性記憶装置の記憶領域の情報は、例えば、ＭＭＵ（Memory Management Unit）への指示情報として設定される。
【００２０】
請求項６に記載のデータ処理装置は、請求項１ないし請求項５のいずれか１項に記載のデータ処理装置において、前記プログラムによる前記不揮発性記憶装置の記憶領域の利用は、前記記憶領域へのデータの記録および前記記憶領域からのデータの読み出しの少なくとも一方とする構成とした。
【００２１】
このような構成によれば、データ処理装置は、プログラムに対し、不揮発性記憶装置の記憶領域へのデータの記録（書き込み）およびデータの読み出し（読み込み）の少なくとも一方をさせることができる。
【００２２】
請求項７に記載のデータ処理装置は、請求項１ないし請求項６のいずれか１項に記載のデータ処理装置において前記処理部は、前記データ処理装置において不揮発に記録する必要のあるデータを、前記不揮発性記憶装置に記録した後、前記記録したデータを、前記不揮発性記憶装置以外の記憶装置へ移し変える構成とした。
【００２３】
このような構成によれば、データ処理装置は、不揮発性記憶装置にデータを記録した時点で、このデータを失うおそれがなくなるので、この不揮発性記憶装置以外の記憶装置（例えば、ディスク装置等）への操作を完了することなく次の操作に入ることができる。また、このようなデータ処理装置は、ディスク装置等の記憶装置への操作をまとめて行うことができるため、スループットを改善することができる。
【００２４】
請求項８に記載のデータ処理装置は、請求項１ないし請求項７のいずれか１項に記載のデータ処理装置において前記不揮発性記憶装置の少なくとも一部にバッテリによりバックアップされた揮発性記憶装置を用いる構成とした。
【００２５】
このような構成によれば、データ処理装置の不揮発性記憶装置の一部にバッテリによりバックアップされた揮発性記憶装置を用いた場合でも、オーバーヘッドなしに高速に読み書きすることができる。
【００２６】
請求項９に記載のデータ処理方法は、主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理方法であって、前記不揮発性記憶装置を備えるデータ処理装置の処理部が、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに、１以上の記憶領域に区分され、た前記不揮発性記憶装置の記憶領域のうち、所定の記憶領域を利用させる方法とした。
【００２７】
このような方法によれば、データ処理装置の処理部が、プログラムから不揮発性記憶装置の記憶領域の利用要求（例えば、読み込み要求や書き込み要求）がされたとき、このプログラムに不揮発性記憶装置の記憶領域を主記憶（主記憶装置）として利用させる。従って、プログラムによる不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要であり、データ処理装置は、オーバーヘッドなしに高速に読み書きすることができる。
【発明の効果】
【００２８】
本発明によれば、計算機等のデータ処理装置等が不揮発性記憶装置を用いる場合のオーバーヘッドを低減することができる。
【発明を実施するための最良の形態】
【００２９】
＜第１の実施の形態＞
以下、図面を参照しながら、本発明を実施するための最良の形態（以下、実施の形態とする）を説明する。まず、本発明の第１の実施の形態を説明する。
図１は、本発明の実施の形態のデータ処理装置のハードウェア構成例を示した図である。
図１に示すように、データ処理装置は、ＣＰＵ（Central Processing Unit）２０と、主記憶装置（メインメモリ）である不揮発性記憶装置１０および揮発性記憶装置３０と、補助記憶装置であるディスク装置４０と、入出力装置５０とを備える。これらの各装置は、バス７０により接続される。
【００３０】
ＣＰＵ２０は、ディスク装置４０（あるいは不揮発性記憶装置１０）に格納されるプログラム（例えば、アプリケーションプログラム、カーネル等）を実行する。
ＣＰＵ２０には、ＭＭＵ２１が内蔵され、ＣＰＵ２０がバス７０経由で各記憶装置へ行うアクセスはすべてＭＭＵ２１の監視下にある。つまり、ＭＭＵ２１は動作中のプログラムが誤った記憶領域にアクセスしないようにする。なお、動作中のプログラムがどの記憶領域にアクセスしてよいかに関する情報（ＭＭＵへの指示情報）は、例えば、不揮発性記憶装置１０に記録され、カーネル以外は変更できないようになっている。なお、請求項における処理部は、前記したＣＰＵ２０がカーネルとして機能することにより実現される。
【００３１】
不揮発性記憶装置１０は、例えば、前記したＭＲＡＭやＦｅＲＡＭ（強誘電体メモリ、Ferroelectric Random Access Memory）等を用いる。揮発性記憶装置３０は、例えば、ＤＲＡＭ等を用いる。不揮発性記憶装置１０および揮発性記憶装置３０は主記憶装置であり、ＣＰＵ２０から直接読み書きされる構成となっている。なお、本実施の形態における主記憶装置は、少なくとも不揮発性記憶装置１０を備えればよく、揮発性記憶装置３０は必須の構成ではない。ディスク装置４０は、カーネルを含むＯＳ（Operating System）、アプリケーションプログラム（以下、アプリケーションとする）等の各種プログラムやデータ等を格納する。
【００３２】
なお、ディスク装置４０に格納されるプログラムは、不揮発性記憶装置１０等、ディスク装置４０以外の記憶装置に格納するようにしてもよい。この場合、データ処理装置はディスク装置４０を備える必要はない。
【００３３】
入出力装置５０は、キーボードやマウス等のデータ入力手段や、液晶モニタやプリンタ等のデータ出力手段により構成される。データ処理装置の利用者は、この入出力装置５０によりアプリケーションに対する各種指示入力を行い、アプリケーションを操作する。
【００３４】
次に、図２を用いて、図１のデータ処理装置の機能を詳細に説明する。
図２は、図１のデータ処理装置を機能展開して示したブロック図である。
【００３５】
データ処理装置は、不揮発性記憶装置１０と、揮発性記憶装置３０と、ＭＭＵ２１と、アプリケーション６０と、カーネル６１と、対応関係テーブル１１とを備える。ここでは、図１のディスク装置４０、バス７０、入出力装置５０の説明は省略している。なお、アプリケーション６０およびカーネル６１の機能は、ＣＰＵ２０によるプログラムの実行処理により実現される。
【００３６】
カーネル６１は、アプリケーション６０から不揮発性記憶装置１０の記憶領域の利用要求を受け付けたとき、このアプリケーション６０が不揮発性記憶装置１０を利用してよいか否かの判断を行う。また、このアプリケーション６０が不揮発性記憶装置１０を利用してよいと判断したとき、このアプリケーション６０がこの不揮発性記憶装置１０を利用するために必要な情報を出力する。なお、ここでの不揮発性記憶装置１０の利用とは、この不揮発性記憶装置１０への書き込み操作や読み込み操作である。
【００３７】
対応関係テーブル１１は、不揮発性記憶装置１０の記憶領域を示す情報と、この記憶領域に対し利用権限があるアプリケーション６０の識別情報とを対応付けた情報である。図２に例示する対応関係テーブル１１には、不揮発性記憶装置１０の領域と、その領域の範囲のアドレスと、この領域の利用が許可される（利用権限がある）アプリケーション６０の情報と、このアプリケーション６０に許可される利用形態等の情報が含まれる。このアプリケーション６０の情報は、ここではディレクトリで記述されているが、アプリケーション６０の識別情報であってもよい。
【００３８】
例えば、図２に例示する対応関係テーブル１１において、「/usr/local/bin/apache」のアプリケーション６０は、「領域１（0X500000〜0x5FFFFF）」に対し「読み込みおよび書き込み」が許可されていることを示す。不揮発性記憶装置１０は、この対応関係テーブル１１に従い、１以上の記憶領域に区分され、利用されることになる。なお、この対応関係テーブル１１は、例えば、不揮発性記憶装置１０に格納される。
【００３９】
カーネル６１は、アプリケーション６０の情報管理を行う情報管理部６２と、不揮発性記憶要求受付部６３とを備える。不揮発性記憶要求受付部６３は、情報管理部６２から得たアプリケーション６０の情報および対応関係テーブル１１を参照して、利用要求の要求元であるアプリケーション６０に対し、不揮発性記憶装置１０の利用を許可するか否か判断する。
【００４０】
例えば、不揮発性記憶要求受付部６３は、アプリケーション６０から不揮発性記憶装置１０の利用要求を受け付けたとき、情報管理部６２により、このアプリケーション６０の情報を得る。ここで得る情報は、例えば、「/usr/local/bin/apache」のアプリケーション６０が、不揮発性記憶装置１０の「領域１」という記憶領域に対し「書き込み」を要求しているといった情報である。このような情報を得た不揮発性記憶要求受付部６３は、アプリケーション６０に対し、不揮発性記憶装置１０の利用を許可するか否か判断する。
【００４１】
例えば、図２に示した対応関係テーブル１１には「/usr/local/bin/apache」のアプリケーション６０は、「領域１」に対し「読み込みと書き込み」が許可されているので、不揮発性記憶要求受付部６３は、このアプリケーション６０に対し、不揮発性記憶装置１０の利用を許可すると判断する。
【００４２】
このような判断をした後、不揮発性記憶要求受付部６３は、ＭＭＵ２１に対し、アプリケーション６０が不揮発性記憶装置１０を利用するのに必要な情報（例えば、「/usr/local/bin/apache」のアプリケーション６０に対し、「領域１」の「書き込み」を許可するというＭＭＵ２１への指示情報）をＭＭＵ２１へ出力する。つまり、アプリケーション６０に対し、不揮発性記憶装置１０の記憶領域の割り当てを行う。なお、このＭＭＵ２１への指示情報（図２の符号１２参照）は、例えば、揮発性記憶装置３０に記録される。
【００４３】
そして、このような処理の後、アプリケーション６０が不揮発性記憶装置１０の「領域１」の記憶領域に書き込みをするときには、カーネル６１を経由せず直接書き込みをすることができる。つまり、カーネル６１が、どのアプリケーション６０に対し、どの記憶領域に、どのような利用形態を許可したか、という情報（ＭＭＵへの指示情報１２）を揮発性記憶装置３０に記録しておくので、アプリケーション６０は不揮発性記憶装置１０を利用するたびに、カーネル６１に対し利用許可の確認をする必要がなくなる。なお、ＭＭＵへの指示情報１２は不揮発性記憶装置１０に記録してもよいし、ＭＭＵ２１自体に記録するようにしてもよい。
【００４４】
また、ここでは詳細な説明を省略したが、アプリケーション６０が揮発性記憶装置３０に対する操作（読み込みや書き込み）をするときも同様の処理を行う。すなわち、データ処理装置は、揮発性記憶装置３０の記憶領域を示す情報と、この記憶領域に対し利用権限があるアプリケーション６０の識別情報とを対応付けた揮発性記憶装置３０に関する対応関係テーブルを備え、この対応関係テーブルにより揮発性記憶装置３０の利用を許可するか否か判断する。そして、揮発性記憶装置３０の利用が許可された場合、アプリケーション６０は揮発性記憶装置３０に対する操作（読み込み操作や書き込み操作）を行う。
【００４５】
次に、図３のフローチャートを用いて、図２のデータ処理装置の動作手順を説明する。
図３は、図２のデータ処理装置の動作手順を示したフローチャートである。
まず、入出力装置５０（図１参照）からの指示入力等により、アプリケーション６０が起動される。そして、アプリケーション６０が、不揮発性記憶装置１０の記憶領域の利用要求をカーネル６１に対して行うと（Ｓ３０１）、カーネル６１は以下のようにしてアプリケーション６０が直接不揮発性記憶装置１０を利用するための初期化を行う。
【００４６】
すなわち、カーネル６１の不揮発性記憶要求受付部６３は、アプリケーション６０から不揮発性記憶装置１０の利用要求を受け付ける。なお、この利用要求は、利用対象となる不揮発性記憶装置１０の記憶領域の情報と、この記憶領域における利用形態（読み込みか、書き込みか等）に関する情報と、このアプリケーション６０の識別情報とを含む。次に、不揮発性記憶要求受付部６３は、情報管理部６２により、この利用要求の要求元のアプリケーション６０の情報を取得する（Ｓ３０２）。例えば、不揮発性記憶要求受付部６３は、「/usr/local/bin/apache」のアプリケーション６０が「領域１」に対し「書き込み」を要求しているという情報を取得する。不揮発性記憶要求受付部６３は、Ｓ３０２で取得したアプリケーション６０の情報と、対応関係テーブル１１（図２参照）とを参照して、このアプリケーション６０に当該記憶領域を当該利用形態で利用させてよいか否かを判断する（Ｓ３０３）。
【００４７】
不揮発性記憶要求受付部６３は、要求元のアプリケーション６０の識別情報と、利用要求の対象となる記憶領域と、利用形態との組み合わせについて対応関係テーブル１１を参照し、この利用要求を受け入れてよいと判断した場合に（Ｓ３０３の“Ｙ”）、ＭＭＵへの指示情報１２等を操作し、この利用要求を受け入れるように設定する（Ｓ３１０）。
つまり、不揮発性記憶要求受付部６３は、要求元のアプリケーション６０の識別情報と、利用要求の対象である記憶領域と、利用要求の対象である利用形態との組み合わせが対応関係テーブル１１において利用許可の対象として登録されている場合、ＭＭＵへの指示情報１２等を操作し、この利用要求を受け入れるように設定する。
【００４８】
次に、不揮発性記憶要求受付部６３は、この利用要求を受け入れる旨を、要求元であるアプリケーション６０へ応答する（Ｓ３１１）。ここで、アプリケーション６０が当該記憶領域を利用するために必要な情報がある場合は、この応答とともに、当該記憶領域を利用するために必要な情報もアプリケーション６０に通知する。
【００４９】
Ｓ３０３からＳ３１１までの処理が完了した後、アプリケーション６０は、不揮発性記憶装置１０における当該記憶領域の読み込み操作および書き込み操作を直接行えるようになる（Ｓ３１２）。つまり、不揮発性記憶装置１０の操作（読み込み操作および書き込み操作）のオーバーヘッドが低減できる。この状態は、アプリケーション６０が終了するか、不揮発性記憶要求受付部６３が当該利用を停止するまで継続される。
【００５０】
なお、アプリケーション６０が終了し、再起動したときには、Ｓ３１２においてアプリケーション６０により読み書きされたデータは、Ｓ３０１〜Ｓ３１１の処理を再度実行することで、再び読み出すことができる。
【００５１】
一方、不揮発性記憶要求受付部６３は、要求元のアプリケーション６０の識別情報と、利用要求の対象となる記憶領域と、利用形態との組み合わせについて対応関係テーブル１１を参照し、この利用要求を受け入れないと判断した場合に（Ｓ３０３の“Ｎ”）、アプリケーション６０に当該記憶領域を当該利用形態で利用できない旨の応答を行う（Ｓ３０５）。このようにすることで、不揮発性記憶装置１０を各アプリケーション６０に適切に利用させ、不揮発性記憶装置１０におけるセキュリティを保護することができる。
【００５２】
＜第２の実施の形態＞
次に、本発明の第２の実施の形態を説明する。第２の実施の形態は、データ処理装置が、アプリケーション６０の利用者の確認を行い、所定の利用者が操作を行っていることが確認できたときに、このアプリケーション６０に不揮発性記憶装置１０の利用を許可することを特徴とする。
【００５３】
図４は、第２の実施の形態のデータ処理装置を機能展開して示したブロック図である。前記した第１の実施の形態と同様の構成要素は同じ符号を付して、説明を省略する。
第２の実施の形態のデータ処理装置は、対応関係テーブル１１における「利用を許可するアプリケーション」の代わりに、「利用を許可する利用者」の情報（例えば、利用者の属性情報や利用者の識別情報）を示した対応関係テーブル１３を用いる。
【００５４】
例えば、図４に例示した対応関係テーブル１３において、「apache管理者」からの操作により動作しているアプリケーション６０は、「領域１（0X500000〜0x5FFFFF）」に対し「読み込みと書き込み」が許可されていることを示す。なお、この対応関係テーブル１３は、例えば、不揮発性記憶装置１０に格納される。また、情報管理部６２は、アプリケーション６０を操作している利用者の情報（例えば、利用者の属性情報や利用者の識別情報等）を取得する機能を備える。
【００５５】
図５は、図４のデータ処理装置の動作手順を示したフローチャートである。
第２の実施の形態のデータ処理装置の動作を図５のフローチャートを用いて説明する。
まず、Ｓ５０１は、前記した図３のＳ３０１と同様の処理内容であるので、Ｓ５０２から説明する。不揮発性記憶要求受付部６３は、情報管理部６２により利用要求の要求元のアプリケーション６０の操作をしている利用者の情報を取得する（Ｓ５０２）。例えば、
不揮発性記憶要求受付部６３は、アプリケーション６０の操作をしている利用者は「apache管理者」であるという属性情報を取得する。また、このアプリケーション６０は「領域１」に対し「書き込み」を要求しているという情報を取得する。なお、このアプリケーション６０の操作をしている利用者の情報は、例えば、アプリケーション６０の起動時に、入出力装置５０経由で、利用者のＩＤ（識別情報）等を受け付け、この入力された情報をもとに判断する。
【００５６】
この後、不揮発性記憶要求受付部６３は、Ｓ５０２で取得した利用者の情報と、対応関係テーブル１３（図３参照）とを参照して、このアプリケーション６０に当該記憶領域を当該利用形態で利用させてよいか否かを判断する（Ｓ５０３）。ここで、不揮発性記憶要求受付部６３は、要求元のアプリケーション６０の利用者の情報と、利用要求の対象である記憶領域と、利用要求の対象である利用形態との組み合わせについて対応関係テーブル１３を参照し、この利用要求を受け入れてよいと判断した場合に（Ｓ５０３の“Ｙ”）、ＭＭＵへの指示情報１２等を操作し、この利用要求を受け入れるように設定する（Ｓ５１０）。一方、不揮発性記憶要求受付部６３は、要求元のアプリケーション６０の利用者の情報と、利用要求の対象である記憶領域と、利用要求の対象である利用形態との組み合わせについて対応関係テーブル１３を参照し、この利用要求を受け入れないと判断した場合に（Ｓ５０３の“Ｎ”）、アプリケーション６０に当該記憶領域を当該利用形態で利用できない旨の応答を行い（Ｓ５０５）、処理を終了する。
Ｓ５１１〜Ｓ５１２の処理内容は、それぞれ、図３のＳ３１１〜Ｓ３１２の処理内容と同様なので、説明を省略する。
【００５７】
このようにすることで、所定の利用者がアプリケーション６０を操作しているときのみに、不揮発性記憶装置１０を利用させることができる。つまり、対応関係テーブル１３に登録されていない利用者がアプリケーション６０を操作しても、不揮発性記憶装置１０を利用することができないようにできる。
【００５８】
＜その他の実施の形態＞
本発明は、前記した実施の形態に限定されず変形可能である。例えば、データ処理装置は、対応関係テーブル１１,１３の両方を格納し、不揮発性記憶要求受付部６３は、両方のテーブルを参照して、当該利用要求に対し利用を許可するか否か判断するようにしてもよい。
【００５９】
すなわち、不揮発性記憶要求受付部６３が不揮発性記憶装置１０の利用要求を受け付けたとき、この利用要求の要求元アプリケーション６０と、利用要求の対象である記憶領域と、利用要求している利用形態との組み合わせが対応関係テーブル１１において利用許可の対象として登録され、かつ、このアプリケーション６０を操作している利用者が対応関係テーブル１３おいて利用許可の対象として登録されていると判断したとき、当該アプリケーション６０に不揮発性記憶装置１０の利用を許可するようにしてもよい。また、不揮発性記憶要求受付部６３は、対応関係テーブル１１,１３の少なくとも一方において利用許可の対象として登録されていると判断したとき、当該アプリケーション６０に不揮発性記憶装置１０の利用を許可するようにしてもよい。
【００６０】
なお、対応関係テーブル１１,１３には当該アプリケーション６０に対して許可する利用形態の情報を含まないようにしてもよい。つまり、不揮発性記憶要求受付部６３は、要求している利用形態を問わず、アプリケーション６０の識別情報やアプリケーション６０の利用者の情報のみで、不揮発性記憶装置１０の利用を許可するか否か判断するようにしてもよい。
【００６１】
また、前記した性質を利用して、データ処理装置は、まず永続的に（不揮発に）記録しなければならないデータを不揮発性記憶装置１０に保持し、後でこの不揮発性記憶装置１０からデータを読み出し、ディスク装置４０に記録するようにしてもよい。このようにすることで、データ処理装置は、不揮発性記憶装置１０にデータを保持（記録）した時点で、このデータを失うおそれがなくなるため、時間のかかるディスク装置４０の操作を完了することなく次の操作に入ることができる。また、データ処理装置は、ディスク装置４０の操作をまとめて行うことができるため、スループットを改善することができる。
【００６２】
なお、前記した実施の形態において不揮発性記憶装置１０の少なくとも一部にバッテリによりバックアップされた揮発性記憶装置を用いるようにしてもよい。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態のデータ処理装置のハードウェア構成例を示した図である。
【図２】図１のデータ処理装置を機能展開して示したブロック図である。
【図３】図２のデータ処理装置の動作手順を示したフローチャートである。
【図４】第２の実施の形態のデータ処理装置を機能展開して示したブロック図である。
【図５】図４のデータ処理装置の動作手順を示したフローチャートである。
【符号の説明】
【００６４】
１０    不揮発性記憶装置
１１    対応関係テーブル
１２    ＭＭＵへの指示情報
１３    対応関係テーブル
２０    ＣＰＵ
２１    ＭＭＵ
３０    揮発性記憶装置
４０    ディスク装置
５０    入出力装置
６０    アプリケーション
７０    バス
６１    カーネル
６２    情報管理部
６３    不揮発性記憶要求受付部
【図１】
2007213473.tif 000003
【図２】
2007213473.tif 000004
【図３】
2007213473.tif 000005
【図４】
2007213473.tif 000006
【図５】
2007213473.tif 000007