JP2007213473A - 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法 - Google Patents

不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP2007213473A
JP2007213473A JP2006034989A JP2006034989A JP2007213473A JP 2007213473 A JP2007213473 A JP 2007213473A JP 2006034989 A JP2006034989 A JP 2006034989A JP 2006034989 A JP2006034989 A JP 2006034989A JP 2007213473 A JP2007213473 A JP 2007213473A
Authority
JP
Japan
Prior art keywords
storage device
storage area
program
data processing
nonvolatile
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006034989A
Other languages
English (en)
Inventor
Fumimitsu Miura
史光 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006034989A priority Critical patent/JP2007213473A/ja
Publication of JP2007213473A publication Critical patent/JP2007213473A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】データ処理装置において不揮発性記憶装置を用いる場合のオーバーヘッドを低減する。
【解決手段】主記憶装置の少なくとも一部に不揮発性記憶装置10を用いるデータ処理装置であって、不揮発性記憶装置10は1以上の記憶領域に区分され、データ処理装置のカーネル61は、アプリケーション60から不揮発性記憶装置10の記憶領域の利用を要求された場合、このアプリケーション60に不揮発性記憶装置10における所定の記憶領域を割り当てる。このとき、アプリケーション60に対し割り当てた記憶領域の情報をMMUへの指示情報12として記録し、以降、このアプリケーション60はこのMMUへの指示情報12に基づき、カーネル61を経由せず、直接不揮発性記憶装置10へアクセスする。
【選択図】図2

Description

本発明は、不揮発性記憶装置を用いるデータ処理技術に関する。
現在の大半の計算機は、CPU(Central Processing Unit)から直接アクセスできる主記憶装置を必要としており、この主記憶装置には一般にDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性記憶装置が用いられる。この揮発性記憶装置は、電源の供給を停止すると情報を保持できないので、電源の供給を停止しても情報を保持する必要がある場合には、別途、不揮発性記憶装置を用いる。この場合、不揮発性記憶装置としては、ディスク装置等を用いるのが一般的である。ディスク装置等は、CPUから直接読み書きできないため、CPUはコントローラを経由してディスク装置等を操作し、この操作の結果として主記憶装置へ情報を転送する。また、CPUが主記憶装置の情報をディスク装置等に転送するときも、このコントローラを経由する。ここで、コントローラの操作を任意のプログラムに許すと、任意のプログラムが任意のファイルの読み書きできることになってしまう。そこで、このような事態を避ける必要のある計算機においては、特定の管理プログラム(カーネル)だけがコントローラを操作できるようにする構成をとるのが一般的である。
このような構成において、カーネル以外のプログラムはディスク装置上に記憶された情報をファイルとしてアクセスする。ディスク装置は機械装置であり、そのアクセス時間は、CPUの処理時間に対して非常に長い。従って、機械装置の遅さと比較すると、カーネルに処理を依頼することに起因するオーバーヘッドは比較的受け入れやすい。
ところが、計算機の大きさや許容できる消費電力、許容すべき衝撃等の観点から、不揮発性記憶装置としてディスク装置を用いることができない場合がある。このような場合、ディスク装置の代わりにディスク装置以外の不揮発性記憶装置や、バッテリ付き揮発性記憶装置を用いる。以下の非特許文献1には、不揮発性記憶装置であるMRAM(磁気抵抗メモリ、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>
ディスク装置の代わりにMRAM等の不揮発性記憶装置や、バッテリ付き揮発性記憶装置を用いる場合、CPUが直接これらの記憶装置にアクセスできるような構成をとることが自然である。そして、このような構成では、管理プログラムによる不揮発性記憶装置のプログラムへの割り当て操作の後、この不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要であり、オーバーヘッドなしに高速に読み書きすることも可能と考えられる。
しかしながら、従前のプログラムはこのような構成においてもディスク装置上のファイルのような利用形態をとることが多い。つまり、ディスク装置以外の不揮発性記憶装置を利用する場合も、ディスク装置を利用する場合の制約も再現しており、そのため不必要なオーバーヘッドが生じるという問題がある。
なお、現在の計算機はパイプラインやキャッシュ等のメカニズムを用いて処理速度を得ているが、あるプログラムから他のプログラムを呼び出すようなことをすると、これらのメカニズムの効果が減少することがよく知られている。また、一般に、ディスク装置を搭載しない計算機は処理能力も乏しいことが多いので、前記したオーバーヘッドの影響は大きい。
例えば、携帯電話機の操作を例に取ると、利用者が携帯電話機でゲームをしている最中に、その携帯電話機の別の機能を利用するための操作をしたとき、その機能を実際に利用できるようになるまでの応答時間に影響するという問題がある。
本発明は、前記した問題を解決し、不揮発性記憶装置を用いる場合のオーバーヘッドを低減するデータ処理装置等を提供することを目的とする。
前記した課題を解決するため、請求項1に記載のデータ処理装置は、主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理装置であって、前記不揮発性記憶装置は1以上の記憶領域に区分され、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに前記不揮発性記憶装置における所定の記憶領域を利用させる処理部を備える構成とした。
このような構成によれば、データ処理装置は、プログラムから不揮発性記憶装置の記憶領域の利用要求(例えば、読み込み要求や書き込み要求)がされたとき、このプログラムに不揮発性記憶装置の記憶領域を主記憶(主記憶装置)として利用させる。従って、プログラムによる不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要であり、データ処理装置は、オーバーヘッドなしに高速に読み書きすることができる。
請求項2に記載のデータ処理装置は、請求項1に記載のデータ処理装置において、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの識別情報とを対応付けた対応関係テーブルをさらに備え、前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させる構成とした。
このような構成によれば、データ処理装置は、対応関係テーブルに登録された所定のプログラムが所定の記憶領域に対し利用要求をした場合に、当該記憶領域を利用させる。従って、データ処理装置は不揮発性記憶装置へのアクセスを、対応関係テーブルで許可されている範囲に限定することができる。
請求項3に記載のデータ処理装置は、請求項1に記載のデータ処理装置において、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの利用者の属性情報とを対応付けた対応関係テーブルをさらに備え、前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの利用者の属性情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させる構成とした。
このような構成によれば、データ処理装置は、対応関係テーブルに登録された所定の利用者により操作されるプログラムが所定の記憶領域に対し利用要求した場合に、当該記憶領域を利用させる。従って、データ処理装置は不揮発性記憶装置へのアクセスを、対応関係テーブルで許可されている範囲に限定することができる。
請求項4に記載のデータ処理装置は、請求項2または請求項3に記載のデータ処理装置において、前記対応関係テーブルは、前記記憶領域において前記プログラムに許可される利用形態をさらに含み、前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報および前記利用者の属性情報の少なくとも一方と、前記利用を要求された記憶領域と、その記憶領域の利用形態との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させる構成とした。
このような構成によれば、データ処理装置は、利用要求の要求元のプログラムに当該記憶領域の利用をさせるか否かを判断するとき、要求している利用形態(例えば、記憶領域に対する読み込みか書き込みか)も含めて判断することができる。従って、データ処理装置は不揮発性記憶装置へのアクセスを、対応関係テーブルで許可されている範囲に限定することができる。
請求項5に記載のデータ処理装置は、請求項1ないし請求項4のいずれか1項に記載のデータ処理装置において前記処理部は、前記プログラムに前記不揮発性記憶装置の記憶領域を利用させるとき、前記プログラムに対し割り当てた前記不揮発性記憶装置の記憶領域の情報を記憶装置に記録し、少なくとも前記プログラムが終了するまで、前記プログラムに前記記憶領域の情報に示される記憶領域を利用させる構成とした。
このような構成によれば、データ処理装置は、利用を許可したプログラムに対し割り当てた不揮発性記憶装置の記憶領域の情報を記録する。そして、少なくともこのプログラムが終了するまでは、当該プログラムにこの情報に示される記憶領域を利用させる。つまり、このような情報を記録した後は、プログラムによる不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要となる。したがって、データ処理装置は、オーバーヘッドなしに高速に読み書きすることができる。なお、プログラムに対し割り当てた不揮発性記憶装置の記憶領域の情報は、例えば、MMU(Memory Management Unit)への指示情報として設定される。
請求項6に記載のデータ処理装置は、請求項1ないし請求項5のいずれか1項に記載のデータ処理装置において、前記プログラムによる前記不揮発性記憶装置の記憶領域の利用は、前記記憶領域へのデータの記録および前記記憶領域からのデータの読み出しの少なくとも一方とする構成とした。
このような構成によれば、データ処理装置は、プログラムに対し、不揮発性記憶装置の記憶領域へのデータの記録(書き込み)およびデータの読み出し(読み込み)の少なくとも一方をさせることができる。
請求項7に記載のデータ処理装置は、請求項1ないし請求項6のいずれか1項に記載のデータ処理装置において前記処理部は、前記データ処理装置において不揮発に記録する必要のあるデータを、前記不揮発性記憶装置に記録した後、前記記録したデータを、前記不揮発性記憶装置以外の記憶装置へ移し変える構成とした。
このような構成によれば、データ処理装置は、不揮発性記憶装置にデータを記録した時点で、このデータを失うおそれがなくなるので、この不揮発性記憶装置以外の記憶装置(例えば、ディスク装置等)への操作を完了することなく次の操作に入ることができる。また、このようなデータ処理装置は、ディスク装置等の記憶装置への操作をまとめて行うことができるため、スループットを改善することができる。
請求項8に記載のデータ処理装置は、請求項1ないし請求項7のいずれか1項に記載のデータ処理装置において前記不揮発性記憶装置の少なくとも一部にバッテリによりバックアップされた揮発性記憶装置を用いる構成とした。
このような構成によれば、データ処理装置の不揮発性記憶装置の一部にバッテリによりバックアップされた揮発性記憶装置を用いた場合でも、オーバーヘッドなしに高速に読み書きすることができる。
請求項9に記載のデータ処理方法は、主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理方法であって、前記不揮発性記憶装置を備えるデータ処理装置の処理部が、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに、1以上の記憶領域に区分され、た前記不揮発性記憶装置の記憶領域のうち、所定の記憶領域を利用させる方法とした。
このような方法によれば、データ処理装置の処理部が、プログラムから不揮発性記憶装置の記憶領域の利用要求(例えば、読み込み要求や書き込み要求)がされたとき、このプログラムに不揮発性記憶装置の記憶領域を主記憶(主記憶装置)として利用させる。従って、プログラムによる不揮発性記憶装置へのアクセスにはコントローラの操作や管理プログラムの介入等が不要であり、データ処理装置は、オーバーヘッドなしに高速に読み書きすることができる。
本発明によれば、計算機等のデータ処理装置等が不揮発性記憶装置を用いる場合のオーバーヘッドを低減することができる。
<第1の実施の形態>
以下、図面を参照しながら、本発明を実施するための最良の形態(以下、実施の形態とする)を説明する。まず、本発明の第1の実施の形態を説明する。
図1は、本発明の実施の形態のデータ処理装置のハードウェア構成例を示した図である。
図1に示すように、データ処理装置は、CPU(Central Processing Unit)20と、主記憶装置(メインメモリ)である不揮発性記憶装置10および揮発性記憶装置30と、補助記憶装置であるディスク装置40と、入出力装置50とを備える。これらの各装置は、バス70により接続される。
CPU20は、ディスク装置40(あるいは不揮発性記憶装置10)に格納されるプログラム(例えば、アプリケーションプログラム、カーネル等)を実行する。
CPU20には、MMU21が内蔵され、CPU20がバス70経由で各記憶装置へ行うアクセスはすべてMMU21の監視下にある。つまり、MMU21は動作中のプログラムが誤った記憶領域にアクセスしないようにする。なお、動作中のプログラムがどの記憶領域にアクセスしてよいかに関する情報(MMUへの指示情報)は、例えば、不揮発性記憶装置10に記録され、カーネル以外は変更できないようになっている。なお、請求項における処理部は、前記したCPU20がカーネルとして機能することにより実現される。
不揮発性記憶装置10は、例えば、前記したMRAMやFeRAM(強誘電体メモリ、Ferroelectric Random Access Memory)等を用いる。揮発性記憶装置30は、例えば、DRAM等を用いる。不揮発性記憶装置10および揮発性記憶装置30は主記憶装置であり、CPU20から直接読み書きされる構成となっている。なお、本実施の形態における主記憶装置は、少なくとも不揮発性記憶装置10を備えればよく、揮発性記憶装置30は必須の構成ではない。ディスク装置40は、カーネルを含むOS(Operating System)、アプリケーションプログラム(以下、アプリケーションとする)等の各種プログラムやデータ等を格納する。
なお、ディスク装置40に格納されるプログラムは、不揮発性記憶装置10等、ディスク装置40以外の記憶装置に格納するようにしてもよい。この場合、データ処理装置はディスク装置40を備える必要はない。
入出力装置50は、キーボードやマウス等のデータ入力手段や、液晶モニタやプリンタ等のデータ出力手段により構成される。データ処理装置の利用者は、この入出力装置50によりアプリケーションに対する各種指示入力を行い、アプリケーションを操作する。
次に、図2を用いて、図1のデータ処理装置の機能を詳細に説明する。
図2は、図1のデータ処理装置を機能展開して示したブロック図である。
データ処理装置は、不揮発性記憶装置10と、揮発性記憶装置30と、MMU21と、アプリケーション60と、カーネル61と、対応関係テーブル11とを備える。ここでは、図1のディスク装置40、バス70、入出力装置50の説明は省略している。なお、アプリケーション60およびカーネル61の機能は、CPU20によるプログラムの実行処理により実現される。
カーネル61は、アプリケーション60から不揮発性記憶装置10の記憶領域の利用要求を受け付けたとき、このアプリケーション60が不揮発性記憶装置10を利用してよいか否かの判断を行う。また、このアプリケーション60が不揮発性記憶装置10を利用してよいと判断したとき、このアプリケーション60がこの不揮発性記憶装置10を利用するために必要な情報を出力する。なお、ここでの不揮発性記憶装置10の利用とは、この不揮発性記憶装置10への書き込み操作や読み込み操作である。
対応関係テーブル11は、不揮発性記憶装置10の記憶領域を示す情報と、この記憶領域に対し利用権限があるアプリケーション60の識別情報とを対応付けた情報である。図2に例示する対応関係テーブル11には、不揮発性記憶装置10の領域と、その領域の範囲のアドレスと、この領域の利用が許可される(利用権限がある)アプリケーション60の情報と、このアプリケーション60に許可される利用形態等の情報が含まれる。このアプリケーション60の情報は、ここではディレクトリで記述されているが、アプリケーション60の識別情報であってもよい。
例えば、図2に例示する対応関係テーブル11において、「/usr/local/bin/apache」のアプリケーション60は、「領域1(0X500000〜0x5FFFFF)」に対し「読み込みおよび書き込み」が許可されていることを示す。不揮発性記憶装置10は、この対応関係テーブル11に従い、1以上の記憶領域に区分され、利用されることになる。なお、この対応関係テーブル11は、例えば、不揮発性記憶装置10に格納される。
カーネル61は、アプリケーション60の情報管理を行う情報管理部62と、不揮発性記憶要求受付部63とを備える。不揮発性記憶要求受付部63は、情報管理部62から得たアプリケーション60の情報および対応関係テーブル11を参照して、利用要求の要求元であるアプリケーション60に対し、不揮発性記憶装置10の利用を許可するか否か判断する。
例えば、不揮発性記憶要求受付部63は、アプリケーション60から不揮発性記憶装置10の利用要求を受け付けたとき、情報管理部62により、このアプリケーション60の情報を得る。ここで得る情報は、例えば、「/usr/local/bin/apache」のアプリケーション60が、不揮発性記憶装置10の「領域1」という記憶領域に対し「書き込み」を要求しているといった情報である。このような情報を得た不揮発性記憶要求受付部63は、アプリケーション60に対し、不揮発性記憶装置10の利用を許可するか否か判断する。
例えば、図2に示した対応関係テーブル11には「/usr/local/bin/apache」のアプリケーション60は、「領域1」に対し「読み込みと書き込み」が許可されているので、不揮発性記憶要求受付部63は、このアプリケーション60に対し、不揮発性記憶装置10の利用を許可すると判断する。
このような判断をした後、不揮発性記憶要求受付部63は、MMU21に対し、アプリケーション60が不揮発性記憶装置10を利用するのに必要な情報(例えば、「/usr/local/bin/apache」のアプリケーション60に対し、「領域1」の「書き込み」を許可するというMMU21への指示情報)をMMU21へ出力する。つまり、アプリケーション60に対し、不揮発性記憶装置10の記憶領域の割り当てを行う。なお、このMMU21への指示情報(図2の符号12参照)は、例えば、揮発性記憶装置30に記録される。
そして、このような処理の後、アプリケーション60が不揮発性記憶装置10の「領域1」の記憶領域に書き込みをするときには、カーネル61を経由せず直接書き込みをすることができる。つまり、カーネル61が、どのアプリケーション60に対し、どの記憶領域に、どのような利用形態を許可したか、という情報(MMUへの指示情報12)を揮発性記憶装置30に記録しておくので、アプリケーション60は不揮発性記憶装置10を利用するたびに、カーネル61に対し利用許可の確認をする必要がなくなる。なお、MMUへの指示情報12は不揮発性記憶装置10に記録してもよいし、MMU21自体に記録するようにしてもよい。
また、ここでは詳細な説明を省略したが、アプリケーション60が揮発性記憶装置30に対する操作(読み込みや書き込み)をするときも同様の処理を行う。すなわち、データ処理装置は、揮発性記憶装置30の記憶領域を示す情報と、この記憶領域に対し利用権限があるアプリケーション60の識別情報とを対応付けた揮発性記憶装置30に関する対応関係テーブルを備え、この対応関係テーブルにより揮発性記憶装置30の利用を許可するか否か判断する。そして、揮発性記憶装置30の利用が許可された場合、アプリケーション60は揮発性記憶装置30に対する操作(読み込み操作や書き込み操作)を行う。
次に、図3のフローチャートを用いて、図2のデータ処理装置の動作手順を説明する。
図3は、図2のデータ処理装置の動作手順を示したフローチャートである。
まず、入出力装置50(図1参照)からの指示入力等により、アプリケーション60が起動される。そして、アプリケーション60が、不揮発性記憶装置10の記憶領域の利用要求をカーネル61に対して行うと(S301)、カーネル61は以下のようにしてアプリケーション60が直接不揮発性記憶装置10を利用するための初期化を行う。
すなわち、カーネル61の不揮発性記憶要求受付部63は、アプリケーション60から不揮発性記憶装置10の利用要求を受け付ける。なお、この利用要求は、利用対象となる不揮発性記憶装置10の記憶領域の情報と、この記憶領域における利用形態(読み込みか、書き込みか等)に関する情報と、このアプリケーション60の識別情報とを含む。次に、不揮発性記憶要求受付部63は、情報管理部62により、この利用要求の要求元のアプリケーション60の情報を取得する(S302)。例えば、不揮発性記憶要求受付部63は、「/usr/local/bin/apache」のアプリケーション60が「領域1」に対し「書き込み」を要求しているという情報を取得する。不揮発性記憶要求受付部63は、S302で取得したアプリケーション60の情報と、対応関係テーブル11(図2参照)とを参照して、このアプリケーション60に当該記憶領域を当該利用形態で利用させてよいか否かを判断する(S303)。
不揮発性記憶要求受付部63は、要求元のアプリケーション60の識別情報と、利用要求の対象となる記憶領域と、利用形態との組み合わせについて対応関係テーブル11を参照し、この利用要求を受け入れてよいと判断した場合に(S303の“Y”)、MMUへの指示情報12等を操作し、この利用要求を受け入れるように設定する(S310)。
つまり、不揮発性記憶要求受付部63は、要求元のアプリケーション60の識別情報と、利用要求の対象である記憶領域と、利用要求の対象である利用形態との組み合わせが対応関係テーブル11において利用許可の対象として登録されている場合、MMUへの指示情報12等を操作し、この利用要求を受け入れるように設定する。
次に、不揮発性記憶要求受付部63は、この利用要求を受け入れる旨を、要求元であるアプリケーション60へ応答する(S311)。ここで、アプリケーション60が当該記憶領域を利用するために必要な情報がある場合は、この応答とともに、当該記憶領域を利用するために必要な情報もアプリケーション60に通知する。
S303からS311までの処理が完了した後、アプリケーション60は、不揮発性記憶装置10における当該記憶領域の読み込み操作および書き込み操作を直接行えるようになる(S312)。つまり、不揮発性記憶装置10の操作(読み込み操作および書き込み操作)のオーバーヘッドが低減できる。この状態は、アプリケーション60が終了するか、不揮発性記憶要求受付部63が当該利用を停止するまで継続される。
なお、アプリケーション60が終了し、再起動したときには、S312においてアプリケーション60により読み書きされたデータは、S301〜S311の処理を再度実行することで、再び読み出すことができる。
一方、不揮発性記憶要求受付部63は、要求元のアプリケーション60の識別情報と、利用要求の対象となる記憶領域と、利用形態との組み合わせについて対応関係テーブル11を参照し、この利用要求を受け入れないと判断した場合に(S303の“N”)、アプリケーション60に当該記憶領域を当該利用形態で利用できない旨の応答を行う(S305)。このようにすることで、不揮発性記憶装置10を各アプリケーション60に適切に利用させ、不揮発性記憶装置10におけるセキュリティを保護することができる。
<第2の実施の形態>
次に、本発明の第2の実施の形態を説明する。第2の実施の形態は、データ処理装置が、アプリケーション60の利用者の確認を行い、所定の利用者が操作を行っていることが確認できたときに、このアプリケーション60に不揮発性記憶装置10の利用を許可することを特徴とする。
図4は、第2の実施の形態のデータ処理装置を機能展開して示したブロック図である。前記した第1の実施の形態と同様の構成要素は同じ符号を付して、説明を省略する。
第2の実施の形態のデータ処理装置は、対応関係テーブル11における「利用を許可するアプリケーション」の代わりに、「利用を許可する利用者」の情報(例えば、利用者の属性情報や利用者の識別情報)を示した対応関係テーブル13を用いる。
例えば、図4に例示した対応関係テーブル13において、「apache管理者」からの操作により動作しているアプリケーション60は、「領域1(0X500000〜0x5FFFFF)」に対し「読み込みと書き込み」が許可されていることを示す。なお、この対応関係テーブル13は、例えば、不揮発性記憶装置10に格納される。また、情報管理部62は、アプリケーション60を操作している利用者の情報(例えば、利用者の属性情報や利用者の識別情報等)を取得する機能を備える。
図5は、図4のデータ処理装置の動作手順を示したフローチャートである。
第2の実施の形態のデータ処理装置の動作を図5のフローチャートを用いて説明する。
まず、S501は、前記した図3のS301と同様の処理内容であるので、S502から説明する。不揮発性記憶要求受付部63は、情報管理部62により利用要求の要求元のアプリケーション60の操作をしている利用者の情報を取得する(S502)。例えば、
不揮発性記憶要求受付部63は、アプリケーション60の操作をしている利用者は「apache管理者」であるという属性情報を取得する。また、このアプリケーション60は「領域1」に対し「書き込み」を要求しているという情報を取得する。なお、このアプリケーション60の操作をしている利用者の情報は、例えば、アプリケーション60の起動時に、入出力装置50経由で、利用者のID(識別情報)等を受け付け、この入力された情報をもとに判断する。
この後、不揮発性記憶要求受付部63は、S502で取得した利用者の情報と、対応関係テーブル13(図3参照)とを参照して、このアプリケーション60に当該記憶領域を当該利用形態で利用させてよいか否かを判断する(S503)。ここで、不揮発性記憶要求受付部63は、要求元のアプリケーション60の利用者の情報と、利用要求の対象である記憶領域と、利用要求の対象である利用形態との組み合わせについて対応関係テーブル13を参照し、この利用要求を受け入れてよいと判断した場合に(S503の“Y”)、MMUへの指示情報12等を操作し、この利用要求を受け入れるように設定する(S510)。一方、不揮発性記憶要求受付部63は、要求元のアプリケーション60の利用者の情報と、利用要求の対象である記憶領域と、利用要求の対象である利用形態との組み合わせについて対応関係テーブル13を参照し、この利用要求を受け入れないと判断した場合に(S503の“N”)、アプリケーション60に当該記憶領域を当該利用形態で利用できない旨の応答を行い(S505)、処理を終了する。
S511〜S512の処理内容は、それぞれ、図3のS311〜S312の処理内容と同様なので、説明を省略する。
このようにすることで、所定の利用者がアプリケーション60を操作しているときのみに、不揮発性記憶装置10を利用させることができる。つまり、対応関係テーブル13に登録されていない利用者がアプリケーション60を操作しても、不揮発性記憶装置10を利用することができないようにできる。
<その他の実施の形態>
本発明は、前記した実施の形態に限定されず変形可能である。例えば、データ処理装置は、対応関係テーブル11,13の両方を格納し、不揮発性記憶要求受付部63は、両方のテーブルを参照して、当該利用要求に対し利用を許可するか否か判断するようにしてもよい。
すなわち、不揮発性記憶要求受付部63が不揮発性記憶装置10の利用要求を受け付けたとき、この利用要求の要求元アプリケーション60と、利用要求の対象である記憶領域と、利用要求している利用形態との組み合わせが対応関係テーブル11において利用許可の対象として登録され、かつ、このアプリケーション60を操作している利用者が対応関係テーブル13おいて利用許可の対象として登録されていると判断したとき、当該アプリケーション60に不揮発性記憶装置10の利用を許可するようにしてもよい。また、不揮発性記憶要求受付部63は、対応関係テーブル11,13の少なくとも一方において利用許可の対象として登録されていると判断したとき、当該アプリケーション60に不揮発性記憶装置10の利用を許可するようにしてもよい。
なお、対応関係テーブル11,13には当該アプリケーション60に対して許可する利用形態の情報を含まないようにしてもよい。つまり、不揮発性記憶要求受付部63は、要求している利用形態を問わず、アプリケーション60の識別情報やアプリケーション60の利用者の情報のみで、不揮発性記憶装置10の利用を許可するか否か判断するようにしてもよい。
また、前記した性質を利用して、データ処理装置は、まず永続的に(不揮発に)記録しなければならないデータを不揮発性記憶装置10に保持し、後でこの不揮発性記憶装置10からデータを読み出し、ディスク装置40に記録するようにしてもよい。このようにすることで、データ処理装置は、不揮発性記憶装置10にデータを保持(記録)した時点で、このデータを失うおそれがなくなるため、時間のかかるディスク装置40の操作を完了することなく次の操作に入ることができる。また、データ処理装置は、ディスク装置40の操作をまとめて行うことができるため、スループットを改善することができる。
なお、前記した実施の形態において不揮発性記憶装置10の少なくとも一部にバッテリによりバックアップされた揮発性記憶装置を用いるようにしてもよい。
本発明の実施の形態のデータ処理装置のハードウェア構成例を示した図である。 図1のデータ処理装置を機能展開して示したブロック図である。 図2のデータ処理装置の動作手順を示したフローチャートである。 第2の実施の形態のデータ処理装置を機能展開して示したブロック図である。 図4のデータ処理装置の動作手順を示したフローチャートである。
符号の説明
10 不揮発性記憶装置
11 対応関係テーブル
12 MMUへの指示情報
13 対応関係テーブル
20 CPU
21 MMU
30 揮発性記憶装置
40 ディスク装置
50 入出力装置
60 アプリケーション
70 バス
61 カーネル
62 情報管理部
63 不揮発性記憶要求受付部

Claims (9)

  1. 主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理装置であって、
    前記不揮発性記憶装置は1以上の記憶領域に区分され、
    プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに前記不揮発性記憶装置における所定の記憶領域を利用させる処理部を備えることを特徴とするデータ処理装置。
  2. 前記データ処理装置は、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの識別情報とを対応付けた対応関係テーブルをさらに備え、
    前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させることを特徴とする請求項1に記載のデータ処理装置。
  3. 前記データ処理装置は、前記不揮発性記憶装置の記憶領域を示す情報と、この記憶領域に対し利用が許可されるプログラムの利用者の属性情報とを対応付けた対応関係テーブルをさらに備え、
    前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの利用者の属性情報と前記利用を要求された記憶領域との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させることを特徴とする請求項1に記載のデータ処理装置。
  4. 前記対応関係テーブルは、前記記憶領域において前記プログラムに許可される利用形態をさらに含み、
    前記処理部は、プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムの識別情報および前記利用者の属性情報の少なくとも一方と、前記利用を要求された記憶領域と、その記憶領域の利用形態との組み合わせが、前記対応関係テーブルにおいて利用許可の対象として登録されているとき、前記プログラムに前記記憶領域を利用させることを特徴とする請求項2または請求項3に記載のデータ処理装置。
  5. 前記処理部は、前記プログラムに前記不揮発性記憶装置の記憶領域を利用させるとき、前記プログラムに対し割り当てた前記不揮発性記憶装置の記憶領域の情報を記憶装置に記録し、少なくとも前記プログラムが終了するまで、前記プログラムに前記記憶領域の情報に示される記憶領域を利用させることを特徴とする請求項1ないし請求項4のいずれか1項に記載のデータ処理装置。
  6. 前記プログラムによる前記不揮発性記憶装置の記憶領域の利用は、前記記憶領域へのデータの記録および前記記憶領域からのデータの読み出しの少なくとも一方であることを特徴とする請求項1ないし請求項5のいずれか1項に記載のデータ処理装置。
  7. 前記処理部は、前記データ処理装置において不揮発に記録する必要のあるデータを、前記不揮発性記憶装置に記録した後、前記記録したデータを、当該不揮発性記憶装置以外の記憶装置へ移し変えることを特徴とする請求項1ないし請求項6のいずれか1項に記載のデータ処理装置。
  8. 前記不揮発性記憶装置の少なくとも一部にバッテリによりバックアップされた揮発性記憶装置を用いることを特徴とする請求項1ないし請求項7のいずれか1項に記載のデータ処理装置。
  9. 主記憶装置の少なくとも一部に不揮発性記憶装置を用いるデータ処理方法であって、
    前記不揮発性記憶装置を備えるデータ処理装置の処理部が、
    プログラムから、前記不揮発性記憶装置の記憶領域の利用を要求された場合、前記プログラムに、1以上の記憶領域に区分され、前記不揮発性記憶装置の記憶領域のうち、所定の記憶領域を利用させることを特徴とするデータ処理方法。
JP2006034989A 2006-02-13 2006-02-13 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法 Pending JP2007213473A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006034989A JP2007213473A (ja) 2006-02-13 2006-02-13 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006034989A JP2007213473A (ja) 2006-02-13 2006-02-13 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法

Publications (1)

Publication Number Publication Date
JP2007213473A true JP2007213473A (ja) 2007-08-23

Family

ID=38491824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006034989A Pending JP2007213473A (ja) 2006-02-13 2006-02-13 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法

Country Status (1)

Country Link
JP (1) JP2007213473A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016009275A (ja) * 2014-06-23 2016-01-18 キヤノン株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
CN112306411A (zh) * 2020-10-29 2021-02-02 西安万像电子科技有限公司 数据存储方法及装置、非易失性存储介质、处理器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016009275A (ja) * 2014-06-23 2016-01-18 キヤノン株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
CN112306411A (zh) * 2020-10-29 2021-02-02 西安万像电子科技有限公司 数据存储方法及装置、非易失性存储介质、处理器
CN112306411B (zh) * 2020-10-29 2023-08-25 西安万像电子科技有限公司 数据存储方法及装置、非易失性存储介质、处理器

Similar Documents

Publication Publication Date Title
US9910602B2 (en) Device and memory system for storing and recovering page table data upon power loss
JP6310061B2 (ja) システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持
US9218302B2 (en) Page table management
JP2009276853A (ja) フラッシュメモリ装置
TW201017405A (en) Improved hybrid drive
KR20100132244A (ko) 메모리 시스템 및 메모리 시스템 관리 방법
KR101355105B1 (ko) 캐시 일관성 보장을 위한 공유 가상 메모리 관리 장치
JP5338435B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
US20230129255A1 (en) Reliability of computer memory with data movement and address re-mapping
US9785552B2 (en) Computer system including virtual memory or cache
JP2016167215A (ja) メモリ装置
TWI530785B (zh) 電腦系統及非揮發性記憶體的控制方法
JP2007213473A (ja) 不揮発性記憶装置を用いるデータ処理装置およびデータ処理方法
JP5062687B2 (ja) 情報処理装置
JP2009258925A (ja) 計算機システムおよび計算機システムのメモリ管理方法
JP6318073B2 (ja) 電子機器
JP2010026969A (ja) データ処理装置
US7519778B2 (en) System and method for cache coherence
JP5795418B2 (ja) キャッシュ装置、及び記憶システム
JP5627754B2 (ja) 仮想記憶管理装置及び記憶管理装置
JP6399821B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP6171505B2 (ja) 情報処理装置およびプログラム
JP5511747B2 (ja) 画像形成装置および画像形成プログラム
JP2016009273A (ja) 情報処理装置および情報処理方法、およびコンピュータプログラム
JP2008052313A (ja) シリコンディスク記憶装置のアクセス制御方法