JP4792065B2 - データ記憶方法 - Google Patents

データ記憶方法 Download PDF

Info

Publication number
JP4792065B2
JP4792065B2 JP2008176597A JP2008176597A JP4792065B2 JP 4792065 B2 JP4792065 B2 JP 4792065B2 JP 2008176597 A JP2008176597 A JP 2008176597A JP 2008176597 A JP2008176597 A JP 2008176597A JP 4792065 B2 JP4792065 B2 JP 4792065B2
Authority
JP
Japan
Prior art keywords
memory
data
file system
pageable
computing device
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.)
Expired - Fee Related
Application number
JP2008176597A
Other languages
English (en)
Other versions
JP2009026310A (ja
Inventor
アルバン・キット・クーパー・ウォー・リンデム
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2009026310A publication Critical patent/JP2009026310A/ja
Application granted granted Critical
Publication of JP4792065B2 publication Critical patent/JP4792065B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Description

本発明は、コンピューティングデバイスにデータを記憶する方法に関する。
コンパイラ及びエディタ等のアプリケーションは、その実行中に、テンポラリファイル等の一時的なファイルを作成する。
これらのファイルの性質によって、このようなアプリケーションは、ディスクからそれらのファイルにアクセスしなければならないのではなく、それらのファイルが1次メモリに記憶されることでファイルに素早くアクセスすることができ、利益を受けることができる。
1次メモリのアクセスはディスクアクセスよりもはるかに高速であるので、大幅な性能向上を達成することができる。
テンポラリファイルを1次メモリに記憶することができる方法には、従来2つの方法がある。
第1の方法は、RAMディスク(1次メモリをストレージとして使用するデバイスドライバ)を作成することである。
この場合、RAMディスク上にファイルシステムを構築することができ、すべてのファイルシステムアクセスは1次メモリから行われる。
第2の手法は、ページング可能メモリを使用してファイルシステムデータを記憶するメモリベースのファイルシステムを作成することである。
メモリベースのファイルシステムは、1次メモリの大部分を占有する可能性があるので、利用可能なシステムメモリの他の消費者が影響を受けないことを確実にするために、メモリファイルシステムのページをページアウトすることができることが必要である。
ページング可能メモリは、ユーザプロセスのアロケートされる仮想メモリ又はカーネルの無名メモリのいずれかとして利用可能にすることができる。
Linux、Solaris、及びNetBSDで利用可能なtmpfs等の現代のメモリベースのファイルシステムは、カーネルの無名メモリを利用してファイルシステムデータを記憶する。
カーネルの無名メモリをアロケートすることができないオペレーティングシステムにインプリメントされるメモリベースのファイルシステムは、2つの従来の技法のうちの一方を使用する。
第1の技法では、ファイルシステムデータファイル及びメタデータが、ユーザプロセス仮想メモリに記憶され、仮想メモリシステムがメモリを解放する必要があるときは、ファイルシステムデータファイル及びメタデータをスワップデバイスへトランスペアレントにスワップすることができる。
第2の技法では、ファイルシステムデータ及びメタデータは、カーネルページに記憶され、別個のスワップデバイスへのページングは、別個にインプリメントされるページングシステムを使用して実行される。
しかしながら、ユーザプロセス仮想メモリを使用して動作する従来のメモリベースのファイルシステムに関する不利な点は、データファイルが複製される可能性があり、一方のコピーをファイルシステム(ユーザプロセス仮想メモリ)に有し、別のコピーを、ファイルシステムへの転送をバッファリングするのに使用されるオペレーティングシステムのバッファキャッシュに有することになるということである。
これは、1次メモリの非効率的な使用である。
一時的なファイルをユーザプロセス仮想メモリに記憶することに関するさらなる不利な点は、メモリファイルシステムに属するバッファの読み出し又は書き込みごとにコンテキストスイッチが存在する必要があり、これがメモリファイルシステムの性能に影響を与えるということである。
これは、オペレーティングシステムカーネルが、現在実行中のプロセスのユーザプロセス仮想メモリ空間以外のユーザプロセス仮想メモリ空間からデータをページインすることがないためである。
したがって、仮想メモリがファイルシステムを記憶するのに使用されるユーザプロセスへのコンテキストスイッチは、読み出しオペレーション又は書き込みオペレーションごとに必要とされる。
本発明にかかる方法は、上述のような背景からなされたものであって、コンピューティングデバイスにデータを記憶する方法であって、前記コンピューティングデバイスのページング不能カーネルメモリに、メモリファイルシステムを作成することと、前記メモリファイルシステムに、データを書き込むことと、前記書き込まれたデータを、前記コンピューティングデバイス上で実行されているユーザプロセスにアロケートされているページング可能メモリ空間へ転送することとを含む。
図1は、サーバ又はワークステーション等の処理システム1の概略図である。
システム1はプロセッサ2を備える。
プロセッサ2は、中央処理装置CPU3、内部キャッシュメモリ4、変換索引バッファTLB5、及び、バス7にインターフェースするバスインターフェースモジュール6を含む。
また、バス7には、1次メモリ8及びハードディスク9もインターフェースされている。
1次メモリ8は、メインメモリ又は物理メモリとも呼ばれ、この例では、ランダムアクセスメモリ(RAM)である。
RAM8は、バッファキャッシュ10としてアロケートされている部分を含む。
バッファキャッシュ10は、ハードディスク9へ及びハードディスク9から転送されるデータをバッファリングするバッファをインプリメントするのに使用される。
このバッファキャッシュは、通常、1つ又は複数のフリーリストを使用して、自身のメモリ空間の使用を制御する。
ただし、代替的な実施態様を使用することができる。
システムは、通常、バスにインターフェースされているさまざまな他の入出力サブシステム11も含み、これらの入出力サブシステム11は、システムのオペレーションに必要とされる。
図1は例示にすぎないこと、及び、本発明は、この示されたシステムに限定されるものではなく、別法では、複数のプロセッサを有するシステム又はネットワーク上で動作するシステム等、より複雑なシステムにも適用することができることが理解されるべきである。
図2は、ソフトウェアとハードウェアとの間の相互関係を示す処理システムの高レベルの概観である。
このシステムは、ハードウェア20、カーネル21、及びアプリケーションプログラム22を含む。
ハードウェアは、システムのハードウェアレベルにあるものとして参照され、図1に示すハードウェアシステム構成要素を含む。
カーネル21は、カーネルレベルにあるものとして参照され、オペレーティングシステムのハードウェアを制御する部分である。
処理システム上で実行されるアプリケーションプログラム22は、ユーザレベルにあるものとして参照される。
図1に示す処理システム1のキャッシュメモリ4、メインメモリ8、及びハードディスク9は、すべて、プログラム命令及びデータを記憶することができる。
これらのプログラム命令及びデータは、合わせてデータと総称される。
これらのメモリ内のデータの処理は、メモリ管理システムによってハンドリングされる。
このメモリ管理システムは、カーネルレベルで従来と同様に動作する。
図3を参照すると、本発明による処理システムのメモリ管理システム30が概略的に示されている。
メモリ管理システム30は、オペレーティングシステムのカーネルモード31、すなわちカーネルレベルで動作すると共に、オペレーティングシステムのユーザモード32、すなわちユーザレベルで動作する。
カーネルモード31には、カーネルファイルシステムコンポーネント33が設けられている。
この場合には、HP−UX Unix(登録商標)ベースのオペレーティングシステムのMemFSファイルシステムコンポーネントが設けられている。
このカーネルファイルシステムコンポーネント33は、処理システムのバッファキャッシュ10でオペレーションを実行する。
MemFSスワップドライバ34はカーネルレベル31で実行され、アロケートされているアドレス空間36を有するユーザプロセス35は、ユーザレベル32で実行される。
ユーザ空間デーモン37及びカーネルデーモン38は、それぞれユーザモード32及びカーネルモード31でインプリメントされる。
これらは、ユーザの直接の制御下にあるのではなく、オペレーティングシステムのバックグラウンドで実行されると共に、以下で詳細に説明するように、必要なときにメモリ管理タスクを実行するプロセスである。
ここで、図4を参照して、メモリ管理システム30のオペレーションを説明する。
カーネルファイルシステムコンポーネント33、すなわちMemFSファイルシステムをインプリメントして、バッファキャッシュ10にファイルシステムを作成する(ステップ100)。
本例では、これは、たとえばユーザによって起動されるUnix(登録商標)マウントコマンドラインユーティリティのマウントシステムコールによって実行される。
マウントユーティリティは、バッファキャッシュ10にファイルシステムを作成すると、新しいユーザプロセス35をフォークする(ステップ110)。
このユーザプロセス35のユーザプロセスメモリは、テンポラリファイルを保持するのに使用することができる。
本例では、ユーザプロセス35は、MemFSスワップドライバ34に対してioctlコール39を行い、ioctl関数にある間、バックグラウンドでカーネルデーモン38として実行を続ける。
カーネルデーモン38は、スリープして、ioctl関数における入出力要求を待つ(ステップ120)。
ioctl関数がコールされたとき、マウント時刻にフラグがセットされ、このフラグがセットされている限りioctlルーチンはループし、終了することはない。
フラグは、たとえば、あらゆるマウントインスタンスに関連付けられる構造に記憶されている。
バークレイソフトウェアディストリビューション(BSD)メモリファイルシステム(MFS)は、ドライバのioctlにではなく、そのファイルシステムのマウントルーチンにI/Oサービス提供ループ(I/O servicing loop)を有し、したがって、BSD MFSを使用する実施態様は、それに応じて適合される。
メモリファイルシステムがマウントされると、ファイルシステムに書き込まれるデータ及びメタデータは、ユーザモード32からのファイルシステムコール40を使用してバッファキャッシュ10に記憶される。
MemFSファイルシステムへのすべてのアクセスは、バッファキャッシュ10を通過する。
このコンテキストにおけるメタデータは、ファイル属性情報を含み、本例では、データファイルごとのinodeの形に加えて、ファイルシステムのスーパーブロック及びシリンダグループの集まりの形で記憶されているファイル属性情報を含む。
ファイルシステムデータ及びメタデータのページが他のプロセスによって盗まれるのを阻止するために、ファイルシステムのバッファアロケーションは、バッファキャッシュ10の標準的なバッファフリーリストに対して別個のMemFSフリーリストに記録される(ステップ140)。
メモリファイルシステムのページ数が所定のしきい値を超えると(ステップ150)、最長時間未使用ページは、MemFSフリーリストにもはや記録されず、その代わり、バッファキャッシュ10の最長時間未使用フリーリスト(LRUフリーリスト)へ移動される(ステップ160)。
このしきい値は、本例では、バッファキャッシュ10が占有することができる最大メモリサイズの或る割合として定義されるシステムカーネル調整可能なものとしてインプリメントされる。
バッファが割り当てられるごとに、バッファキャッシュ10のMemFSバッファの個数のカウントをこのしきい値に関連して監視することができる。
LRUフリーリストに記録されたページは、bwriteインターフェースを使用して、MemFSスワップ擬似ドライバ34に書き込まれる(ステップ170)。
MemFSスワップ擬似ドライバ34のストラテジールーチン41(図3参照)は、ファイルシステムバッファを別個のバッファリストにリンクすることによって要求にサービスする(ステップ180)。
このリストは、ユーザプロセス35のメモリにコピーする必要があるすべての保留中のバッファを記録する。
また、ストラテジールーチン41は、本例では、標準的なUNIX(登録商標)スリープ/ウェークアップメカニズムを使用して、ウェークアップ42をユーザプロセスデーモンへ送信する(ステップ190)。
ユーザプロセスは、目覚めると、バッファキャッシュファイルシステムバッファからデータを受け取り、このデータは、MemFSスワップ擬似ドライバ34によって、ユーザプロセス35のユーザプロセスメモリへ転送される(ステップ200)。
データバッファのみが、バッファキャッシュ10からユーザプロセスアドレス空間35へ転送される。
これによって、メタデータはバッファキャッシュ10に確実に残り、したがって、メタデータしか関与しないオペレーションは常に高速であることが保証される。
RAM8の量は限られており、ユーザプロセス35等の特定のプログラムに関連付けられるすべてのデータがRAM8で常に利用可能にされている場合、システムは限られた個数のプログラムしか実行することができない。
したがって、HP−UXTM等の現代のオペレーティングシステムは仮想メモリ管理システムを作動させ、この仮想メモリ管理システムによって、カーネル21は、データが必要とされないときはデータ及び命令をRAM8からハードディスク9又は外部メモリデバイスへ移動させ、必要なときにデータを戻すことが可能になる。
利用可能な全メモリは仮想メモリと呼ばれ、したがって、物理メモリのサイズを超えることができる。
仮想メモリ空間の一部は物理メモリに対応するアドレスを有する。
仮想メモリ空間の残りは、ハードディスク9及び/又は外部メモリデバイスのアドレスにマッピングされる。
以下では、特に指定のない限り、ハードディスクからRAM8へデータをロードするとの参照はいずれも、他の任意の外部メモリデバイスからRAM8へデータをロードすることも指すものと解釈されるべきである。
ユーザプロセス35がコンパイルされるとき、コンパイラはメモリのロケーションを表すプログラムコードの仮想アドレスを生成する。
バッファキャッシュ10からのデータが、バッファキャッシュ10からユーザプロセス35のアドレス空間へ転送されると、そのデータは、それに応じて、オペレーティングシステムの仮想メモリ管理システムによって制御される。
物理メモリ8に利用可能なメモリが十分にない場合には、使用済みメモリを解放しなければならず、解放されるアドレスに保存されているデータ及び命令は、ハードディスク9へ移動される。
通例、物理メモリから移動されるデータは、しばらくの間使用されていないデータである。
オペレーティングシステムが、その後、ユーザプロセス35等のプログラムを実行している間に仮想アドレスにアクセスしようと試みる時、システムは、特定のアドレスが物理アドレスに対応しているか否かをチェックする。
特定のアドレスが物理アドレスに対応している場合には、システムは、対応している物理アドレスのデータにアクセスする。
仮想アドレスが物理アドレスに対応していない場合には、システムは、ハードディスク9からデータを取り出し、そのデータを物理メモリ8に移動させる。
システムは、その後、通常の方法で物理メモリ8のデータにアクセスする。
ページは、仮想アドレスにマッピングすることができる物理メモリの最小単位である。
たとえば、HP−UX(商標)システムでは、ページサイズは4KBである。
したがって、仮想ページは仮想ページ番号VPNによって参照される一方、物理ページは物理ページ番号PPNによって参照される。
必要な場合にのみ仮想メモリをメインメモリに移すプロセスは、デマンドページングと呼ばれる。
図5を参照して仮想メモリ管理システムのオペレーションを説明する。
さまざまな種類のメモリ及びデータが記憶される場所を管理するために、HP−UX(商標)等のオペレーティングシステムは、ページディレクトリ(PDIR)50と呼ばれるテーブルをメモリに保持する。
PDIR50は、現在メモリにあるすべてのページの経過を追跡する。
ページが或る仮想アドレス空間でマッピングされる時、そのページには、PDIR50のエントリーがアロケートされる。
PDIR50は、メモリの物理ページをその仮想アドレスにリンクするものである。
PDIR50はRAM8に保存される。
システムを高速化するために、PDIR50のサブセットがプロセッサ2のTLB5に記憶される。
TLB5は仮想アドレスを物理アドレスに変換する。
したがって、各エントリーは、仮想ページ番号及び物理ページ番号の双方を含む。
CPU3がメモリページにアクセスしたいとき、CPU3は、最初に、VPNをインデックスとして使用してTLB5を見る。
物理ページ番号PPNがTLB5で見つかる場合、これはTLBヒットと呼ばれ、プロセッサは、必要なページがメインメモリ8にあることを知る。
次に、ページからの必要なデータを、CPU3によって使用されるキャッシュ4にロードすることができる。
キャッシュコントローラ51は、必要なデータをメモリにロードするプロセスを制御することができる。
キャッシュコントローラ51は、ページがメモリにすでに存在するか否かをチェックする。
ページがメモリに存在しない場合には、キャッシュコントローラ51は、RAM8からデータを取り出して、キャッシュ4に移動させることができる。
ページ番号がTLB5で見つからない場合、これはTLBミスと呼ばれ、必要なページがPDIR5に存在するか否かを調べるために、PDIR50がチェックされる。
必要なページがPDIR5に存在する場合、これはPDIRヒットと呼ばれ、物理ページ番号がTLB5にロードされ、CPU3によってページにアクセスするための命令が再開される。
必要なページが存在しない場合、これは一般にPDIRミスと呼ばれ、これは、必要なページが物理メモリ8に存在せず、ハードディスク9又は外部デバイスからメモリに必要なページを移す必要があることを示す。
ハードディスク9からメインメモリ8にページを移すプロセスは、当該技術分野で既知のように、ソフトウェアページフォールトハンドラ52によって対処され、これに対応して、VPN/PPNエントリーをPDIR50及びTLB5に作成する。
関連のあるページが物理メモリ8にロードされると、CPU3によるアクセスルーチンが再開され、その関連のあるデータをキャッシュ4にロードすることができ、CPU3が使用することができる。
本例では、ユーザ空間デーモン37は、ユーザプロセス35にアロケートされているページのいずれがワイア(wire)されるべきかを決定するのに使用される。
ワイアードページ(wired page)は、PDIR50に永久に存在するページであり、したがって、ハードディスク9にページアウトされない。
PDIR50の特定のページをワイアするためのコマンドインターフェースを作成することができる。
ファイルシステムが、MemFSコマンドラインユーティリティを使用してアンマウントされた後、MemFSスワップドライバクローズルーチン(図示せず)がコールされる。
これは、ioctlルーチンが自身のI/Oサービス提供ループを終了することができるように、あらゆる保留中のI/O要求をフラッシュして、ファイルシステムがマウントされたときにセットされた、アンマウントコマンドによってコールされたioctlルーチンのフラグをクリアする。
これによって、ファイルシステムがアンマウントされたことの表示が提供される。
本発明のメモリ管理システム30は、コンピュータ可読媒体に記憶されているコンピュータプログラムコードとしてインプリメントすることができる。
このプログラムコードは、たとえば、バッファキャッシュ10にメモリファイルシステムをインプリメントするためのユーティリティ、たとえば、Unix(登録商標)アーキテクチャによるMemFSファイルシステムユーティリティ33を提供することができる。
また、当業者によって理解されるように、このプログラムコードは、上述したようにバッファキャッシュ10からユーザプロセス仮想メモリ36へデータを転送するようにインプリメントされるMemFSスワップドライバに加えて、メモリ管理システム30の他のコンポーネントを提供することができる。
処理システムの概略図である。 処理システムの高レベルの概観を示す図である。 本発明によるメモリ管理システムの概略図である。 本発明のメモリ管理システムによって実行される処理ステップを示すフロー図である。 本発明による仮想メモリ管理システムの概略図である。
符号の説明
4・・・キャッシュ,
6・・・バスインターフェース,
9・・・ハードディスク,
10・・・バッファキャッシュ,
11・・・I/O,
31・・・カーネルモード,
32・・・ユーザモード,
33・・・MemFSファイルシステム,
34・・・MemFSスワップドライバ,
35・・・ユーザプロセス,
36・・・アドレス空間,
37・・・ユーザ空間デーモン,
38・・・カーネルデーモン,
40・・・ファイルシステムコール,
41・・・MemFSスワップストラテジールーチン,
42・・・ウェークアップ,
51・・・キャッシュコントローラ,
52・・・ページフォールトハンドラ,

Claims (17)

  1. コンピューティングデバイスにデータを記憶する方法であって、
    前記コンピューティングデバイスのコンピュータに、
    前記コンピューティングデバイスのページング不能カーネルメモリに、前記コンピューティングデバイスにおいて予め定められたコマンドを用いて、メモリファイルシステムを作成するステップと
    前記メモリファイルシステムが作成された前記カーネルメモリに、前記コンピューティングデバイスで用いられるデータを記憶させるステップと
    前記カーネルメモリに記憶されたデータを、前記コンピューティングデバイス上で実行されているユーザプロセスに割り当てられたページング可能メモリ空間へ転送するステップと
    を実行させ、
    前記データは、前記メモリファイルシステムの属性情報を示すメタデータを含み、
    前記転送するステップは、前記カーネルメモリに記憶されたデータのうち、前記メタデータ以外のデータを、前記ユーザプロセスに割り当てられたページング可能メモリ空間へ転送する
    方法。
  2. 前記メタデータは、スーパーブロック、シリンダグループまたはinodeデータ
    を含む請求項に記載の方法。
  3. 前記コンピュータに、
    前記コンピューティングデバイスにおいて予め定められたコマンドを用いて、前記ユーザプロセスを生成し、前記生成したユーザプロセスに対して、前記ページング可能メモリ空間を割り当てるステップ
    をさらに実行させる請求項1に記載の方法。
  4. 前記メモリファイルシステムを作成するステップは、
    バッファキャッシュによって占有されるメモリに、UNIX(登録商標)ファイルシステムを作成する
    請求項1に記載の方法。
  5. 前記メモリファイルシステムを作成するステップは、
    MemFSマウントコマンドを使用して、UNIX(登録商標)ファイルシステムを作成する
    請求項1に記載の方法。
  6. 前記バッファキャッシュメモリの他の部分の使用データとは別個の前記メモリファイルシステムに関する前記使用データを保持すること
    をさらに含む請求項に記載の方法。
  7. 前記ページング可能メモリ空間へ転送された前記メモリファイルシステムのデータファイルのマッピングを保持すること
    をさらに含む請求項1に記載の方法。
  8. 前記メモリファイルシステムが生成された前記カーネルメモリに記憶されているデータが所定のしきい値に達することに応答して、前記記憶されたデータを、前記ページング可能メモリ空間へ転送すること
    をさらに含む請求項1に記載の方法。
  9. 前記記憶されたデータを前記ページング可能メモリ空間へ転送するステップは、
    このデータが、前記メモリファイルシステムの複数の最長時間未使用ページのうちの1つを含むときに実行される
    請求項1に記載の方法。
  10. 前記データが、前記ページング可能メモリ空間へ転送されると、このデータのページングを阻止すること
    をさらに含む請求項1に記載の方法。
  11. 前記メモリファイルシステムを、前記ページング不能カーネルメモリから除去すること
    をさらに含む請求項1に記載の方法。
  12. 前記データは、テンポラリファイルデータ
    を含む請求項1に記載の方法。
  13. コンピューティングデバイスにデータを記憶させるプログラムであって、
    前記コンピューティングデバイスのコンピュータに、
    前記コンピューティングデバイスのページング不能カーネルメモリ上に、前記コンピューティングデバイスにおいて予め定められたコマンドを用いて、メモリファイルシステムを作成するステップと、
    前記メモリファイルシステムが作成された前記カーネルメモリに、前記コンピューティングデバイスで用いられるデータを記憶させるステップと、
    前記カーネルメモリに記憶されたデータを、前記コンピューティングデバイス上で実行されているユーザプロセスに割り当てられたページング可能メモリ空間へ転送するステップと
    を実行させ、
    前記データは、前記メモリファイルシステムの属性情報を示すメタデータを含み、
    前記転送するステップは、前記カーネルメモリに記憶されたデータのうち、前記メタデータ以外のデータを、前記ユーザプロセスに割り当てられたページング可能メモリ空間へ転送する
    プログラム。
  14. 前記メモリファイルシステムを作成するステップは、
    バッファキャッシュによって占有されるメモリに、UNIX(登録商標)ファイルシステムを作成する
    請求項13に記載のプログラム。
  15. 前記メモリファイルシステムが生成された前記カーネルメモリに記憶されているデータが所定のしきい値に達することに応答して、前記記憶されたデータを、前記ページング可能メモリ空間へ転送すること
    をさらに含む請求項13に記載のプログラム。
  16. 前記記憶されたデータを前記ページング可能メモリ空間へ転送するステップは、
    このデータが、前記メモリファイルシステムの複数の最長時間未使用ページのうちの1つを含むときに実行される
    請求項13に記載のプログラム。
  17. 前記データが前記ページング可能メモリ空間へ転送されると、このデータのページングを阻止すること
    をさらに含む請求項13に記載のプログラム。
JP2008176597A 2007-07-16 2008-07-07 データ記憶方法 Expired - Fee Related JP4792065B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1523/CHE/2007 2007-07-16
IN1523CH2007 2007-07-16

Publications (2)

Publication Number Publication Date
JP2009026310A JP2009026310A (ja) 2009-02-05
JP4792065B2 true JP4792065B2 (ja) 2011-10-12

Family

ID=40265785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008176597A Expired - Fee Related JP4792065B2 (ja) 2007-07-16 2008-07-07 データ記憶方法

Country Status (2)

Country Link
US (1) US20090024798A1 (ja)
JP (1) JP4792065B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785577B2 (en) * 2014-05-28 2017-10-10 Red Hat, Inc. Kernel key handling
WO2017155523A1 (en) * 2016-03-09 2017-09-14 Hewlett Packard Enterprise Development Lp Server virtual address space

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327553A (en) * 1989-12-22 1994-07-05 Tandem Computers Incorporated Fault-tolerant computer system with /CONFIG filesystem
US5953522A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Temporary computer file system implementing using anonymous storage allocated for virtual memory
US5987565A (en) * 1997-06-25 1999-11-16 Sun Microsystems, Inc. Method and apparatus for virtual disk simulation
JP2001282764A (ja) * 2000-03-30 2001-10-12 Hitachi Ltd マルチプロセッサシステム
US6646195B1 (en) * 2000-04-12 2003-11-11 Microsoft Corporation Kernel-mode audio processing modules
JP2002182981A (ja) * 2000-12-12 2002-06-28 Hitachi Ltd ページング効率を考慮したページ固定装置
US20030145230A1 (en) * 2002-01-31 2003-07-31 Huimin Chiu System for exchanging data utilizing remote direct memory access
GB2402758B (en) * 2003-06-12 2006-09-27 Sun Microsystems Inc Method,apparatus and computer program product for simulating a storage configuration for a computer system
US7526614B2 (en) * 2005-11-30 2009-04-28 Red Hat, Inc. Method for tuning a cache
US8127099B2 (en) * 2006-12-26 2012-02-28 International Business Machines Corporation Resource recovery using borrowed blocks of memory

Also Published As

Publication number Publication date
US20090024798A1 (en) 2009-01-22
JP2009026310A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
JP5255348B2 (ja) クラッシュダンプ用のメモリアロケーション
US10552337B2 (en) Memory management and device
US9648081B2 (en) Network-attached memory
US9430402B2 (en) System and method for providing stealth memory
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
US10282292B2 (en) Cluster-based migration in a multi-level memory hierarchy
US20080235477A1 (en) Coherent data mover
US11593186B2 (en) Multi-level caching to deploy local volatile memory, local persistent memory, and remote persistent memory
US8478931B1 (en) Using non-volatile memory resources to enable a virtual buffer pool for a database application
KR20120058352A (ko) 하이브리드 메모리 시스템, 및 그 관리 방법
US20090164715A1 (en) Protecting Against Stale Page Overlays
US8930732B2 (en) Fast speed computer system power-on and power-off method
US20200242041A1 (en) Information processing device, access controller, information processing method, and computer program
KR101392062B1 (ko) 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법
Han et al. Remap-based inter-partition copy for arrayed solid-state drives
Chen et al. A unified framework for designing high performance in-memory and hybrid memory file systems
JP4792065B2 (ja) データ記憶方法
US20100268921A1 (en) Data collection prefetch device and methods thereof
CN104461928A (zh) 划分高速缓存的方法及装置
Bai et al. Pipette: Efficient fine-grained reads for SSDs
CN111480151A (zh) 将高速缓存线从共用存储器页面冲洗到存储器
Xu et al. Caiti: I/O transit caching for persistent memory-based block device
Xu et al. I/O Transit Caching for PMem-based Block Device
US20060230247A1 (en) Page allocation management for virtual memory
KR20220104055A (ko) 저장 디바이스를 위한 캐시 아키텍처

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110722

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371