JP2004362464A - Computer system using nonvolatile memory - Google Patents
Computer system using nonvolatile memory Download PDFInfo
- Publication number
- JP2004362464A JP2004362464A JP2003162798A JP2003162798A JP2004362464A JP 2004362464 A JP2004362464 A JP 2004362464A JP 2003162798 A JP2003162798 A JP 2003162798A JP 2003162798 A JP2003162798 A JP 2003162798A JP 2004362464 A JP2004362464 A JP 2004362464A
- Authority
- JP
- Japan
- Prior art keywords
- file
- memory
- address
- physical address
- area
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、不揮発メモリを利用したコンピュータシステムに関し、特に不揮発メモリ上に主記憶とファイルとが混在することを許容するコンピュータシステム、処理装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【0002】
【従来の技術】
従来のコンピュータシステムにおいては、伝統的なメモリ階層構造の下、キャッシュメモリには小容量で高速なSRAM(Static Random Access Memory)等が使用され、主記憶装置には中容量で中速なDRAM(Dynamic Random Access Memory)等が使用され、また、外部記憶装置には大容量で低速な磁気ディスク装置が用いられている。そして、プロセッサからメモリアドレスによりアクセスされる主記憶領域は主記憶装置に保持され、ファイルとしてアクセスされるファイル領域は磁気ディスク装置に保持される。
【0003】
主記憶装置は、装置の電源が切断されると記憶していた内容を失ってしまうという揮発な性質を有するものであり、主記憶領域は電源切断のたびにクリアされる。一方、磁気ディスク装置は、装置の電源が切断されても記憶していた内容を失わないという不揮発な性質を有するものであり、磁気ディスク装置に保存されたファイルの内容は電源切断後も維持される。
【0004】
これに対し、ファイルをメモリ上に配置することによりファイルへのアクセスを高速化するRAMディスクが使用されるようになった。これは、主記憶装置における拡張メモリ領域にRAMディスク用の領域を確保して、この領域をファイル領域として用いるものである。しかしながら、上述のように主記憶装置は揮発性メモリであるため、そのままでは電源切断の際にその内容が維持できず、ファイル内容を保護するためにRAMディスク用領域をバッテリバックアップする等の手法が必要となった(例えば、特許文献1参照。)。
【0005】
一方、近年、不揮発な性質を有するメモリとしてMRAM(Magnetic Random Access Memory)の開発が進んでいる。このMRAMは、絶縁体を強磁性体で挟んだトンネル磁気抵抗(TMR:Tunnel Magneto Resistance)素子におけるTMR効果を利用したものである。すなわち、TMR素子では、強磁性体層のスピンの向きを平行にすると電気抵抗が小さくなり、強磁性体層のスピンの向きを反平行にすると電気抵抗が大きくなる。この電気抵抗を検出することによりTMR素子における状態を知ることができる。強磁性体層のスピンの向きは外部からの磁場によって変更でき、また、磁場がなくなってもその状態は保たれる。これにより、不揮発な記憶素子が実現される。
【0006】
このMRAMは、構造が単純であることから記憶素子の高速化および高集積化を実現するものとして期待が高まっており、実用化に向けて消費電力等を改善する技術が提案されている(例えば、特許文献2参照。)。
【0007】
【特許文献1】
特開平8−147225号公報(図1)
【特許文献2】
特開2003−133528号公報(図1)
【0008】
【発明が解決しようとする課題】
上述のように、MRAMのように大容量かつ高速な不揮発メモリが主記憶装置に使用されるようになると、従来のRAMディスクのように主記憶装置にファイル領域を設けることが容易になる。不揮発メモリであれば電源切断に影響を受けずファイルを保存でき、かつ、磁気ディスク装置よりも高速なアクセスが期待できるからである。
【0009】
しかしながら、不揮発メモリに保存されたファイルはあくまでもファイルであり、ソフトウェアからはファイルとしてのみ認識されるだけである。従って、このファイルにアクセスするためには、ファイル名により指定された内容を一旦、主記憶領域上のバッファに転送して、そのバッファの内容にアクセスすることになる。一方、主記憶領域上のデータをファイルに保存する場合には、そのデータをファイル領域に転送して、主記憶領域上のデータとは別にファイルとして保存することになる。
【0010】
このように、不揮発メモリに主記憶領域およびファイル領域を保持させようとする場合、従来の技術では主記憶領域上のデータとして扱うかファイルとして扱うかによって、主記憶領域とファイル領域との間でデータ転送を行う必要が生じ、それに要する転送時間が問題となる。
【0011】
そこで、本発明は、不揮発メモリの同じ領域を主記憶領域およびファイル領域の何れとしてもアクセスできるコンピュータシステムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を解決するために本発明の請求項1記載の処理装置は、不揮発メモリ上に存在するファイルを指定してファイル管理テーブルから上記ファイルのアクセス単位番号を読み出すファイル指定手段と、上記アクセス単位番号に基づいて上記不揮発メモリ上の物理アドレスを算出する物理アドレス算出手段と、仮想アドレス空間においてメモリ領域を取得してそのメモリ領域の仮想アドレスに上記物理アドレスが対応するようアドレス変換器に登録するメモリ領域取得手段とを具備する。これにより、メモリ領域取得手段により取得された仮想メモリを使用して、ファイル指定手段により指定されたファイルをアクセス可能にするという作用をもたらす。
【0013】
また、本発明の請求項2記載の処理装置は、請求項1記載の処理装置において、上記不揮発メモリ上のメモリ領域を仮想アドレスにより指定して上記アドレス変換器から対応する物理アドレスを取得するメモリ領域指定手段をさらに具備し、上記メモリ領域指定手段により読み出された物理アドレスにより上記不揮発メモリにアクセスするものである。これにより、メモリ領域指定手段により指定された仮想アドレスを使用して不揮発メモリ上に存在するファイルをアクセス可能にするという作用をもたらす。
【0014】
また、本発明の請求項3記載の処理装置は、請求項2記載の処理装置において、上記ファイル指定手段により読み出されたアクセス単位番号により上記不揮発メモリにアクセスするものである。これにより、不揮発メモリ上に存在するファイルを仮想アドレスを使用してアクセス可能するとともにファイルとしてもアクセス可能にするという作用をもたらす。
【0015】
また、本発明の請求項4記載の処理装置は、請求項1記載の処理装置において、上記ファイル指定手段が、上記指定したファイルのファイルエントリを上記ファイル管理テーブルから削除するものである。これにより、ファイルとしてのアクセスを禁止するという作用をもたらす。
【0016】
また、本発明の請求項5記載の処理装置は、不揮発メモリ上のメモリ領域を仮想アドレスにより指定してアドレス変換器から対応する物理アドレスを取得するメモリ領域指定手段と、上記物理アドレスに基づいて上記不揮発メモリ上のアクセス単位番号を算出するアクセス単位番号算出手段と、ファイル管理テーブルにファイルエントリを生成してそのファイルエントリに上記アクセス単位番号を登録するファイル生成手段とを具備する。これにより、メモリ領域指定手段により指定された不揮発メモリ上のメモリ領域をファイルとしてアクセスすることを可能にするという作用をもたらす。
【0017】
また、本発明の請求項6記載の処理装置は、請求項5記載の処理装置において、上記不揮発メモリ上のファイルを指定して上記ファイル管理テーブルから上記ファイルのアクセス単位番号を読み出すファイル指定手段をさらに具備し、上記ファイル指定手段により読み出されたアクセス単位番号により上記不揮発メモリにアクセスするものである。これにより、ファイル指定手段により指定されたファイルとして不揮発メモリ上のメモリ領域をアクセスすることを可能にするという作用をもたらす。
【0018】
また、本発明の請求項7記載の処理装置は、請求項6記載の処理装置において、上記メモリ領域指定手段により読み出された物理アドレスにより上記不揮発メモリにアクセスするものである。これにより、不揮発メモリ上のメモリ領域をファイルとしてアクセス可能するとともにデータとしてもアクセスすることを可能にするという作用をもたらす。
【0019】
また、本発明の請求項8記載の処理装置は、請求項5記載の処理装置において、上記メモリ領域指定手段が、上記指定した仮想アドレスが未使用状態になるよう上記アドレス変換器に登録するものである。これにより、データとしてのアクセスを禁止するという作用をもたらす。
【0020】
また、本発明の請求項9記載のコンピュータシステムは、不揮発メモリと、この不揮発メモリを主記憶領域およびファイル領域として用いる処理装置と、上記不揮発メモリ上のファイルを管理するファイル管理テーブルと、上記処理装置における仮想アドレスを上記不揮発メモリ上の物理アドレスに変換するアドレス変換器とを具備するコンピュータシステムであって、上記処理装置が、上記不揮発メモリ上に存在するファイルを指定して上記ファイル管理テーブルから上記ファイルのアクセス単位番号を読み出すファイル指定手段と、上記アクセス単位番号に基づいて上記不揮発メモリ上の物理アドレスを算出する物理アドレス算出手段と、仮想アドレス空間においてメモリ領域を取得してそのメモリ領域の仮想アドレスに上記物理アドレスが対応するよう上記アドレス変換器に登録するメモリ領域取得手段とを備えるものである。これにより、メモリ領域取得手段により取得された仮想メモリを使用して、ファイル指定手段により指定されたファイルをアクセス可能にするという作用をもたらす。
【0021】
また、本発明の請求項10記載のコンピュータシステムは、不揮発メモリと、この不揮発メモリを主記憶領域およびファイル領域として用いる処理装置と、上記不揮発メモリ上のファイルを管理するファイル管理テーブルと、上記処理装置における仮想アドレスを上記不揮発メモリ上の物理アドレスに変換するアドレス変換器とを具備するコンピュータシステムであって、上記不揮発メモリは複数種類のページファイルを保持し、上記処理装置が、主記憶領域として使用すべきページファイルを上記複数種類のページファイルから選択して指定し、上記ファイル管理テーブルから上記指定したページファイルのアクセス単位番号を読み出すファイル指定手段と、上記アクセス単位番号に基づいて上記不揮発メモリ上の物理アドレスを算出する物理アドレス算出手段と、仮想アドレス空間においてメモリ領域を取得してそのメモリ領域の仮想アドレスに上記物理アドレスが対応するよう上記アドレス変換器に登録するメモリ領域取得手段とを備えるものである。これにより、コンピュータシステムの実行環境として複数種類のページファイルを切り替えて使用することを可能にするという作用をもたらす。
【0022】
また、本発明の請求項11記載のコンピュータシステムは、不揮発メモリと、この不揮発メモリを主記憶領域およびファイル領域として用いる処理装置と、上記不揮発メモリ上のファイルを管理するファイル管理テーブルと、上記処理装置における仮想アドレスを上記不揮発メモリ上の物理アドレスに変換するアドレス変換器とを具備するコンピュータシステムであって、上記処理装置が、上記不揮発メモリ上のメモリ領域を仮想アドレスにより指定して上記アドレス変換器から対応する物理アドレスを取得するメモリ領域指定手段と、上記物理アドレスに基づいて上記不揮発メモリ上のアクセス単位番号を算出するアクセス単位番号算出手段と、上記ファイル管理テーブルにファイルエントリを生成してそのファイルエントリに上記アクセス単位番号を登録するファイル生成手段とを備えるものである。これにより、メモリ領域指定手段により指定された不揮発メモリ上のメモリ領域をファイルとしてアクセスすることを可能にするという作用をもたらす。
【0023】
また、本発明の請求項12記載の処理方法は、不揮発メモリ上に存在するファイルを指定してファイル管理テーブルから上記ファイルのアクセス単位番号を読み出す手順と、上記アクセス単位番号に基づいて上記不揮発メモリ上の物理アドレスを算出する手順と、仮想アドレス空間においてメモリ領域を取得する手順と、上記取得されたメモリ領域の仮想アドレスに上記物理アドレスが対応するようアドレス変換器に登録する手順とを具備する。これにより、指定されたファイルをデータとして仮想アドレスによりアクセス可能にするという作用をもたらす。
【0024】
また、本発明の請求項13記載の処理方法は、不揮発メモリ上のファイルを管理するファイル管理テーブル上にファイルエントリを生成する手順と、上記不揮発メモリ上のメモリ領域を仮想アドレスにより指定してアドレス変換器から対応する物理アドレスを取得する手順と、上記物理アドレスに基づいて上記不揮発メモリ上のアクセス単位番号を算出する手順と、上記ファイルエントリに上記アクセス単位番号を登録する手順とを具備する。これにより、指定された不揮発メモリ上のメモリ領域をファイルとしてアクセスすることを可能にするという作用をもたらす。
【0025】
また、本発明の請求項14記載のプログラムは、不揮発メモリ上に存在するファイルを指定してファイル管理テーブルから上記ファイルのアクセス単位番号を読み出す手順と、上記アクセス単位番号に基づいて上記不揮発メモリ上の物理アドレスを算出する手順と、仮想アドレス空間においてメモリ領域を取得する手順と、上記取得されたメモリ領域の仮想アドレスに上記物理アドレスが対応するようアドレス変換器に登録する手順とをコンピュータに実行させるものである。これにより、指定されたファイルをデータとして仮想アドレスによりアクセス可能にするという作用をもたらす。
【0026】
また、本発明の請求項15記載のプログラムは、不揮発メモリ上のファイルを管理するファイル管理テーブル上にファイルエントリを生成する手順と、上記不揮発メモリ上のメモリ領域を仮想アドレスにより指定してアドレス変換器から対応する物理アドレスを取得する手順と、上記物理アドレスに基づいて上記不揮発メモリ上のアクセス単位番号を算出する手順と、上記ファイルエントリに上記アクセス単位番号を登録する手順とをコンピュータに実行させるものである。これにより、指定された不揮発メモリ上のメモリ領域をファイルとしてアクセスすることを可能にするという作用をもたらす。
【0027】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0028】
図1は、本発明の実施の形態におけるコンピュータシステムの全体構成の一例を示す図である。このコンピュータシステム100では、プロセッサ110に命令キャッシュ120、命令メモリ管理ユニット130、データキャッシュ140、および、データメモリ管理ユニット150が接続されており、これら命令キャッシュ120、命令メモリ管理ユニット130、データキャッシュ140、および、データメモリ管理ユニット150の一方にはバスコントローラ160が接続される。そして、このバスコントローラ160と不揮発メモリ180とがメモリバス170により接続される。
【0029】
この例では、プロセッサ110は、命令にアクセスするための端子とデータにアクセスするための端子とを別個に有するいわゆるハーバードアーキテクチャを採用している。但し、これは一例に過ぎず、命令とデータを共通の端子として構成しても構わない。プロセッサ110の命令側端子には命令入力線121により命令キャッシュ120が接続される。この命令キャッシュ120はプロセッサ110で実行される可能性のある命令を命令入力線162により不揮発メモリ180から読み出して予め保持しておくものであり、プロセッサ110からの書込みは禁止される。
【0030】
プロセッサ110の命令側端子にはさらに命令アドレス線122が接続され、この命令アドレス線122から命令キャッシュ120および命令メモリ管理ユニット130に対して命令にアクセスするための仮想アドレスが供給される。命令メモリ管理ユニット130は、アドレス変換器を備え、プロセッサ110からの仮想アドレスを物理アドレスに変換して命令アドレス線136に出力する。
【0031】
また、プロセッサ110のデータ側端子にはデータ入出力線141によりデータキャッシュ140が接続される。このデータキャッシュ140はプロセッサ110で使用される可能性のあるデータをデータ入力線164により不揮発メモリ180から読み出して予め保持しておくものであり、プロセッサ110から読み出されるとともに更新も許容される。データキャッシュ140において更新があった場合には、即座にもしくは所定のタイミングで不揮発メモリ180に反映される。なお、データ入出力線141は、ファイルシステムへのアクセスの際にブロック番号の指定やデータの授受を行うためにも利用される。
【0032】
プロセッサ110のデータ側端子にはさらにデータアドレス線142が接続され、このデータアドレス線142からデータキャッシュ140およびデータメモリ管理ユニット150に対してデータにアクセスするための仮想アドレスが供給される。データメモリ管理ユニット150は、アドレス変換器を備え、プロセッサ110からの仮想アドレスを物理アドレスに変換してデータアドレス線156に出力する。
【0033】
バスコントローラ160は、一方にメモリバス170を接続してメモリバス170へのアクセス制御を行うものであり、もう一方に命令アドレス線136、命令入力線162、データ入力線164、および、データアドレス線156が接続される。メモリバス170は、命令およびデータの物理アドレスと命令およびデータの内容を伝達する。
【0034】
不揮発メモリ180は、不揮発な性質を有する記憶装置であり、例えばMRAMのような高速かつ高集積な記憶素子が想定される。この不揮発メモリ180は、主記憶領域を保持する主記憶装置として機能するだけでなく、ファイル領域を保持する外部記憶装置としても機能する。
【0035】
図2は、本発明の実施の形態における仮想メモリ空間300とファイルシステム200との関係を示す図である。本発明の実施の形態においては、不揮発メモリ180に主記憶領域およびファイル領域の両者が保持される。すなわち、プロセッサ110から見れば、仮想メモリ空間300上に主記憶領域310とファイル領域320とが共存し、ともに仮想アドレスによりアクセスすることができる。
【0036】
一方、これをファイルシステムとして捉えると、ファイルシステム200にはファイル領域320に対応するユーザファイル220以外に、主記憶領域310に対応するページファイル210が存在する。このページファイル210は、仮想記憶方式におけるスワップファイルに相当するものであり、主記憶領域の内容をファイルとして保持するものである。本発明の実施の形態では、不揮発メモリ180自身がスワップ先の外部記憶装置として機能するため、実際にはデータ転送は生じない。すなわち、ページファイル210は主記憶領域310の内容をファイルとして保持したものであり、必要であればファイルシステム200上のファイルとしてアクセスすることができるものである。
【0037】
ユーザファイル220も当然ながらファイルシステム200上のファイルとしてアクセスすることができる。本発明の実施の形態では、このユーザファイル220も仮想メモリ空間300上からアクセス可能であり、ファイル領域320においてメモリアドレスを指定することによって仮想メモリ空間300上のメモリとしてアクセスすることができる。
【0038】
すなわち、本発明の実施の形態では、不揮発メモリ180に主記憶領域およびファイル領域の両者が保持され、これらは仮想メモリ空間300上のメモリとしてアクセスされることができるとともに、ファイルシステム200上のファイルとしてもアクセスされることができる。
【0039】
なお、この例では説明の都合上、主記憶領域310とファイル領域320とが別個独立したものとして表されているが、これら領域は仮想メモリ空間上に混在していても構わない。
【0040】
図3は、本発明の実施の形態におけるファイルシステム200を管理するための仕組みを示す図である。ファイルシステム200は不揮発メモリ180において先頭アドレス(B)から始まる連続する物理アドレス上に確保される。このファイルシステム200は、ブロックと呼ばれるアクセス単位で管理される。従って、ファイルシステム200においてこのブロック番号(N)を指定することで、その記憶域を特定することができる。なお、このアクセス単位は、クラスタと呼ばれる場合もある。
【0041】
ファイルシステム200内に保持されるファイルを管理するためにファイル管理テーブル400が設けられる。このファイル管理テーブル400はファイルシステム200のブロック番号#0に格納されるものとする。このファイル管理テーブル400は、ディレクトリ領域410とファイルアロケーションテーブル(FAT)420とを備える。ディレクトリ領域410は、それぞれのファイルエントリにファイル名やそのファイルの先頭のブロック番号などを保持する。ファイルアロケーションテーブル420は、ファイルシステム200におけるブロック毎に次のブロック番号を保持する。このファイル管理テーブル400によりファイル名とファイルシステム200上の記憶域とが関連付けられる。
【0042】
ファイルシステム200上の各ブロックは仮想メモリ空間300上の仮想アドレスに割り当てられる。例えば、ファイルA(321)がファイルシステム200上のブロック#3、#1、#2、および、#5の4つのブロックに保持されている場合、各ブロックは仮想アドレス上のページを単位としてアクセスできるように設定される。この設定は、後述するページテーブル500により実現される。
【0043】
ファイルシステム200上のブロックと仮想メモリ空間300上のページとの関係としては、両者のサイズが等しいか、もしくは、一方が他方の整数倍であることが望ましい。それ以外の場合には半端な部分に対して帳尻を合わせるために制御が複雑となる。一般に、ファイルシステム200上のブロックは仮想メモリ空間300上のページよりも大きいサイズが採られることが多い。
【0044】
ここでは、例えば、ブロックサイズ(S)として4KBを、ページサイズ(P)として2KBをそれぞれ想定する。この場合、1ブロック当り2ページを備えることになるため、ファイルA(321)のブロック内ページ番号(M)としては$0と$1を繰り返すことになる。
【0045】
図4は、本発明の実施の形態におけるファイル管理テーブル400の構成例を示す図である。ファイル管理テーブル400は、上述のように、各ファイルに関する情報を保持するディレクトリ領域410と各ファイルのブロック同士の関係を保持するファイルアロケーションテーブル420とを備える。
【0046】
ディレクトリ領域410は、ファイルシステム200上の各ファイルに対応するファイルエントリを保持する。各ファイルエントリは、ファイル名411と、更新日時412と、ファイルサイズ413と、先頭ブロック番号414とを保持する。ファイル名411は、ファイルを特定するための名称である。このファイル名の付与規則はオペレーティングシステムに依存する。更新日時412は、そのファイルが最終的に更新された日時を表す。ファイルサイズ413は、そのファイルの占める容量を表す。この例では、ファイルサイズ413はバイトを単位としている。先頭ブロック番号414は、そのファイルの先頭のブロック番号を表す。従って、そのファイルにアクセスする際には、この先頭ブロック番号414の指すブロックから順にアクセスすることになる。
【0047】
ファイルアロケーションテーブル420は、ファイルシステム200の各ブロックに対応して、そのブロックが最終ブロックであるか否か、最終ブロックでなければ次のブロックは何れであるかを示す。例えば、ディレクトリ領域410における最初のファイル「FileA.txt」は、先頭ブロック番号414として「3」を示しており、このブロック番号「3」に対応するファイルアロケーションテーブル420は、次のブロック番号として「1」を示している。このブロック番号「1」に対応するファイルアロケーションテーブル420は、次のブロック番号として「2」を示している。また、このブロック番号「2」に対応するファイルアロケーションテーブル420は、次のブロック番号として「5」を示している。そして、このブロック番号「5」に対応するファイルアロケーションテーブル420は、そのブロックがファイルの最終ブロックであることを示している。すなわち、「FileA.txt」は、ブロック番号「3」、「1」、「2」、「5」の順に4つのブロックに保持されていることになる。
【0048】
このように、ファイル管理テーブル400によれば、ファイル名からファイルシステム200上の記憶域がブロック番号により特定される。プロセッサ110が不揮発メモリ180上に保存されているファイルにアクセスする際には、このブロック番号がデータ入出力線141に供給される。
【0049】
図5は、本発明の実施の形態におけるページテーブル500の構成例を示す図である。このページテーブル500は、仮想ページアドレス301に対応してページエントリを保持している。この仮想ページアドレス301は、仮想メモリ空間300における仮想アドレスのうちページを識別する上位アドレスであり、この仮想ページアドレス301とページ内アドレス302とにより仮想アドレスを構成する。
【0050】
各ページエントリは、物理ページアドレス501と、保護情報502と、空きフラグ503とを保持する。物理ページアドレス501は、仮想ページアドレス301に対応する物理ページアドレス201を示す。この物理ページアドレス201は、不揮発メモリ180における物理アドレスのうちページを識別する上位アドレスであり、この物理ページアドレス201とページ内アドレス202とにより物理アドレスを構成する。すなわち、このページテーブル500は、仮想アドレスを物理アドレスに変換するアドレス変換器として機能する。なお、ページ内アドレス302は変換されることなくページ内アドレス202として使用される。
【0051】
保護情報502は、そのページに関する保護情報であり、特権モードや一般モードなどの各モードに対応してそのページの読出しおよび更新が許可されるべきか否を表す。空きフラグ503は、その仮想ページに物理ページが割り当てられているか否かを示す。この空きフラグ503が「物理ページが割り当てられている」旨を示しているときには物理ページアドレス501には有効な物理ページアドレスが割り当てられていることになる。一方、空きフラグ503が「物理ページが割り当てられていない」旨を示しているときには、その仮想ページは未使用であり、必要であれば他の物理ページに割り当てられることが可能であることになる。
【0052】
このページテーブル500は、実体としては不揮発メモリ180に保持される。但し、その内容の一部または全部は命令メモリ管理ユニット130およびデータメモリ管理ユニット150にも保持されるため、実質的に命令メモリ管理ユニット130およびデータメモリ管理ユニット150がアドレス変換器として機能することになる。
【0053】
なお、このページテーブル500の構成例では、全ての仮想ページについて対応する物理ページアドレスを保持しているが、例えば仮想ページアドレスと物理ページアドレスの対をページテーブルに保持するようにして必要なページエントリだけを保持するようにしてもよい。但し、この場合、仮想アドレスの空き領域を別のデータ構造により管理する必要がある。
【0054】
次に、本発明の実施の形態におけるメモリ内容のファイル化およびファイル内容のメモリ化の処理について説明する。
【0055】
図6は、本発明の実施の形態における仮想メモリ空間300上のデータ311とファイルシステム200上のデータファイル211との関係を示す図である。主記憶領域310にはプロセッサ110によってデータ311が生成されていく。このデータ311はページファイル210としてもアクセス可能であるが、これをファイルとして保存することができる。データ311をファイルとして保存するにあたっては、データ311をファイル領域にコピーしてユーザファイル220とすることも可能であるが、この場合にはデータ転送の時間を要することになる。
【0056】
そこで、本発明の実施の形態においては、この主記憶領域310内のデータ311の実体をコピーすることなく、データファイル211として保存する。そのために、新たなファイルエントリがファイル管理テーブル400のディレクトリ領域410(図4)に作成されて、データファイル211のブロック番号がファイル管理テーブル400のファイルアロケーションテーブル420(図4)に登録される。
【0057】
データ311をデータファイル211として捉えた場合のブロック番号は、以下のように取得することができる。図3のように、物理アドレスによるファイルシステム200の先頭アドレスをB、ファイルシステム200におけるブロックサイズをSとすると、ある物理アドレスAに対応するブロック番号Nは次式により得られる。
N=FLOOR((A−B)/S) [式1]
但し、上式において、FLOOR()は括弧内の値の小数点以下を切り捨てることを意味する。
【0058】
このようにして得られたブロック番号をファイル管理テーブル400のディレクトリ領域410およびファイルアロケーションテーブル420(図4)に登録することにより、データ転送を伴うことなく、仮想メモリ空間300上のデータ311をファイルシステム200におけるデータファイル211として保存することができる。
【0059】
図7は、本発明の実施の形態において仮想メモリ空間300上のデータ312をファイルとして保存する場合の境界条件を示す図である。仮想メモリ空間300上のデータ312を不揮発メモリ180における物理アドレスに展開したとき、ファイルシステム200におけるブロック209に区切ると、例えば、ブロック#2、#6、および、#4の3つのブロックに跨るものとする。
【0060】
この場合、データ312をファイルとして保存するためには、データ312がブロック#2の先頭から始まっていることが条件となる。データ312がブロック#2の途中から始まっていると、このデータ312をそのままファイルとした場合にはファイルの先頭に無意味なデータが含まれてしまうことになるからである。
【0061】
一方、データ312がブロック#4の途中で終了しても、データ312をファイルとして保存するにあたって問題はない。ファイルとして保存する際にはブロックを単位として保存されるが、ファイル内容の最終位置はディレクトリ領域410のファイルサイズ413(図4)から知ることができるため、不要な領域については無視することができるからである。
【0062】
ここまでは、仮想メモリ空間300上のデータ312をファイルとして保存する場合の処理について説明したが、ファイルシステム200上のユーザファイル220を仮想メモリ空間300におけるデータとしてアクセスする場合には、逆にユーザファイル220のブロック番号を物理アドレスに変換してページテーブル500(図5)に登録しておくことにより、仮想メモリ空間300からアクセスすることができるようになる。
【0063】
ユーザファイル220のブロック番号に対応する物理アドレスは、以下のように取得することができる。図3のように、物理アドレスによるファイルシステム200の先頭アドレスをB、ファイルシステム200におけるブロックサイズをS、仮想メモリ空間300におけるページサイズをP、ブロック内ページ番号をMとすると、あるブロック番号Nに対応する物理アドレスAは次式により得られる。
A=B+N×S+P×M [式2]
【0064】
このようにして得られた物理アドレスをページテーブル500(図5)に登録しておくことにより、データ転送を伴うことなく、ファイルシステム200上のユーザファイル220を仮想メモリ空間300におけるデータとしてアクセスすることができる。
【0065】
図8は、本発明の実施の形態におけるメモリ化処理部111およびファイル化処理部116の機能構成例を示す図である。この図において、ファイル管理テーブル400およびページテーブル500は、メモリ化処理部111およびファイル化処理部116の両者からアクセスされる。これらファイル管理テーブル400およびページテーブル500は、上述のように不揮発メモリ180に保持されるものであり、それ以外の各部はプロセッサ110における処理として実現される。
【0066】
メモリ化処理部111は、ファイルシステム200上のファイルを仮想メモリ空間300におけるデータとしてアクセスできるようにする処理を行うものであり、ファイル指定部112と、物理アドレス算出部113と、メモリ領域取得部114とを備える。
【0067】
ファイル指定部112は、データとしてアクセスしようとするファイルシステム200上のファイルを指定する。指定されたファイルはファイル管理テーブル400のディレクトリ領域410において検索され、先頭ブロック番号414(図4)から順にファイルアロケーションテーブル420に示されるブロック番号が物理アドレス算出部113に供給される。
【0068】
物理アドレス算出部113は、ファイル管理テーブル400から供給されたファイルシステム200上のブロック番号に基づいて不揮発メモリ180上の物理アドレスを算出する。具体的な算出式は、上述の式2に示したとおりである。この物理アドレス算出部113により算出された物理アドレスは、ページテーブル500に供給され、対応するページエントリの物理ページアドレス501として登録される。
【0069】
メモリ領域取得部114は、仮想メモリ空間300における空き領域を検索してメモリ領域を取得する。ここで取得されるのはあくまでも仮想メモリ空間300における仮想アドレスであって、不揮発メモリ180上の物理アドレスを新たに確保するわけではない。メモリ領域取得部114は、ページテーブル500の空き領域フラグ503(図5)を参照して、未使用となっている仮想ページアドレスを検索し、未使用のページエントリの物理ページアドレス501に物理アドレス算出部113から供給された物理アドレスのページアドレスを登録する。その結果、物理アドレスに対して仮想アドレスが割り当てられる。
【0070】
これにより、指定されたファイルは、ファイルとしてアクセスされるだけでなく、メモリ領域取得部114により割り当てられた仮想アドレスによって仮想メモリ空間300上のデータとしてアクセスされることが可能となる。
【0071】
なお、メモリ領域取得部114によって仮想アドレスが割り当てられた後は、ファイル指定部112によってファイル管理テーブル400のディレクトリ領域410(図4)におけるファイルエントリを削除するようにしてもよい。この場合、削除されたファイルエントリに対応する領域はそれ以降ファイルとしてアクセスできなくなり、もっぱら仮想メモリ空間300上のデータとしてアクセスされることになる。
【0072】
一方、ファイル化処理部116は、仮想メモリ空間300上のデータをファイルとして保存する処理を行うものであり、メモリ領域指定部117と、ブロック番号算出部118と、ファイル生成部119とを備える。
【0073】
メモリ領域指定部117は、ファイルとしてアクセスしようとする仮想メモリ空間300上のデータ(メモリ領域)の仮想アドレスを指定する。指定されたデータの仮想アドレスはページテーブル500(図5)において検索され、対応する物理アドレスがブロック番号算出部118に供給される。
【0074】
ブロック番号算出部118は、ページテーブル500から供給された不揮発メモリ180上の物理アドレスに基づいてファイルシステム200上のブロック番号を算出する。具体的な算出式は、上述の式1に示したとおりである。このブロック番号算出部118により算出されたブロック番号は、ファイル管理テーブル400に供給され、対応するファイルのブロック番号として登録される。
【0075】
ファイル生成部119は、ファイル管理テーブル400のディレクトリ領域410(図4)において新たにファイルエントリを確保して、ブロック番号算出部118から供給されたブロック番号を登録していく。その結果、新たにファイルが生成されるが、対応するブロック番号により示される内容は元々仮想メモリ空間300上に存在していたデータであり、不揮発メモリ180上の物理アドレスが新たに確保されるわけではない。
【0076】
これにより、指定されたデータは、仮想メモリ空間300上のデータとしてアクセスされるだけでなく、ファイル生成部119により生成されたファイルとしてアクセスされることが可能となる。
【0077】
なお、ファイル生成部119によってファイルが生成された後は、メモリ領域指定部117によってページテーブル500におけるページエントリを削除するようにしてもよい。この場合、削除されたページエントリに対応する領域はそれ以降データとしてアクセスできなくなり、もっぱらファイルシステム200上のファイルとしてアクセスされることになる。
【0078】
図9は、本発明の実施の形態のメモリ化処理部111における処理手順の一例を示す図である。まず、データとしてアクセスしようとするファイルシステム200上のファイルがファイル指定部112によって指定されると、その指定されたファイルの先頭ブロック番号414(図4)がファイル管理テーブル400のディレクトリ領域410から読み出される(ステップS911)。
【0079】
先頭ブロック番号414が読み出されると、物理アドレス算出部113はその先頭ブロック番号414に対応する不揮発メモリ180上の物理アドレスを算出する(ステップS912)。具体的な算出式は、上述の式2に示したとおりである。この算出された物理アドレスはページテーブル500に供給される。
【0080】
メモリ領域取得部114は、仮想メモリ空間300における空き領域を検索してメモリ領域を取得する(ステップS913)。この取得されたメモリ領域の仮想アドレスはページテーブル500に供給される。
【0081】
ステップS912において算出された物理アドレスの物理ページアドレスが、ステップS913において取得されたメモリ領域の仮想アドレスの仮想ページアドレスに対応する物理ページアドレス501(図5)としてページテーブル500に登録される。
【0082】
そして、指定されたファイルについてページテーブル500への登録が行われていないブロックが存在する場合には(ステップS915)、ファイル管理テーブル400のファイルアロケーションテーブル420(図4)において次のブロックのブロック番号が読み出され(ステップS911)、メモリ化処理は継続される。一方、指定されたファイルの全てのブロックに関してページテーブル500への登録が完了した場合には(ステップS915)、メモリ化処理は終了する。
【0083】
これにより、指定されたファイルは、ファイルとしてアクセスされるだけでなく、メモリ領域取得部114により割り当てられた仮想アドレスによって仮想メモリ空間300上のデータとしてアクセスされることが可能となる。
【0084】
図10は、本発明の実施の形態のファイル化処理部116における処理手順の一例を示す図である。まず、ファイル生成部119によって、ファイル管理テーブル400のディレクトリ領域410において新たにファイルエントリが確保される(ステップS931)。このとき、新規のファイル名を付与することができる。
【0085】
ファイルとしてアクセスしようとする仮想メモリ空間300上のデータの仮想アドレスがメモリ領域指定部117によって指定されると、その指定されたデータの先頭の仮想アドレスがページテーブル500によって物理アドレスに変換されて出力される(ステップS932)。
【0086】
変換された物理アドレスが出力されると、ブロック番号算出部118はこの物理アドレスに対応するファイルシステム200上のブロック番号を「現在のブロック番号」として算出する(ステップS933)。具体的な算出式は、上述の式1に示したとおりである。この算出されたブロック番号は、ファイル管理テーブル400のディレクトリ領域410の先頭ブロック番号414(図4)に登録される。
【0087】
そして、指定されたデータが次のブロック境界を越える場合には(ステップS934)、次のブロック境界の先頭の仮想アドレスがページテーブル500によって物理アドレスに変換されて出力される(ステップS935)。この物理アドレスはブロック番号算出部118に供給され、その結果、ファイルシステム200上の「次のブロック番号」が算出される(ステップS936)。
【0088】
この「次のブロック番号」は、ファイルアロケーションテーブル420における「現在のブロック番号」に設定される(ステップS937)。例えば、図4の例において、「FileA.txt」の先頭ブロック番号414の「3」が「現在のブロック番号」であるとすると、ファイルアロケーションテーブル420の第3アドレス(上から4つ目のブロック)には「次のブロック番号」である「1」が設定される。そして、この「次のブロック番号」を新たな「現在のブロック番号」として(ステップS938)、次の処理(ステップS934)に進む。
【0089】
一方、ステップS934において次のブロック境界を越えないと判断された場合には、ファイルアロケーションテーブル420における「現在のブロック番号」にファイルの最終値を示す値が設定される(ステップS939)。例えば、ファイルアロケーションテーブル420の各ブロックのビット幅が32ビットであれば、最終値として「FFFFFFFF」(16進表記)を採用することができる。
【0090】
これにより、指定されたデータは、仮想メモリ空間300上のデータとしてアクセスされるだけでなく、ファイル生成部119により生成されたファイルとしてアクセスされることが可能となる。
【0091】
このように、本発明の実施の形態によれば、不揮発メモリ180に主記憶領域310とファイル領域320の両者を保持し、これらの内容を仮想メモリ空間300上のデータとしてアクセス可能とするとともにファイルシステム200上のファイルとしてもアクセス可能とすることができる。
【0092】
また、本発明の実施の形態の応用として種々の用途が考えられる。例えば、図11のように、ファイルシステム200上にページファイルA250とページファイルB260の2種類のページファイルを保持しておき、コンピュータシステムの起動時にページファイルを切り替えることにより異なる環境を設定することができる。
【0093】
ここで、ページファイルA250をオペレーティングシステムAの実行環境、ページファイルB260をオペレーティングシステムBの実行環境とすれば、外部記憶装置を使用することなくオペレーティングシステムAおよびオペレーティングシステムBの切り替えを実現することができる。ページファイルA250およびページファイルB260の内容はその都度メモリに転送する必要はなく、そのまま仮想メモリ空間300上の主記憶領域360としてアクセスすることが可能である。
【0094】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【0095】
すなわち、請求項1において、ファイル指定手段は、例えばファイル指定部112に対応する。また、物理アドレス算出手段は、例えば物理アドレス算出部113に対応する。また、メモリ領域取得手段は、例えばメモリ領域取得部114に対応する。また、不揮発メモリは、例えば不揮発メモリ180に対応する。また、ファイル管理テーブルは、例えばファイル管理テーブル400に対応する。また、アドレス変換器は、例えばページテーブル500に対応する。また、アクセス単位番号は、例えばブロック番号やクラスタ番号に対応する。
【0096】
また、請求項2において、メモリ領域指定手段は、例えばメモリ領域指定部117に対応する。
【0097】
また、請求項5において、メモリ領域指定手段は、例えばメモリ領域指定部117に対応する。また、アクセス単位番号算出手段は、例えばブロック番号算出部118に対応する。また、ファイル生成手段は、例えばファイル生成部119に対応する。また、不揮発メモリは、例えば不揮発メモリ180に対応する。また、アドレス変換器は、例えばページテーブル500に対応する。また、ファイル管理テーブルは、例えばファイル管理テーブル400に対応する。
【0098】
また、請求項6において、ファイル指定手段は、例えばファイル指定部112に対応する。また、アクセス単位番号は、例えばブロック番号やクラスタ番号に対応する。
【0099】
また、請求項9において、不揮発メモリは、例えば不揮発メモリ180に対応する。また、処理装置は、例えばプロセッサ110に対応する。また、ファイル管理テーブルは、例えばファイル管理テーブル400に対応する。また、アドレス変換器は、例えばページテーブル500に対応する。また、コンピュータシステムは、例えばコンピュータシステム100に対応する。また、ファイル指定手段は、例えばファイル指定部112に対応する。また、物理アドレス算出手段は、例えば物理アドレス算出部113に対応する。また、メモリ領域取得手段は、例えばメモリ領域取得部114に対応する。また、アクセス単位番号は、例えばブロック番号やクラスタ番号に対応する。
【0100】
また、請求項10において、不揮発メモリは、例えば不揮発メモリ180に対応する。また、処理装置は、例えばプロセッサ110に対応する。また、ファイル管理テーブルは、例えばファイル管理テーブル400に対応する。また、アドレス変換器は、例えばページテーブル500に対応する。また、コンピュータシステムは、例えばコンピュータシステム100に対応する。また、ファイル指定手段は、例えばファイル指定部112に対応する。また、物理アドレス算出手段は、例えば物理アドレス算出部113に対応する。また、メモリ領域取得手段は、例えばメモリ領域取得部114に対応する。また、アクセス単位番号は、例えばブロック番号やクラスタ番号に対応する。また、複数種類のページファイルは、例えばページファイルA250およびページファイルB260に対応する。
【0101】
また、請求項11において、不揮発メモリは、例えば不揮発メモリ180に対応する。また、処理装置は、例えばプロセッサ110に対応する。また、ファイル管理テーブルは、例えばファイル管理テーブル400に対応する。また、アドレス変換器は、例えばページテーブル500に対応する。また、コンピュータシステムは、例えばコンピュータシステム100に対応する。
また、メモリ領域指定手段は、例えばメモリ領域指定部114に対応する。また、アクセス単位番号算出手段は、例えばブロック番号算出部118に対応する。また、ファイル生成手段は、例えばファイル生成部119に対応する。また、アクセス単位番号は、例えばブロック番号に対応する。
【0102】
また、請求項12または14において、不揮発メモリ上に存在するファイルを指定してファイル管理テーブルから前記ファイルのアクセス単位番号を読み出す手順は、例えばステップS911に対応する。また、前記アクセス単位番号に基づいて前記不揮発メモリ上の物理アドレスを算出する手順は、例えばステップS912に対応する。また、仮想アドレス空間においてメモリ領域を取得する手順は、例えばステップS913に対応する。また、前記取得されたメモリ領域の仮想アドレスに前記物理アドレスが対応するようアドレス変換器に登録する手順は、例えばステップS914に対応する。
【0103】
また、請求項13または15において、不揮発メモリ上のファイルを管理するファイル管理テーブル上にファイルエントリを生成する手順は、例えばステップS931に対応する。また、前記不揮発メモリ上のメモリ領域を仮想アドレスにより指定してアドレス変換器から対応する物理アドレスを取得する手順は、例えばステップS932に対応する。また、前記物理アドレスに基づいて前記不揮発メモリ上のアクセス単位番号を算出する手順は、例えばステップS933に対応する。また、前記ファイルエントリに前記アクセス単位番号を登録する手順は、例えばステップS937またはS939に対応する。
【0104】
なお、本発明の実施の形態におけるコンピュータシステムは本発明の適用の一例であり、本発明は撮像装置、パーソナルコンピュータ、PDA,DVDプレーヤ、セットトップボックス、ルーター、ロボット、ホームサーバー、携帯端末、ゲーム機、ネットワーク端末などに広く適用することができる。
【0105】
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【0106】
【発明の効果】
以上の説明で明らかなように、本発明によると、不揮発メモリの同じ領域を主記憶領域およびファイル領域の何れとしてもアクセスできるコンピュータシステムを提供するという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるコンピュータシステムの全体構成の一例を示す図である。
【図2】本発明の実施の形態における仮想メモリ空間300とファイルシステム200との関係を示す図である。
【図3】本発明の実施の形態におけるファイルシステム200を管理するための仕組みを示す図である。
【図4】本発明の実施の形態におけるファイル管理テーブル400の構成例を示す図である。
【図5】本発明の実施の形態におけるページテーブル500の構成例を示す図である。
【図6】本発明の実施の形態における仮想メモリ空間300上のデータ311とファイルシステム200上のデータファイル211との関係を示す図である。
【図7】本発明の実施の形態において仮想メモリ空間300上のデータ312をファイルとして保存する場合の境界条件を示す図である。
【図8】本発明の実施の形態におけるメモリ化処理部111およびファイル化処理部116の機能構成例を示す図である。
【図9】本発明の実施の形態のメモリ化処理部111における処理手順の一例を示す図である。
【図10】本発明の実施の形態のファイル化処理部116における処理手順の一例を示す図である。
【図11】本発明の実施の形態の応用として複数の実行環境をファイルシステム200上に保持する例を示す図である。
【符号の説明】
100 コンピュータシステム
110 プロセッサ
111 メモリ化処理部
112 ファイル指定部
113 物理アドレス算出部
114 メモリ領域取得部
116 ファイル化処理部
117 メモリ領域指定部
118 ブロック番号算出部
119 ファイル生成部
120 命令キャッシュ
121 命令入力線
122 命令アドレス線
130 命令メモリ管理ユニット
136 命令アドレス線
140 データキャッシュ
141 データ入出力線
142 データアドレス線
150 データメモリ管理ユニット
156 データアドレス線
160 バスコントローラ
162 命令入力線
164 データ入力線
170 メモリバス
180 不揮発メモリ
200 ファイルシステム
300 仮想メモリ空間
310 主記憶領域
320 ファイル領域
360 主記憶領域
400 ファイル管理テーブル
420 ファイルアロケーションテーブル
500 ページテーブル[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a computer system using a non-volatile memory, and more particularly to a computer system and a processing apparatus that allow a main memory and a file to coexist on a non-volatile memory, a processing method in these, and a method for causing a computer to execute the method. About the program.
[0002]
[Prior art]
In a conventional computer system, a small-capacity, high-speed SRAM (Static Random Access Memory) or the like is used as a cache memory under a traditional memory hierarchical structure, and a medium-capacity, medium-speed DRAM ( Dynamic Random Access Memory) is used, and a large-capacity, low-speed magnetic disk device is used as an external storage device. The main storage area accessed by the memory address from the processor is held in the main storage device, and the file area accessed as a file is held in the magnetic disk device.
[0003]
The main storage device has a volatile property that the stored contents are lost when the power of the device is turned off, and the main storage area is cleared every time the power is turned off. On the other hand, the magnetic disk device has a nonvolatile property that the stored contents are not lost even when the power of the device is turned off, and the contents of the file stored in the magnetic disk device are maintained even after the power is turned off. You.
[0004]
On the other hand, a RAM disk has been used in which the access to the file is accelerated by arranging the file on the memory. This is to secure an area for a RAM disk in an extended memory area in the main storage device and use this area as a file area. However, since the main storage device is a volatile memory as described above, its contents cannot be maintained when the power is turned off as it is, and a method such as battery backup of the RAM disk area to protect the file contents has been adopted. It became necessary (for example, refer to Patent Document 1).
[0005]
On the other hand, in recent years, the development of an MRAM (Magnetic Random Access Memory) as a memory having a nonvolatile property has been advanced. This MRAM utilizes the TMR effect in a tunnel magnetoresistive (TMR) element in which an insulator is sandwiched between ferromagnetic substances. That is, in the TMR element, the electric resistance decreases when the spin directions of the ferromagnetic layers are parallel, and the electric resistance increases when the spin directions of the ferromagnetic layers are antiparallel. The state of the TMR element can be known by detecting the electric resistance. The spin direction of the ferromagnetic layer can be changed by an external magnetic field, and the state is maintained even when the magnetic field disappears. Thereby, a nonvolatile storage element is realized.
[0006]
Since this MRAM has a simple structure, it is expected to realize high-speed and high-integration of a storage element, and a technique for improving power consumption and the like has been proposed for practical use (for example, And
[0007]
[Patent Document 1]
JP-A-8-147225 (FIG. 1)
[Patent Document 2]
JP-A-2003-133528 (FIG. 1)
[0008]
[Problems to be solved by the invention]
As described above, when a large-capacity and high-speed nonvolatile memory such as an MRAM is used for the main storage device, it becomes easy to provide a file area in the main storage device like a conventional RAM disk. This is because a non-volatile memory can store a file without being affected by power-off, and can be expected to access at a higher speed than a magnetic disk device.
[0009]
However, the file stored in the nonvolatile memory is a file to the last, and is recognized only as a file by software. Therefore, in order to access this file, the contents specified by the file name are temporarily transferred to a buffer in the main storage area, and the contents of the buffer are accessed. On the other hand, when the data in the main storage area is stored in a file, the data is transferred to the file area and stored as a file separately from the data in the main storage area.
[0010]
As described above, in a case where the main storage area and the file area are to be held in the non-volatile memory, the conventional technique determines whether the main storage area and the file area are handled as data or a file in the main storage area. It is necessary to perform data transfer, and the transfer time required for the data transfer becomes a problem.
[0011]
Therefore, an object of the present invention is to provide a computer system that can access the same area of a nonvolatile memory as both a main storage area and a file area.
[0012]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, a processing apparatus according to
[0013]
According to a second aspect of the present invention, there is provided the processing apparatus according to the first aspect, wherein a memory area on the nonvolatile memory is specified by a virtual address and a corresponding physical address is obtained from the address converter. The apparatus further comprises an area designating means for accessing the non-volatile memory by the physical address read by the memory area designating means. This brings about an effect that a file existing in the nonvolatile memory can be accessed using the virtual address specified by the memory area specifying means.
[0014]
According to a third aspect of the present invention, in the processing apparatus according to the second aspect, the non-volatile memory is accessed by the access unit number read by the file designating means. This brings about an effect that a file existing on the nonvolatile memory can be accessed using the virtual address and also accessible as a file.
[0015]
According to a fourth aspect of the present invention, in the processing apparatus of the first aspect, the file designating means deletes a file entry of the specified file from the file management table. This brings about an effect that access as a file is prohibited.
[0016]
Further, the processing device according to
[0017]
According to a sixth aspect of the present invention, in the processing apparatus according to the fifth aspect, a file designating means for designating a file on the nonvolatile memory and reading an access unit number of the file from the file management table. In addition, the non-volatile memory is accessed by the access unit number read by the file designating means. This brings about an effect that it is possible to access the memory area on the nonvolatile memory as the file specified by the file specifying means.
[0018]
According to a seventh aspect of the present invention, in the processing apparatus according to the sixth aspect, the non-volatile memory is accessed by a physical address read by the memory area designating means. This brings about the effect that the memory area on the non-volatile memory can be accessed as a file and also as data.
[0019]
Also, in the processing device according to
[0020]
According to a ninth aspect of the present invention, there is provided a computer system, comprising: a non-volatile memory; a processing device using the non-volatile memory as a main storage area and a file area; a file management table for managing files on the non-volatile memory; An address converter for converting a virtual address in the device to a physical address on the non-volatile memory, wherein the processing device specifies a file existing on the non-volatile memory and outputs the file from the file management table. File designating means for reading the access unit number of the file, physical address calculating means for calculating a physical address on the nonvolatile memory based on the access unit number, acquiring a memory area in a virtual address space, and Add the above physical address to the virtual address. There are those comprising a memory area obtaining means for registering in the address converter as corresponding. This brings about an effect that the file specified by the file specifying unit can be accessed using the virtual memory obtained by the memory area obtaining unit.
[0021]
According to another aspect of the present invention, there is provided a computer system comprising: a non-volatile memory; a processing device using the non-volatile memory as a main storage area and a file area; a file management table for managing files on the non-volatile memory; An address converter for converting a virtual address in the device to a physical address on the non-volatile memory, wherein the non-volatile memory holds a plurality of types of page files, and the processing device is used as a main storage area. File specifying means for selecting and specifying a page file to be used from the plurality of types of page files and reading an access unit number of the specified page file from the file management table; and a nonvolatile memory based on the access unit number Calculate the above physical address A physical address computing unit, in which and a memory area obtaining means for registering in the address converter to the physical address to a virtual address of the memory area to retrieve the memory area corresponds in the virtual address space. This brings about an effect that it is possible to switch and use a plurality of types of page files as the execution environment of the computer system.
[0022]
A computer system according to an eleventh aspect of the present invention includes a non-volatile memory, a processing device using the non-volatile memory as a main storage area and a file area, a file management table for managing files on the non-volatile memory, An address converter for converting a virtual address in the device into a physical address on the non-volatile memory, wherein the processing device specifies the memory area on the non-volatile memory by a virtual address and performs the address conversion. Memory area specifying means for obtaining a corresponding physical address from a device, access unit number calculating means for calculating an access unit number in the nonvolatile memory based on the physical address, and generating a file entry in the file management table. Access the file entry It is intended and a file generation means for registering a unit number. This brings about the effect that the memory area on the non-volatile memory specified by the memory area specifying means can be accessed as a file.
[0023]
The processing method according to claim 12 of the present invention further comprises a step of designating a file existing in a nonvolatile memory and reading an access unit number of the file from a file management table, and a step of reading the nonvolatile memory based on the access unit number. A step of calculating the above physical address, a step of acquiring a memory area in the virtual address space, and a step of registering in the address translator such that the physical address corresponds to the virtual address of the acquired memory area. . This brings about an effect that the designated file can be accessed as data by the virtual address.
[0024]
According to a thirteenth aspect of the present invention, there is provided a processing method for generating a file entry on a file management table for managing a file on a non-volatile memory, and specifying a memory area on the non-volatile memory by a virtual address. A step of obtaining a corresponding physical address from the converter; a step of calculating an access unit number in the nonvolatile memory based on the physical address; and a step of registering the access unit number in the file entry. This brings about the effect that the specified memory area on the nonvolatile memory can be accessed as a file.
[0025]
A program according to a fourteenth aspect of the present invention is a program for designating a file existing in a non-volatile memory and reading an access unit number of the file from a file management table. Calculating a physical address of the memory area in the virtual address space, and registering the physical address in the address converter so that the physical address corresponds to the virtual address of the obtained memory area. It is to let. This brings about an effect that the designated file can be accessed as data by the virtual address.
[0026]
According to another aspect of the present invention, there is provided a program for generating a file entry on a file management table for managing a file on a nonvolatile memory, and performing address conversion by designating a memory area on the nonvolatile memory by a virtual address. Causing the computer to execute a procedure of obtaining a corresponding physical address from a device, a procedure of calculating an access unit number in the nonvolatile memory based on the physical address, and a procedure of registering the access unit number in the file entry. Things. This brings about the effect that the specified memory area on the nonvolatile memory can be accessed as a file.
[0027]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0028]
FIG. 1 is a diagram illustrating an example of an overall configuration of a computer system according to an embodiment of the present invention. In the computer system 100, an
[0029]
In this example, the
[0030]
An
[0031]
A
[0032]
A
[0033]
The bus controller 160 controls the access to the
[0034]
The
[0035]
FIG. 2 is a diagram showing a relationship between the
[0036]
On the other hand, when this is regarded as a file system, the
[0037]
Of course, the
[0038]
That is, in the embodiment of the present invention, both the main storage area and the file area are held in the
[0039]
In this example, for convenience of explanation, the
[0040]
FIG. 3 is a diagram showing a mechanism for managing the
[0041]
A file management table 400 is provided to manage files held in the
[0042]
Each block in the
[0043]
As for the relationship between the block on the
[0044]
Here, for example, 4 KB is assumed as the block size (S) and 2 KB is assumed as the page size (P). In this case, since two blocks are provided per block, $ 0 and $ 1 are repeated as the page number (M) in the block of the file A (321).
[0045]
FIG. 4 is a diagram showing a configuration example of the file management table 400 according to the embodiment of the present invention. As described above, the file management table 400 includes the
[0046]
The
[0047]
The file allocation table 420 indicates, for each block in the
[0048]
Thus, according to the file management table 400, the storage area on the
[0049]
FIG. 5 is a diagram illustrating a configuration example of the page table 500 according to the embodiment of the present invention. The page table 500 holds a page entry corresponding to the
[0050]
Each page entry holds a
[0051]
The
[0052]
This page table 500 is held in the
[0053]
In the configuration example of the page table 500, the corresponding physical page addresses are held for all the virtual pages. However, for example, a necessary page is stored by holding a pair of the virtual page address and the physical page address in the page table. Only the entries may be held. However, in this case, it is necessary to manage the free area of the virtual address by another data structure.
[0054]
Next, a description will be given of a process of converting memory contents into a file and storing the file contents into a memory according to the embodiment of the present invention.
[0055]
FIG. 6 is a diagram illustrating a relationship between
[0056]
Therefore, in the embodiment of the present invention, the entity of the
[0057]
The block number when the
N = FLOOR ((AB) / S) [Equation 1]
However, in the above equation, FLOOR () means that the value in parentheses is rounded down to the decimal point.
[0058]
By registering the block number thus obtained in the
[0059]
FIG. 7 is a diagram showing boundary conditions when
[0060]
In this case, in order to store the
[0061]
On the other hand, even if the
[0062]
Up to this point, the processing when the
[0063]
The physical address corresponding to the block number of the
A = B + N × S + P × M [Equation 2]
[0064]
By registering the physical address thus obtained in the page table 500 (FIG. 5), the
[0065]
FIG. 8 is a diagram illustrating a functional configuration example of the
[0066]
The
[0067]
The
[0068]
The physical
[0069]
The memory
[0070]
As a result, the specified file can be accessed not only as a file but also as data in the
[0071]
After the virtual address is allocated by the memory
[0072]
On the other hand, the
[0073]
The memory
[0074]
The block number calculation unit 118 calculates a block number on the
[0075]
The
[0076]
As a result, the designated data can be accessed not only as data in the
[0077]
After a file is generated by the
[0078]
FIG. 9 is a diagram showing an example of a processing procedure in the
[0079]
When the
[0080]
The memory
[0081]
The physical page address of the physical address calculated in step S912 is registered in the page table 500 as the physical page address 501 (FIG. 5) corresponding to the virtual page address of the virtual address of the memory area acquired in step S913.
[0082]
If there is a block that has not been registered in the page table 500 for the specified file (step S915), the block number of the next block in the file allocation table 420 of the file management table 400 (FIG. 4) Is read out (step S911), and the memory conversion process is continued. On the other hand, when registration of all blocks of the specified file in the page table 500 is completed (step S915), the memory conversion process ends.
[0083]
As a result, the specified file can be accessed not only as a file but also as data in the
[0084]
FIG. 10 is a diagram illustrating an example of a processing procedure in the
[0085]
When the virtual address of the data in the
[0086]
When the converted physical address is output, the block number calculation unit 118 calculates the block number on the
[0087]
If the specified data exceeds the next block boundary (step S934), the virtual address at the head of the next block boundary is converted into a physical address by the page table 500 and output (step S935). This physical address is supplied to the block number calculation unit 118, and as a result, the “next block number” on the
[0088]
This “next block number” is set to “current block number” in the file allocation table 420 (step S937). For example, in the example of FIG. 4, if “3” of the
[0089]
On the other hand, if it is determined in step S934 that the current block number does not exceed the next block boundary, a value indicating the final value of the file is set in “current block number” in the file allocation table 420 (step S939). For example, if the bit width of each block in the file allocation table 420 is 32 bits, “FFFFFFFF” (hexadecimal notation) can be adopted as the final value.
[0090]
As a result, the designated data can be accessed not only as data in the
[0091]
As described above, according to the embodiment of the present invention, both the
[0092]
Further, various applications can be considered as applications of the embodiment of the present invention. For example, as shown in FIG. 11, two types of page files, a page file A250 and a page file B260, are stored in the
[0093]
Here, if the
[0094]
The embodiment of the present invention is an example for embodying the present invention, and has a corresponding relationship with the invention specifying items in the claims as described below, but is not limited thereto. Various modifications can be made without departing from the spirit of the present invention.
[0095]
That is, in
[0096]
Further, in
[0097]
In
[0098]
In
[0099]
Further, in claim 9, the nonvolatile memory corresponds to, for example, the
[0100]
Further, in claim 10, the non-volatile memory corresponds to, for example, the
[0101]
Further, in claim 11, the non-volatile memory corresponds to, for example, the
The memory area designating unit corresponds to, for example, the memory
[0102]
Further, the procedure of designating a file existing in the nonvolatile memory and reading the access unit number of the file from the file management table in claim 12 or 14 corresponds to, for example, step S911. The procedure for calculating the physical address on the nonvolatile memory based on the access unit number corresponds to, for example, step S912. The procedure for acquiring the memory area in the virtual address space corresponds to, for example, step S913. The procedure of registering the physical address in the address converter so as to correspond to the acquired virtual address of the memory area corresponds to, for example, step S914.
[0103]
A procedure for generating a file entry on a file management table for managing files on a nonvolatile memory according to claim 13 or 15 corresponds to, for example, step S931. The procedure of specifying a memory area on the non-volatile memory by a virtual address and obtaining a corresponding physical address from the address converter corresponds to, for example, step S932. The procedure for calculating the access unit number on the nonvolatile memory based on the physical address corresponds to, for example, step S933. The procedure for registering the access unit number in the file entry corresponds to, for example, step S937 or S939.
[0104]
Note that the computer system according to the embodiment of the present invention is an example of application of the present invention, and the present invention relates to an imaging device, a personal computer, a PDA, a DVD player, a set-top box, a router, a robot, a home server, a portable terminal, and a game. Machine, network terminal, etc.
[0105]
Further, the processing procedure described in the embodiment of the present invention may be regarded as a method having these series of procedures, and a program for causing a computer to execute these series of procedures or a recording medium storing the program It may be considered as.
[0106]
【The invention's effect】
As apparent from the above description, according to the present invention, an effect is provided that a computer system that can access the same area of the nonvolatile memory as both the main storage area and the file area is provided.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of an overall configuration of a computer system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a relationship between a
FIG. 3 is a diagram showing a mechanism for managing the
FIG. 4 is a diagram showing a configuration example of a file management table 400 according to the embodiment of the present invention.
FIG. 5 is a diagram showing a configuration example of a page table 500 according to the embodiment of the present invention.
FIG. 6 is a diagram showing a relationship between
FIG. 7 is a diagram showing boundary conditions when
FIG. 8 is a diagram illustrating a functional configuration example of a
FIG. 9 is a diagram illustrating an example of a processing procedure in the memory
FIG. 10 is a diagram illustrating an example of a processing procedure in the filing processing unit according to the embodiment of this invention.
FIG. 11 is a diagram showing an example in which a plurality of execution environments are stored in a
[Explanation of symbols]
100 computer system
110 processor
111 Memory conversion processing unit
112 File specification section
113 Physical Address Calculation Unit
114 Memory area acquisition unit
116 File Processing Unit
117 Memory area specification section
118 Block number calculation unit
119 File Generation Unit
120 instruction cache
121 Command input line
122 Instruction address line
130 Instruction memory management unit
136 instruction address line
140 data cache
141 data input / output line
142 data address line
150 Data memory management unit
156 data address line
160 bus controller
162 Command input line
164 data input line
170 memory bus
180 Non-volatile memory
200 file system
300 virtual memory space
310 Main storage area
320 File area
360 main storage area
400 File management table
420 File Allocation Table
500 page table
Claims (15)
前記アクセス単位番号に基づいて前記不揮発メモリ上の物理アドレスを算出する物理アドレス算出手段と、
仮想アドレス空間においてメモリ領域を取得してそのメモリ領域の仮想アドレスに前記物理アドレスが対応するようアドレス変換器に登録するメモリ領域取得手段と
を具備することを特徴とする処理装置。File designating means for designating a file existing on the nonvolatile memory and reading an access unit number of the file from a file management table;
Physical address calculating means for calculating a physical address on the nonvolatile memory based on the access unit number;
A processing apparatus comprising: a memory area acquiring unit that acquires a memory area in a virtual address space and registers the memory area in an address converter so that the physical address corresponds to a virtual address of the memory area.
前記メモリ領域指定手段により読み出された物理アドレスにより前記不揮発メモリにアクセスすることを特徴とする請求項1記載の処理装置。Further comprising a memory area specifying means for specifying a memory area on the non-volatile memory by a virtual address and obtaining a corresponding physical address from the address converter,
2. The processing device according to claim 1, wherein the non-volatile memory is accessed by a physical address read by the memory area specifying unit.
ことを特徴とする請求項1記載の処理装置。2. The processing device according to claim 1, wherein the file specification unit deletes a file entry of the specified file from the file management table.
前記物理アドレスに基づいて前記不揮発メモリ上のアクセス単位番号を算出するアクセス単位番号算出手段と、
ファイル管理テーブルにファイルエントリを生成してそのファイルエントリに前記アクセス単位番号を登録するファイル生成手段と
を具備することを特徴とする処理装置。Memory area specifying means for specifying a memory area on the non-volatile memory by a virtual address and obtaining a corresponding physical address from the address converter;
Access unit number calculating means for calculating an access unit number on the nonvolatile memory based on the physical address;
A processing apparatus comprising: a file generation unit that generates a file entry in a file management table and registers the access unit number in the file entry.
前記ファイル指定手段により読み出されたアクセス単位番号により前記不揮発メモリにアクセスすることを特徴とする請求項5記載の処理装置。Further comprising a file designation unit for designating a file on the nonvolatile memory and reading an access unit number of the file from the file management table,
6. The processing device according to claim 5, wherein the non-volatile memory is accessed by an access unit number read by the file designating unit.
ことを特徴とする請求項5記載の処理装置。6. The processing apparatus according to claim 5, wherein the memory area designating unit registers the designated virtual address in the address translator such that the designated virtual address becomes unused.
前記処理装置は、
前記不揮発メモリ上に存在するファイルを指定して前記ファイル管理テーブルから前記ファイルのアクセス単位番号を読み出すファイル指定手段と、
前記アクセス単位番号に基づいて前記不揮発メモリ上の物理アドレスを算出する物理アドレス算出手段と、
仮想アドレス空間においてメモリ領域を取得してそのメモリ領域の仮想アドレスに前記物理アドレスが対応するよう前記アドレス変換器に登録するメモリ領域取得手段と
を備えることを特徴とするコンピュータシステム。A non-volatile memory, a processing device using the non-volatile memory as a main storage area and a file area, a file management table for managing files on the non-volatile memory, and converting a virtual address in the processing device into a physical address on the non-volatile memory A computer system comprising:
The processing device includes:
File designating means for designating a file existing on the nonvolatile memory and reading an access unit number of the file from the file management table;
Physical address calculating means for calculating a physical address on the nonvolatile memory based on the access unit number;
A computer system comprising: a memory area acquisition unit that acquires a memory area in a virtual address space and registers the memory area in the address converter so that the physical address corresponds to the virtual address of the memory area.
前記不揮発メモリは複数種類のページファイルを保持し、
前記処理装置は、
主記憶領域として使用すべきページファイルを前記複数種類のページファイルから選択して指定し、前記ファイル管理テーブルから前記指定したページファイルのアクセス単位番号を読み出すファイル指定手段と、
前記アクセス単位番号に基づいて前記不揮発メモリ上の物理アドレスを算出する物理アドレス算出手段と、
仮想アドレス空間においてメモリ領域を取得してそのメモリ領域の仮想アドレスに前記物理アドレスが対応するよう前記アドレス変換器に登録するメモリ領域取得手段と
を備えることを特徴とするコンピュータシステム。A non-volatile memory, a processing device using the non-volatile memory as a main storage area and a file area, a file management table for managing files on the non-volatile memory, and converting a virtual address in the processing device into a physical address on the non-volatile memory A computer system comprising:
The nonvolatile memory holds a plurality of types of page files,
The processing device includes:
File specifying means for selecting and specifying a page file to be used as a main storage area from the plurality of types of page files, and reading an access unit number of the specified page file from the file management table;
Physical address calculating means for calculating a physical address on the nonvolatile memory based on the access unit number;
A computer system comprising: a memory area acquisition unit that acquires a memory area in a virtual address space and registers the memory area in the address converter so that the physical address corresponds to the virtual address of the memory area.
前記処理装置は、
前記不揮発メモリ上のメモリ領域を仮想アドレスにより指定して前記アドレス変換器から対応する物理アドレスを取得するメモリ領域指定手段と、
前記物理アドレスに基づいて前記不揮発メモリ上のアクセス単位番号を算出するアクセス単位番号算出手段と、
前記ファイル管理テーブルにファイルエントリを生成してそのファイルエントリに前記アクセス単位番号を登録するファイル生成手段と
を備えることを特徴とするコンピュータシステム。A non-volatile memory, a processing device using the non-volatile memory as a main storage area and a file area, a file management table for managing files on the non-volatile memory, and converting a virtual address in the processing device into a physical address on the non-volatile memory A computer system comprising:
The processing device includes:
A memory area specifying means for specifying a memory area on the non-volatile memory by a virtual address and obtaining a corresponding physical address from the address converter;
Access unit number calculating means for calculating an access unit number on the nonvolatile memory based on the physical address;
A computer system comprising: a file generation unit that generates a file entry in the file management table and registers the access unit number in the file entry.
前記アクセス単位番号に基づいて前記不揮発メモリ上の物理アドレスを算出する手順と、
仮想アドレス空間においてメモリ領域を取得する手順と、
前記取得されたメモリ領域の仮想アドレスに前記物理アドレスが対応するようアドレス変換器に登録する手順と
を具備することを特徴とする処理方法。Reading a file access unit number from the file management table by specifying a file existing on the nonvolatile memory;
Calculating a physical address on the nonvolatile memory based on the access unit number;
Obtaining a memory area in the virtual address space;
Registering the physical address in the address converter so as to correspond to the virtual address of the acquired memory area.
前記不揮発メモリ上のメモリ領域を仮想アドレスにより指定してアドレス変換器から対応する物理アドレスを取得する手順と、
前記物理アドレスに基づいて前記不揮発メモリ上のアクセス単位番号を算出する手順と、
前記ファイルエントリに前記アクセス単位番号を登録する手順と
を具備することを特徴とする処理方法。A procedure for generating a file entry on a file management table for managing files on the nonvolatile memory;
A procedure of specifying a memory area on the nonvolatile memory by a virtual address and obtaining a corresponding physical address from an address converter,
Calculating an access unit number on the nonvolatile memory based on the physical address;
Registering the access unit number in the file entry.
前記アクセス単位番号に基づいて前記不揮発メモリ上の物理アドレスを算出する手順と、
仮想アドレス空間においてメモリ領域を取得する手順と、
前記取得されたメモリ領域の仮想アドレスに前記物理アドレスが対応するようアドレス変換器に登録する手順と
をコンピュータに実行させることを特徴とするプログラム。Reading a file access unit number from the file management table by specifying a file existing on the nonvolatile memory;
Calculating a physical address on the nonvolatile memory based on the access unit number;
Obtaining a memory area in the virtual address space;
Registering the acquired physical address of the memory area in the address translator so that the physical address corresponds to the virtual address of the acquired memory area.
前記不揮発メモリ上のメモリ領域を仮想アドレスにより指定してアドレス変換器から対応する物理アドレスを取得する手順と、
前記物理アドレスに基づいて前記不揮発メモリ上のアクセス単位番号を算出する手順と、
前記ファイルエントリに前記アクセス単位番号を登録する手順と
をコンピュータに実行させることを特徴とするプログラム。A procedure for generating a file entry on a file management table for managing files on the nonvolatile memory;
A procedure of specifying a memory area on the nonvolatile memory by a virtual address and obtaining a corresponding physical address from an address converter,
Calculating an access unit number on the nonvolatile memory based on the physical address;
Registering the access unit number in the file entry.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162798A JP2004362464A (en) | 2003-06-06 | 2003-06-06 | Computer system using nonvolatile memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162798A JP2004362464A (en) | 2003-06-06 | 2003-06-06 | Computer system using nonvolatile memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004362464A true JP2004362464A (en) | 2004-12-24 |
Family
ID=34054843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003162798A Pending JP2004362464A (en) | 2003-06-06 | 2003-06-06 | Computer system using nonvolatile memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004362464A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012185609A (en) * | 2011-03-04 | 2012-09-27 | Sony Corp | Virtual memory system, control method of virtual memory, and program |
JP2014063358A (en) * | 2012-09-21 | 2014-04-10 | Fixstars Corp | Information processor, information processing method, and program |
JP2014149758A (en) * | 2013-02-04 | 2014-08-21 | Fixstars Corp | Information processing device, information processing method, and program |
JP2014182449A (en) * | 2013-03-18 | 2014-09-29 | Toshiba Corp | Memory controller |
WO2014171223A1 (en) * | 2013-04-15 | 2014-10-23 | 株式会社フィックスターズ | Information processing device, information processing method, and program |
WO2015033767A1 (en) * | 2013-09-04 | 2015-03-12 | 株式会社フィックスターズ | File management device, program and file management method |
JP2016524228A (en) * | 2013-05-29 | 2016-08-12 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Storage system and alias memory |
FR3073959A1 (en) * | 2017-11-23 | 2019-05-24 | Bull Sas | COMPUTER SYSTEM, METHOD FOR ACCESSING A COMPUTER FILE, AND CORRESPONDING COMPUTER PROGRAM |
-
2003
- 2003-06-06 JP JP2003162798A patent/JP2004362464A/en active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012185609A (en) * | 2011-03-04 | 2012-09-27 | Sony Corp | Virtual memory system, control method of virtual memory, and program |
JP2014063358A (en) * | 2012-09-21 | 2014-04-10 | Fixstars Corp | Information processor, information processing method, and program |
JP2014149758A (en) * | 2013-02-04 | 2014-08-21 | Fixstars Corp | Information processing device, information processing method, and program |
US10503702B2 (en) | 2013-02-04 | 2019-12-10 | Fixstars Corporatioon | Information processing device, information processing method, and program |
JP2014182449A (en) * | 2013-03-18 | 2014-09-29 | Toshiba Corp | Memory controller |
WO2014171223A1 (en) * | 2013-04-15 | 2014-10-23 | 株式会社フィックスターズ | Information processing device, information processing method, and program |
JP2014206884A (en) * | 2013-04-15 | 2014-10-30 | 株式会社フィックスターズ | Information processor, information processing method, and program |
US10216437B2 (en) | 2013-05-29 | 2019-02-26 | Microsoft Technology Licensing, Llc | Storage systems and aliased memory |
JP2016524228A (en) * | 2013-05-29 | 2016-08-12 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Storage system and alias memory |
WO2015033767A1 (en) * | 2013-09-04 | 2015-03-12 | 株式会社フィックスターズ | File management device, program and file management method |
US9904483B2 (en) | 2013-09-04 | 2018-02-27 | Fixstars Corporation | File management device, program and file management method |
JPWO2015033767A1 (en) * | 2013-09-04 | 2017-03-02 | 株式会社フィックスターズ | File management apparatus, program, and file management method |
FR3073959A1 (en) * | 2017-11-23 | 2019-05-24 | Bull Sas | COMPUTER SYSTEM, METHOD FOR ACCESSING A COMPUTER FILE, AND CORRESPONDING COMPUTER PROGRAM |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6460497B2 (en) | File access method, file access device, and storage device | |
KR101729503B1 (en) | Hierarchical translation tables control | |
WO2016082191A1 (en) | File access method and apparatus | |
CN102754086B (en) | The virtual memory system that page size is variable | |
US5864876A (en) | DMA device with local page table | |
TW200828014A (en) | Flash memory management method with low RAM utilization | |
KR20170112952A (en) | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application | |
US20100312955A1 (en) | Memory system and method of managing the same | |
CN111414248B (en) | Memory management method and device and computing equipment | |
KR20090026941A (en) | Method for address mapping in virtual file system embodied in storage device having a plurality of non-volatile data storage and apparatus thereof | |
JP2007048296A (en) | Method, apparatus and system for invalidating multiple address cache entries | |
JP2004362464A (en) | Computer system using nonvolatile memory | |
TW201017407A (en) | Nonvolatile data storage system and method thereof | |
WO2015032214A1 (en) | High-speed routing lookup method and device simultaneously supporting ipv4 and ipv6 | |
CN104516826A (en) | Method and device for correspondence of large virtual pages and large physical pages | |
JPH1063551A (en) | Information processor | |
JP2007304747A (en) | Computer system and memory access method | |
JPH06139149A (en) | Multiple virtual space control device | |
JP2000276405A (en) | Address conversion device and computer system having this device | |
JP2008217208A (en) | Storage device, computer system and management method for storage device | |
JP2010026969A (en) | Data processor | |
WO2016049893A1 (en) | File page management unit, processing device and file page management method | |
TWI270778B (en) | Apparatus and method for reducing tag RAM accesses | |
Li et al. | A Novel Persistent In-memory Filesystem for the Fusion of Memory and Storage | |
JP2010244165A (en) | Semiconductor integrated circuit and method for controlling the same |