JP2002024082A - メモリ圧縮に対するオペレーティング・システム・サポートのための方法 - Google Patents
メモリ圧縮に対するオペレーティング・システム・サポートのための方法Info
- Publication number
- JP2002024082A JP2002024082A JP2001160552A JP2001160552A JP2002024082A JP 2002024082 A JP2002024082 A JP 2002024082A JP 2001160552 A JP2001160552 A JP 2001160552A JP 2001160552 A JP2001160552 A JP 2001160552A JP 2002024082 A JP2002024082 A JP 2002024082A
- Authority
- JP
- Japan
- Prior art keywords
- pages
- memory
- reserved
- target
- real memory
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
に、オペレーティング・システム内でメモリを管理する
ための改良された方法を提供する。 【解決手段】 物理メモリ使用率を監視し、物理メモリ
が消耗に近い場合、メモリを強制的にページアウトし、
それによって、実メモリ・ページを解放する。次いでこ
れらのページをゼロにし、それによってそれらが高度に
圧縮可能となり、したがって物理メモリ使用率が低減す
る。物理メモリ使用率が高いために強制的に外に出され
たページは、割振りのために利用可能とされない。オペ
レーティング・システムの変更が許されるシステム内に
おいては、本発明は、空きページ・プールの最小サイズ
を動的に制御し、ページを解放したときゼロにする。物
理メモリ使用率がクリティカルなしきい値より下に低下
したとき、この機構は、空きプールの最小サイズを縮小
して、さらなる割振りを可能にする。
Description
ードウェア圧縮を伴う計算機システムに関するものであ
り、より詳細には、ハードウェア主メモリ圧縮により動
的に変化するメモリ・サイズの管理に関する。
帯域幅を節約するために、コンピュータ・システムで広
く使用されている。ハードウェア・ベースとソフトウェ
ア・ベースの両方の圧縮方式が、磁気媒体上にデータを
記憶するため、またはネットワーク・リンクを介してデ
ータを伝送するために使用されている。多数のアプリケ
ーションのメモリ・フットプリントは、主メモリ内容
が、ほとんどの場合、2対1またはそれより大きい比率
で圧縮できることを示している。既に圧縮または暗号化
されているわずかなアプリケーションのデータのみが、
さらに圧縮することが不可能である。2対1の圧縮は、
実質的に、同一コストでメモリの量を2倍にし、またコ
ストが重要なアプリケーションでは、同一量のメモリを
1/2のコストで与える。
ンスペアレントな、リアルタイムの、オンザフライ圧縮
を使用して、物理メモリ必要量を低減し、または物理メ
モリ使用率(utilization)を増大させる。データ・ブ
ロックまたはデータ・ページの圧縮がもたらす可変長レ
コード問題のため、データの圧縮済みページのランダム
・アクセスは、最近まで実用的でないと考えられてい
た。ただし、米国特許第5729228号に記載され
る、並列圧縮−圧縮解除アルゴリズムにおける進歩が、
シリコンの密度および速度の改善と相まって、今や、主
メモリの圧縮が実用的なものになった。
ートするコンピュータ・システムを示す。これは、1つ
または複数のCPUで構成され、そのそれぞれが関連す
るキャッシュ100を備え、バス101を介してメモリ
・コントローラ112と通信を行っている。圧縮済みメ
モリ・アーキテクチャにより、従来のメモリ階層に追加
レベルが1つ加わる。「実」アドレスと「物理」アドレ
スの区別が行われている。実アドレス104は、プロセ
ッサ・チップの外部バス上に見られる従来のメモリ・ア
ドレスである。物理アドレス105は、圧縮済み物理メ
モリをアドレス指定するために使用される。メモリ・コ
ントローラは、通常、CPUにはメモリと同様に見える
L3キャッシュ106を実施/制御する。さらに、入出
力装置103のアドレス指定が、このメモリ・コントロ
ーラによって制御される。本資料では、下記の用語を互
いに交換可能なものとして使用する。圧縮により有効メ
モリ・サイズが増加するので、「拡張メモリ」は「実メ
モリ」を表し、また「圧縮メモリ」はこの拡張メモリを
裏付ける「物理メモリ」を表す。
・システムは、実メモリ・スペースを管理し、物理メモ
リ自体は気にしない。メモリ・コントローラ・チップ内
の圧縮エンジン107は、キャッシュ・ライン・ストア
上のキャッシュ・ラインを圧縮し、ロード時に圧縮解除
する。物理メモリ102内に記憶された圧縮の様々な可
変長データ・レコードは、圧縮状態108の一部として
保持されている実アドレス対物理アドレス変換を介して
アクセスされる。システム、具体的には、メモリ・コン
トローラが、オペレーティング・システムが物理メモリ
使用率を監視する110ことを可能にする1組の使用率
レジスタ109をエクスポートすると期待される。任意
選択で、メモリ・コントローラは、設定可能な1組のし
きい値レジスタ109を有することができ、物理メモリ
使用率がこのしきい値を超過した場合に、メモリ・コン
トローラが割込みを発行することになる。
グ・システムの制御下でのデータの圧縮可能性CR
(t)が、システムが、その時刻に、固定量の物理メモ
リPMを使い果たすことなくどれだけの実メモリRM
(t)を維持できるかを決定する。標準のオペレーティ
ング・システムは、その実メモリを1組のページ・フレ
ーム記述子によって記述する。これは、通常、定数であ
る。主メモリ圧縮サポートのない汎用システムでは、実
メモリは物理メモリに等しい。しかし、主メモリ圧縮サ
ポートを有するシステムでは、メモリ管理は、次式で規
定される。 RM(t)=CR(t)*PM(Eq.1)
ーションおよびOS固有のタスク(例えば、ファイルシ
ステム・キャッシュ)のためにOSが渡すページ数は、
様々なアプリケーション状態に応じて常に変化する可能
性がある現行の圧縮比CR(t)に依存する。
の場合は圧縮比CR(t)である、絶えず変化する実行
時状態に基づいて、その実メモリ・サイズを動的に調整
する手段を有さない。ページ・フレーム記述子は、メモ
リ内で永続的にアクセス可能でなければならないので、
ほとんどのOSは、ブート時に一定数のページ・フレー
ム記述子を割り振り、それを使用してメモリを管理す
る。したがって、システムが固定比で構成されている場
合には、圧縮比が、決してこの固定比を下回らないよう
に保証しなければならない。さもなければ、物理メモリ
が使い尽くされ、システムに障害が起きる。
すためには、物理メモリが決して使い果たされることが
ないように、オペレーティング・システムがその動作の
ために考慮する拡張された実メモリ・サイズを所与の時
刻での物理メモリ使用率の関数として動的に調整する、
オペレーティング・システム内での有効な仮想メモリ管
理の方法が必要とされる。言い換えれば、物理メモリ使
用率は、決して100%を超過すべきではない。
ではなく、ソフトウェア圧縮技法を使用して、空き物理
メモリの可用性を増加させる特許および刊行物がいくつ
か存在する。それらは、本発明にいくらかの関係を有す
るものであるが、どのシステムも、主メモリ圧縮を扱わ
ず、したがって、主メモリ圧縮を伴うシステムに関わる
動的な実メモリ・サイジングおよび物理メモリ消耗の問
題がある。
モリ内容の選択的圧縮によって、仮想メモリ・システム
の効率を高めるための方法を記載している。具体的に
は、この特許は、メモリのクリティカルではない領域
(例えば、アクセスされる頻度の最も少ないメモリ・ペ
ージ)を識別し、それらを結合し、良く知られたソフト
ウェア圧縮技法によって圧縮する。結合された部分は、
それが占める物理メモリ・リソースが減り、したがっ
て、利用可能なメモリ・リソースのプールが増大する。
圧縮済みのページは、アプリケーションの仮想メモリ変
換表からマップ解除され、仮想アドレスのアクセス時
に、仮想メモリ・システムが、圧縮済みのページを新し
いページに圧縮解除し、圧縮解除済みのページをアクセ
ス仮想アドレスに再マップしなければならない。クリテ
ィカルではないページを圧縮し、それによって物理メモ
リの可用性を増大させることにより、ページアウト動作
が回避される。
2つの区域、活動リスト部分と空きリスト部分に分割す
ることによって、ページング活動を低減する方法を記載
している。ページがプロセスから取り除かれたとき、そ
のプロセスのページ表中のそのページのマッピングが除
去され、そのページが別のコンテナ内に圧縮され、次い
で空きリスト上に配置される。プロセスがそのデータに
後でアクセスする時、ページ不在ハンドラが空きリスト
を探し、そのページが圧縮されていることを見つけた場
合、それを新しいフレームに圧縮解除し、そのページを
再マップすることになる。突き詰めれば、この特許は、
米国特許第5559978号のより限定されたケースで
あり、クリティカルではない領域が空きリスト上のペー
ジとなるように定義される。
ching in Virtual Memory System」で、ページング活動
を低減するために圧縮を使用するが、オペレーティング
・システムに対する変更を必要としない、別のソフトウ
ェア手法を記載している。これは、圧縮仮想ページング
・ファイルシステムに基づくものである。これは、物理
メモリの一部分を、圧縮ページング・ファイルシステム
のために保留することを必要とする。オペレーティング
・システムの仮想管理システム(VMM)が、どのペー
ジをページアウトするかを決定し、それらをページング
・モジュールに渡す。ただし、ページをディスクに送る
のではなく、ページをページング・ファイルシステム内
で圧縮し、ページング・モジュールがその専用メモリを
使い果たした場合のみ、圧縮済みのページのページアウ
トを始め、それによって、ページアウト/ページイン動
作の回数を低減できる可能性がある。
の消耗を、したがって破局的システム・クラッシュを招
き得る状態にオペレーティング・システムが達する可能
性がある、動的に変化する圧縮比に対する解決法を提供
しないことに留意されたい。
ードウェア主メモリ圧縮が存在する場合に、オペレーテ
ィング・システム内でメモリを管理するための改良され
た方法を提供することである。
監視し、物理メモリが消耗に近い場合、メモリが強制的
にページアウトされるようにし、それによって、実メモ
リ・ページを解放することである。
主メモリ圧縮が存在する場合に、オペレーティング・シ
ステム内でメモリを管理する方法に関する。主メモリ内
容を圧縮すると、オペレーティング・システムは、物理
的に利用可能なメモリよりも大きな拡張実メモリを与え
られる。圧縮比はメモリ内容に応じて変化するので、オ
ペレーティング・システムおよびそのアプリケーション
に実際に提供される拡張実メモリの量も同様に変化す
る。本発明は、物理メモリが決して使い果たされないよ
う、拡張実メモリのこの動的性質を経時的に圧縮比の関
数として有効に管理する方法に関する。
して、物理メモリが消耗に近い場合、メモリが強制的に
ページアウトされるようにし、それによって、実メモリ
・ページを解放する。これらのページは、この時点でゼ
ロにされ、これにより高度に圧縮可能となり、したがっ
て物理メモリ使用率が低減される。物理メモリ使用率が
高いために強制的に出されたページは、割振りのために
利用可能にはされない。オペレーティング・システムの
変更が許されるシステムにおいて、本発明は、空きペー
ジ・プールの最小サイズおよび解放時のゼロ・ページを
動的に制御する。物理メモリ使用率が、クリティカルな
しきい値を下回ったとき、機構が、空きプールの最小サ
イズを縮小して、さらなる割振りを可能にする。オペレ
ーティング・システムの変更が可能ではないシステムに
おいては、ページは、モジュール(例えば、デバイス・
ドライバ)によって割り振られ、次いでゼロにされる。
物理メモリ使用率がクリティカルなしきい値を下回った
とき、この方法は、明示的に保留したページの一部を解
放する。保留するページの量は、どちらの場合でも(暗
示的または明示的に)、使用中のアクティブなページ数
および現行の物理メモリ使用率の関数である。
モリ使用率が100%を決して超過しないことを保証す
るという課題が生じる。100%を超えると、データを
物理メモリに書き戻すことができなくなり、そうしよう
とすると、典型的にはシステム・クラッシュを招くこと
になるからである。任意の時刻tにOSが提供すること
ができる有効実メモリRM(t)の量は、下記のとお
り、データの圧縮比CR(t)によって決定される:R
M(t)=CR(t)*PM。ページをアプリケーショ
ンに渡すことにより、オペレーティング・システムは、
圧縮比が低下したとき、物理メモリ使用率を拡大し過ぎ
る可能性があり、したがって、メモリ・コントローラ
が、OSに対して、そのメモリ使用率がクリティカルな
レベルに達したことを示したとき、物理メモリ使用率を
低減する処置を行う準備ができていなければならない。
残念ながら、どのような前提を立てることも、データの
圧縮率または物理メモリ使用率を直接に制御することも
不可能である。
減させるのに、(1)圧縮率を増加する、および(2)
有効な実メモリ・サイズを縮減するという、2つの基本
的手段が存在することを示す。本発明は、この両方の技
法を利用するものである。ゼロ・ページの数を増加させ
ることによって、有効圧縮比を増大させる。空きページ
の使用に起因するさらなるメモリ逼迫を回避するため、
アプリケーションに渡すことのできる空きページ数を制
限することによって、使用されるメモリを低減する。ペ
ージを明示的にまたは暗示的に保留することにより、こ
れを達成する。十分なページを保留することができない
場合、本発明は、追加のページを強制的にスワップアウ
トさせ、それを次いでゼロにする。ゼロ・ページは、高
度に圧縮可能であり、したがって、これらの2つの処置
で、圧縮比が増大し、したがって、物理メモリ使用率が
低減する。
前に、使用される変数のリストを下記に示す。
nr_upである。この好ましい実施形態は、図2に示
した仮想メモリおよび空きページの管理について以下の
記述に基づいている。当分野の技術者には、メモリを管
理する他の同様な手段が存在し、本発明内で記載する方
法が同様に適用可能なことが理解されよう。空きページ
は、バディ・アルゴリズムなどの既成のアルゴリズムま
たはリストによって、free_pool201内に維
持される。free_poolに対する抽象インターフ
ェース200は、いくつもの連続する物理ページを割り
振るためのalloc_pages()202および1
組の物理ページを解放するためのfree_pages
()203として定義される。nr_fp204は、空
きプール内の未割振りの空きページを示す。これらのイ
ンターフェースは、例えば、ページ不在を解決するため
に、ページ不在ハンドラによって使用される。このペー
ジ・フレーム管理に加えて、オペレーティング・システ
ムは、通常、より小さいチャンクの割振りのためにカー
ネルmalloc()インターフェースを、またそれ自
体の内部データ構造用にオブジェクトSLABアロケー
タを提供する。
時、最小数の空きページ(min_fp)205を維持
しており、それが、このクリティカルなしきい値206
を下回った場合、OSは、空きページ(nr_fp)2
04の数を増加させ始めなければならない。これは、通
常、関数try_free_pages()207によ
って行われ、この関数は、バッファ・キャッシュをフラ
ッシュし、ページ・キャッシュ(読取り専用メモリにマ
ップされたファイル)からページを廃棄し、しばらくの
間、アクセスされていないユーザ・ページをページアウ
トすることによって、ページを解放し、それによって、
これらのページをfree_pages()を介して空
きプールに補充しようと試みる。例えば、読取り専用の
マップされたファイル・バッファを廃棄し、後で要求時
に再ロードすることができる。同じタスクが、ゆっくり
と、カーネル・スワップ・デーモンkswap208に
よって呼び出される。
0%を超過しないように制御するのに、図3で示した従
来の制御ループ(監視、計算、調整)を利用する。そう
するために、100%より低く、かつ未解決の入出力動
作やキャッシュ・ライトバック動作などの動作からもた
らされ得る副作用を考慮に入れた目標物理メモリ使用率
が定義される。この制御は、OSモジュール(デバイス
・ドライバ/カーネル拡張/カーネル処理)として実施
され、以下では、compressdと名付ける。co
mpressdの制御ループは、所定の活動化しきい値
を超えたときに、活動化309されなければならない。
これは、割込み機構110を介して達成される。この制
御ループに入ると、compressdは、タイマ機構
を介して、または別のクリティカルなポイント(例え
ば、スケジューラ)で、コントロールがそのミッション
を達成するまで、すなわち、物理メモリ使用率をクリテ
ィカルなレベルより下まで低下させるまで、ループしな
ければならない。割込み機構が利用できない場合には、
compressdは、何らかのタイマに基づいて常に
ループしなければならず、このタイマは、監視される物
理メモリ使用率に依存したものであってもよい。com
pressd250は、後でさらに詳細に説明する下記
のタスクを実行する。
は、メモリ・コントローラ112のメモリ使用率レジス
タから現行のメモリ使用率muを得る281。muが活
動化レベルより高い場合282、compressd
は、Eq−1(RM(t)=CR(t)*PM)を考慮
に入れ、後でより詳細に説明する目的関数を使用して、
実メモリ・サイズの制御に積極的に関与することにな
る。この目的関数は、維持できる最適実ページ数opt
_fpを現行の物理メモリ使用率muおよび現行の実ペ
ージ・フレーム数nr_upの関数として計算する28
3。最適数opt_fpから、どれだけのページを予約
しなければならないかを決定する284、すなわち、空
きページ・プールから取り除き、したがって、オペレー
ティング・システムによりアプリケーションに割振りで
きないようにし、それによって有効実メモリ・サイズn
r_max_pgを低減する284ことができる。
essdにより暗示的または明示的に保留され、ゼロに
される285。これについては、後でより詳細に説明す
るが、ページのスワップアウトが必要となることがあ
る。muが、活動化レベルより低く286、かつページ
が以前に保留されており、まだ解放されていない場合2
87には、compressdは、最適実ページ数を決
定し288、そこから、解放できるページ数を決定する
289。次いで、そのページを解放する290。どちら
の場合も、compressdは、いくらかの遅延の後
291、281に戻る。この遅延は、物理メモリ使用率
に依存している。これは、システムによって経験され得
る、使用率の最悪ケースの変化を考慮に入れたものでな
ければならない。最も一般的なケースでは、単に、定時
にループする。ただし、代替の実施形態では、重要なし
きい値を通過した後、メモリ・コントローラによって発
行される割込みによってそれを強制することもできる。
最悪ケースの変化が、OS内のタイマをスケジュールす
るには速すぎる場合には、OSは、余りクリティカルで
ないメモリ使用率のレベルに達するまで、急速な圧縮劣
化の原因となるアプリケーションの実行を一時的に禁止
しまたは遅くすることができる。
べきかの決定は、下記のとおり、また図4に図示するよ
うに達成される。所与の物理使用のために、どれだけ追
加の物理メモリが消費できるかを指定する目的関数30
6が定義される。目的関数306は、目標使用率307
の所で、現行の目標曲線304と交差する。目標最大物
理メモリ使用率tmu307は、通常、変化する圧縮比
に起因する非直線性、およびタイマまたは割込みを介し
て圧縮制御機構を呼び出すことに起因する遅延を考慮し
て、100%より下に設定する。
mu307より低いとき、その差tmu−muは、割振
り308に使用可能な物理量を与える。現行の使用率m
u312が、目標使用率tmu307より高いとき、そ
の差tmu−muは負であり、したがって、結果305
は、プロセスから取り戻して、空きページ・プールに追
加しなければならない物理量を表す。現行の物理メモリ
使用率mu312および使用ページ・カウントnr_u
pが与えられており、ページ・カウントが増加する区分
的線形圧縮を想定すると、目標物理メモリ使用率tmu
で維持され得る最大実ページ数nr_max_pgは、
nr_max_pg=(tmu/mu) *nr_upと
近似される。
り振られ得る割振り可能なページ数は、allocat
able=nr_fp−min_fpであると計算され
る。この場合、OSおよび圧縮機構によって維持すべき
最適空きページ数opt_fpは、opt_fp=nr
_max_pg−nr_up=(tmu/mu−1) *
nr_upであると決定される。opt_fpが決定さ
れると、本発明は、次に、OSによってまだ渡すことの
できる最大空きページ数として、opt_fpを実施す
る。システムに応じて、オペレーティング・システムの
変更は、可能なこともそうでないこともあり、したがっ
て、本発明の方法で実メモリ・サイズをnr_max_
pgのページに低減するのに、異なる手法が必要とな
る。
であるシステムには以下の実施形態が好ましい。空きプ
ール内の空きページ数nr_fpを(allocata
ble−opt_fp)だけ動的に増やすことによっ
て、ページを予約する/保留する。そうすることによっ
て、nr_fpが、min_fpを下回った場合、ペー
ジングを開始するために、ページング・デーモンksw
apを起動する。これによって、ページが解放され、そ
のため、有効実メモリ・サイズが縮小する。ただし、実
メモリ・サイズを縮小するだけで、物理使用率は低下し
ない。そうしてもシステム内のデータ内容は何も変更さ
れず、したがって、圧縮比が変化しないからである。し
たがって、本発明は、圧縮モジュールによって解放され
た少なくともすべてのページをゼロにし、それにより、
圧縮比CR(t)を増加させて、物理メモリ使用率PM
を低減する。この条件で十分であるが、好ましい実施形
態では、すべてのページを、その割振り時にゼロにする
のではなく、その解放時に、常に、ゼロにする。という
のは、そうするとアカウンティングが単純に保たれ(ゼ
ロにされたページを追跡する必要がなくなる)、さら
に、すべての未使用ページがゼロにされるので、物理メ
モリ使用率が最小限にされるからである。
を越える、圧縮コントロールcompressdと割振
り機構の対話を示す。ページ割振り時に(nr_fp<
min_fp)である場合206、ページ・アロケータ
が、ページを解放しようと試みる207が、システム
は、ファイル・キャッシュを低減する、バッファ・キャ
ッシュを書き込む、またはユーザ・ページをページング
することによって、ページを即時に解放しようとするの
ではなく、まずcompress_release()
を呼び出して、compressdの状態を調べること
により、メモリ使用率がページを渡すことを許すかどう
かチェックし220、可能ならばmin_fpを増加さ
せ、それによってページング動作を回避する。例えば、
compressdは、タイムリー機構によって呼び出
されるので、メモリ使用率は、その前回の呼出し以降に
低下している可能性がある。呼出しは、alloc_p
ages時に同期的に行われるので、ページを解放する
のに積極的である必要はない。というのは、この機構
は、opt_fpに違反しない限り、実際にtry_f
ree_pages()を呼び出す前に、常にまず、よ
り多くの保留ページを解放しようと試みるからである。
が許されないシステム用の代替実施形態では、OS内部
変数の増加を利用する「保留ページ」機構は、可能では
ない。この場合、図6を参照すると、動的にロードされ
るcompressd250は、デバイス・ドライバま
たはカーネル拡張であり、これが、明示的にページを割
り振り、それをcompression_standb
y_pool270内に保留する。図6に示すように、
compressdは、opt_fp数を決定し、そこ
から、どれだけのページを保留しておかなければならな
いかを決定する。次に、それらのページを明示的に割り
振り、そのページをゼロにし、それをcompress
ion_standby_pool270に入れる。n
r_fpやmin_fpなどのOS変数が利用可能では
ない場合には、compressdは、物理メモリ使用
率が望ましいレベルまで確実に低下するようにmuを監
視しながら、alloc_pages()を繰り返し呼
び出さなければならない。圧縮比が、別の望ましいレベ
ルより下に低下したとき、compressdは、fr
ee_pages()を介して、free_poolへ
のページの解放を開始することができる。
決定した限度を超過しないように、ページングを強制す
る手段を記述する。さらに、ページング・スペースまた
はスワップ・スペースの使用率を変更しなければならな
い。物理メモリ使用率が高いときに、ページ・フレーム
をページアウトする能力を利用しているので、スワップ
・スペースが利用可能であることを保証しなければなら
ない。原則として、従来は物理メモリおよびページング
・スペースまたはスワップ・スペースで構成される仮想
メモリを管理している。これを、図7に示す。メモリ圧
縮を伴うシステムでは、ページング・スペースは、強制
的に外に出さなければならないページ用のバックアップ
・デバイスとして使用される。任意の時刻に、PM<R
M(t)<RMであると想定することができ、圧縮比が
1にまで低下した場合、RM−PMのメモリをページア
ウトすることができなければならない。したがって、ス
ワップ・スペースを通常スワップ・スペースS700と
サイズRM−PMのスワップ・スペースS_701に分
割して、メモリ逼迫のためにページを強制的にページン
グしなければならないとき、十分なスワップ・スペース
が利用可能であることを保証する。さらに、カーネル内
に釘付けしまたは閉じ込めておくことができるページ数
を、PMまでに制限しなければならない。
の事項を開示する。
ンピュータ・システムにおいてメモリを管理する方法で
あって、 i)前記システムから物理メモリ使用率を得るステップ
と、 ii)目標実メモリ・サイズを決定するステップと、 iii)一般システム動作に使用できない、いくつかの
保留ページを維持するステップと、 iv)前記目標実メモリ・サイズが達成されるように、
一般システム動作に使用できない保留ページの目標数を
決定するステップと、 v)保留ページの前記数に対する調整を決定するステッ
プと、 vi)保留ページの前記数に対する前記調整を予約し、
保留ページの前記調整数をゼロにするステップと、 vii)前記調整数の予約済み保留ページを解放するス
テップとを含む方法。 (2)前記目標実メモリ・サイズが、現行の実メモリ使
用率の、何らかの所定の目標物理メモリ使用率での測定
された前記物理メモリ使用率との補間に基づく上記
(1)に記載の方法。 (3)保留ページの前記目標数が、現行の実メモリ使用
率と前記目標実メモリ・サイズとの差の関数である上記
(1)に記載の方法。 (4)保留ページの数に対する調整が、現行の実メモリ
使用率と前記目標実メモリ・サイズとの差の関数である
上記(1)に記載の方法。 (5)前記調整数の保留ページを予約するステップが、
オペレーティング・システムによって維持される最低空
きページ数を増加させるステップを含む上記(1)に記
載の方法。 (6)オペレーティング・システムによって維持される
最低空きページの前記数を増加させることによって解放
されたページが、ゼロにされる上記(5)に記載の方
法。 (7)前記調整数の保留ページを解放するステップが、
オペレーティング・システムによって維持される最低空
きページ数を減少させるステップを含む上記(1)に記
載の方法。 (8)前記調整数の保留ページを予約するステップが、
ページをオペレーティング・システムから明示的に割り
振り、前記ページをゼロにするステップを含む上記
(1)に記載の方法。 (9)前記調整数の保留ページを解放するステップが、
ページを前記事前保留ページから明示的に解放するステ
ップを含む上記(1)に記載の方法。 (10)高い物理メモリ使用率によって強制的に外に出
されたページの内容を収容するためのスワップ・スペー
スが、少なくとも1つのスワップ・デバイス上に予約さ
れる上記(1)に記載の方法。 (11)前記予約済みのスワップ・スペースが、最大実
メモリ・サイズと物理メモリ・サイズとの差の関数であ
る上記(10)に記載の方法。 (12)ハードウェア主メモリ圧縮を伴うコンピュータ
・システムにおいてメモリを管理するためのシステムで
あって、 i)前記システムから物理メモリ使用率を得る手段と、 ii)目標実メモリ・サイズを決定する手段と、 iii)一般システム動作に使用できない、いくつかの
保留ページを維持する手段と、 iv)前記目標実メモリ・サイズが達成されるように、
一般システム動作に使用できない保留ページの目標数を
決定する手段と、 v)保留ページの前記数に対する調整を決定する手段
と、 vi)保留ページの前記数に対する前記調整を予約し、
前記調整数の保留ページをゼロにする手段と、 vii)前記調整数の予約済み保留ページを解放する手
段とを含むシステム。 (13)前記目標実メモリ・サイズが、現行の実メモリ
使用率の、何らかの所定の目標物理メモリ使用率での測
定された前記物理メモリ使用率との補間に基づく上記
(12)に記載のメモリ管理システム。 (14)保留ページの前記目標数が、現行の実メモリ使
用率と前記目標実メモリ・サイズとの差の関数である上
記(12)に記載のメモリ管理システム。 (15)保留ページの数に対する前記調整が、現行の実
メモリ使用率と前記目標実メモリ・サイズとの差の関数
である上記(12)に記載のメモリ管理システム。 (16)マシンによって実行可能な、ハードウェア主メ
モリ圧縮を伴うコンピュータ・システムにおいてメモリ
を管理するための方法ステップを実行するための命令の
プログラムを有形に実施する機械可読プログラム記憶装
置であって、前記方法ステップが、 i)前記システムから物理メモリ使用率を得るステップ
と、 ii)目標実メモリ・サイズを決定するステップと、 iii)一般システム動作に使用できない、いくつかの
保留ページを維持するステップと、 iv)前記目標実メモリ・サイズが達成されるように、
一般システム動作に使用できない保留ページの目標数を
決定するステップと、 v)保留ページの前記数に対する調整を決定するステッ
プと、 vi)保留ページの前記数に対する前記調整を予約し、
前記調整数の保留ページをゼロにするステップと、 vii)前記調整数の予約済み保留ページを解放するス
テップとを含むプログラム記憶装置。 (17)前記目標実メモリ・サイズが、現行の実メモリ
使用率の、何らかの所定の目標物理メモリ使用率での測
定された前記物理メモリ使用率との補間に基づく上記
(16)に記載のプログラム記憶装置。 (18)保留ページの前記目標数が、現行の実メモリ使
用率と前記目標実メモリ・サイズとの差の関数である上
記(16)に記載のプログラム記憶装置。 (19)保留ページの数に対する前記調整が、現行の実
メモリ使用率と前記目標実メモリ・サイズとの差の関数
である上記(16)に記載のプログラム記憶装置。
るコンピュータ・システムのブロック図である。
ントおよびその相互作用を示すブロック図である。
きページを管理する制御機構の流れ図である。
するための目的関数のグラフである。
機能強化された仮想メモリ管理システム内の諸コンポー
ネントおよびその相互作用を示すブロック図である。
ない、機能強化された仮想メモリ管理システム内の諸コ
ンポーネントおよびその相互作用を示すブロック図であ
る。
プ・スペースの予約に関する図である。
Claims (19)
- 【請求項1】ハードウェア主メモリ圧縮を伴うコンピュ
ータ・システムにおいてメモリを管理する方法であっ
て、 i)前記システムから物理メモリ使用率を得るステップ
と、 ii)目標実メモリ・サイズを決定するステップと、 iii)一般システム動作に使用できない、いくつかの
保留ページを維持するステップと、 iv)前記目標実メモリ・サイズが達成されるように、
一般システム動作に使用できない保留ページの目標数を
決定するステップと、 v)保留ページの前記数に対する調整を決定するステッ
プと、 vi)保留ページの前記数に対する前記調整を予約し、
保留ページの前記調整数をゼロにするステップと、 vii)前記調整数の予約済み保留ページを解放するス
テップとを含む方法。 - 【請求項2】前記目標実メモリ・サイズが、現行の実メ
モリ使用率の、何らかの所定の目標物理メモリ使用率で
の測定された前記物理メモリ使用率との補間に基づく請
求項1に記載の方法。 - 【請求項3】保留ページの前記目標数が、現行の実メモ
リ使用率と前記目標実メモリ・サイズとの差の関数であ
る請求項1に記載の方法。 - 【請求項4】保留ページの数に対する調整が、現行の実
メモリ使用率と前記目標実メモリ・サイズとの差の関数
である請求項1に記載の方法。 - 【請求項5】前記調整数の保留ページを予約するステッ
プが、オペレーティング・システムによって維持される
最低空きページ数を増加させるステップを含む請求項1
に記載の方法。 - 【請求項6】オペレーティング・システムによって維持
される最低空きページの前記数を増加させることによっ
て解放されたページが、ゼロにされる請求項5に記載の
方法。 - 【請求項7】前記調整数の保留ページを解放するステッ
プが、オペレーティング・システムによって維持される
最低空きページ数を減少させるステップを含む請求項1
に記載の方法。 - 【請求項8】前記調整数の保留ページを予約するステッ
プが、ページをオペレーティング・システムから明示的
に割り振り、前記ページをゼロにするステップを含む請
求項1に記載の方法。 - 【請求項9】前記調整数の保留ページを解放するステッ
プが、ページを前記事前保留ページから明示的に解放す
るステップを含む請求項1に記載の方法。 - 【請求項10】高い物理メモリ使用率によって強制的に
外に出されたページの内容を収容するためのスワップ・
スペースが、少なくとも1つのスワップ・デバイス上に
予約される請求項1に記載の方法。 - 【請求項11】前記予約済みのスワップ・スペースが、
最大実メモリ・サイズと物理メモリ・サイズとの差の関
数である請求項10に記載の方法。 - 【請求項12】ハードウェア主メモリ圧縮を伴うコンピ
ュータ・システムにおいてメモリを管理するためのシス
テムであって、 i)前記システムから物理メモリ使用率を得る手段と、 ii)目標実メモリ・サイズを決定する手段と、 iii)一般システム動作に使用できない、いくつかの
保留ページを維持する手段と、 iv)前記目標実メモリ・サイズが達成されるように、
一般システム動作に使用できない保留ページの目標数を
決定する手段と、 v)保留ページの前記数に対する調整を決定する手段
と、 vi)保留ページの前記数に対する前記調整を予約し、
前記調整数の保留ページをゼロにする手段と、 vii)前記調整数の予約済み保留ページを解放する手
段とを含むシステム。 - 【請求項13】前記目標実メモリ・サイズが、現行の実
メモリ使用率の、何らかの所定の目標物理メモリ使用率
での測定された前記物理メモリ使用率との補間に基づく
請求項12に記載のメモリ管理システム。 - 【請求項14】保留ページの前記目標数が、現行の実メ
モリ使用率と前記目標実メモリ・サイズとの差の関数で
ある請求項12に記載のメモリ管理システム。 - 【請求項15】保留ページの数に対する前記調整が、現
行の実メモリ使用率と前記目標実メモリ・サイズとの差
の関数である請求項12に記載のメモリ管理システム。 - 【請求項16】マシンによって実行可能な、ハードウェ
ア主メモリ圧縮を伴うコンピュータ・システムにおいて
メモリを管理するための方法ステップを実行するための
命令のプログラムを有形に実施する機械可読プログラム
記憶装置であって、前記方法ステップが、 i)前記システムから物理メモリ使用率を得るステップ
と、 ii)目標実メモリ・サイズを決定するステップと、 iii)一般システム動作に使用できない、いくつかの
保留ページを維持するステップと、 iv)前記目標実メモリ・サイズが達成されるように、
一般システム動作に使用できない保留ページの目標数を
決定するステップと、 v)保留ページの前記数に対する調整を決定するステッ
プと、 vi)保留ページの前記数に対する前記調整を予約し、
前記調整数の保留ページをゼロにするステップと、 vii)前記調整数の予約済み保留ページを解放するス
テップとを含むプログラム記憶装置。 - 【請求項17】前記目標実メモリ・サイズが、現行の実
メモリ使用率の、何らかの所定の目標物理メモリ使用率
での測定された前記物理メモリ使用率との補間に基づく
請求項16に記載のプログラム記憶装置。 - 【請求項18】保留ページの前記目標数が、現行の実メ
モリ使用率と前記目標実メモリ・サイズとの差の関数で
ある請求項16に記載のプログラム記憶装置。 - 【請求項19】保留ページの数に対する前記調整が、現
行の実メモリ使用率と前記目標実メモリ・サイズとの差
の関数である請求項16に記載のプログラム記憶装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/584033 | 2000-05-30 | ||
| US09/584,033 US6681305B1 (en) | 2000-05-30 | 2000-05-30 | Method for operating system support for memory compression |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002024082A true JP2002024082A (ja) | 2002-01-25 |
| JP3643318B2 JP3643318B2 (ja) | 2005-04-27 |
Family
ID=24335624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001160552A Expired - Fee Related JP3643318B2 (ja) | 2000-05-30 | 2001-05-29 | メモリ圧縮に対するオペレーティング・システム・サポートのための方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6681305B1 (ja) |
| JP (1) | JP3643318B2 (ja) |
| KR (1) | KR100444093B1 (ja) |
| CN (1) | CN1188784C (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7039769B2 (en) | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
| US7380089B2 (en) | 2001-02-13 | 2008-05-27 | International Business Machines Corporation | System and method for managing memory compression transparent to an operating system |
| JP2010191951A (ja) * | 2009-01-20 | 2010-09-02 | Ricoh Co Ltd | 電子機器、その省電力制御方法、およびプログラム |
| JP2016082530A (ja) * | 2014-10-22 | 2016-05-16 | アール・ビー・コントロールズ株式会社 | リモコン装置 |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6944742B1 (en) * | 2000-04-28 | 2005-09-13 | Microsoft Corporation | Compressed file system for non-volatile RAM |
| US7003646B2 (en) * | 2002-03-27 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Efficiency in a memory management system |
| JP4777651B2 (ja) | 2002-08-23 | 2011-09-21 | イグジット−キューブ,インク. | コンピュータシステム及びデータ保存方法 |
| US7622318B2 (en) * | 2004-03-30 | 2009-11-24 | Sony Corporation | Method for producing structured substrate, structured substrate, method for producing semiconductor light emitting device, semiconductor light emitting device, method for producing semiconductor device, semiconductor device, method for producing device, and device |
| US7240177B2 (en) * | 2004-05-27 | 2007-07-03 | International Business Machines Corporation | System and method for improving performance of dynamic memory removals by reducing file cache size |
| US7383399B2 (en) * | 2004-06-30 | 2008-06-03 | Intel Corporation | Method and apparatus for memory compression |
| US7457940B2 (en) * | 2004-11-16 | 2008-11-25 | International Business Machines Corporation | System and method for managing data |
| US8219823B2 (en) | 2005-03-04 | 2012-07-10 | Carter Ernst B | System for and method of managing access to a system using combinations of user information |
| US7480238B2 (en) * | 2005-04-14 | 2009-01-20 | International Business Machines Corporation | Dynamic packet training |
| US20080010324A1 (en) * | 2006-06-25 | 2008-01-10 | Michael Stebner | System and method for high speed device access |
| US20080307188A1 (en) * | 2007-06-06 | 2008-12-11 | International Business Machines Corporation | Management of Guest OS Memory Compression In Virtualized Systems |
| US20090158299A1 (en) * | 2007-10-31 | 2009-06-18 | Carter Ernst B | System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed |
| US7930483B2 (en) * | 2008-03-04 | 2011-04-19 | International Business Machines Corporation | Associativity implementation in a system with directly attached processor memory |
| US8037251B2 (en) | 2008-03-04 | 2011-10-11 | International Business Machines Corporation | Memory compression implementation using non-volatile memory in a multi-node server system with directly attached processor memory |
| US7984240B2 (en) | 2008-03-04 | 2011-07-19 | International Business Machines Corporation | Memory compression implementation in a system with directly attached processor memory |
| US7966455B2 (en) * | 2008-03-04 | 2011-06-21 | International Business Machines Corporation | Memory compression implementation in a multi-node server system with directly attached processor memory |
| US20090282064A1 (en) * | 2008-05-07 | 2009-11-12 | Veeramanikandan Raju | On the fly compression and storage device, system and method |
| TW201037516A (en) * | 2009-04-14 | 2010-10-16 | Inventec Corp | Method of accessing a memory |
| US9183056B2 (en) | 2009-11-03 | 2015-11-10 | International Business Machines Corporation | Expanding memory size |
| US8458431B2 (en) * | 2009-11-03 | 2013-06-04 | International Business Machines Corporation | Expanding memory size |
| US8862560B1 (en) * | 2010-06-21 | 2014-10-14 | Emc Corporation | Compression system pause and auto-resume |
| US8738962B2 (en) | 2010-11-17 | 2014-05-27 | International Business Machines Corporation | Memory mirroring with memory compression |
| US8495267B2 (en) * | 2010-11-24 | 2013-07-23 | International Business Machines Corporation | Managing shared computer memory using multiple interrupts |
| US9053107B1 (en) | 2011-12-06 | 2015-06-09 | Google Inc. | Determining updates for files based on an organization of the files on different blocks of a storage device |
| US9053018B2 (en) * | 2012-06-29 | 2015-06-09 | International Business Machines Corporation | Compressed memory page selection based on a population count of a dataset |
| TWI588746B (zh) | 2012-08-28 | 2017-06-21 | 晨星半導體股份有限公司 | 電子裝置及其控制方法 |
| CN103678153A (zh) * | 2012-09-10 | 2014-03-26 | 晨星软件研发(深圳)有限公司 | 电子装置及其控制方法 |
| KR20140035082A (ko) * | 2012-09-13 | 2014-03-21 | 삼성전자주식회사 | 메모리 관리방법 |
| US9069669B2 (en) | 2012-10-11 | 2015-06-30 | Industrial Technology Research Institute | Method and computer system for memory management on virtual machine |
| KR102011135B1 (ko) | 2012-12-11 | 2019-08-14 | 삼성전자주식회사 | 모바일 장치 및 그것의 스왑을 통한 데이터 관리 방법 |
| US9141532B2 (en) * | 2012-12-26 | 2015-09-22 | Western Digital Technologies, Inc. | Dynamic overprovisioning for data storage systems |
| US20150052326A1 (en) * | 2013-08-19 | 2015-02-19 | International Business Machines Corporation | User-controlled paging |
| US9600317B2 (en) | 2014-04-16 | 2017-03-21 | Vmware, Inc. | Page compressibility checker |
| US9342344B2 (en) * | 2014-04-16 | 2016-05-17 | Vmware, Inc. | Content-based swap candidate selection |
| US9582193B2 (en) * | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system |
| US10101935B2 (en) * | 2016-06-03 | 2018-10-16 | Samsung Electronics Co., Ltd. | System and method for providing expandable and contractible memory overprovisioning |
| US10282097B2 (en) | 2017-01-05 | 2019-05-07 | Western Digital Technologies, Inc. | Storage system and method for thin provisioning |
| US10803040B2 (en) | 2017-08-28 | 2020-10-13 | International Business Machines Corporation | Efficient and accurate lookups of data by a stream processor using a hash table |
| SE544272C2 (en) | 2018-11-14 | 2022-03-22 | Zeropoint Tech Ab | Accessing compressed computer memory |
| SE543649C2 (en) | 2018-11-14 | 2021-05-18 | Zeropoint Tech Ab | Managing free space in a compressed memory system |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05120131A (ja) * | 1991-10-24 | 1993-05-18 | Sharp Corp | コンピユータにおける記憶管理方式 |
| JPH0844498A (ja) * | 1994-07-29 | 1996-02-16 | Hitachi Ltd | 圧縮機能付き記憶装置及びそれを有するコンピュータシステム |
| JPH1027127A (ja) * | 1996-07-09 | 1998-01-27 | Kobe Nippon Denki Software Kk | データ圧縮記憶演算装置 |
| JPH10260896A (ja) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | 半導体装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2858795B2 (ja) * | 1989-07-14 | 1999-02-17 | 株式会社日立製作所 | 実記憶割り当て方法 |
| US5577221A (en) * | 1994-04-14 | 1996-11-19 | Industrial Technology Research Institute | Method and device for expanding ROM capacity |
-
2000
- 2000-05-30 US US09/584,033 patent/US6681305B1/en not_active Expired - Lifetime
-
2001
- 2001-05-17 KR KR10-2001-0026922A patent/KR100444093B1/ko not_active Expired - Fee Related
- 2001-05-29 JP JP2001160552A patent/JP3643318B2/ja not_active Expired - Fee Related
- 2001-05-29 CN CNB011208236A patent/CN1188784C/zh not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05120131A (ja) * | 1991-10-24 | 1993-05-18 | Sharp Corp | コンピユータにおける記憶管理方式 |
| JPH0844498A (ja) * | 1994-07-29 | 1996-02-16 | Hitachi Ltd | 圧縮機能付き記憶装置及びそれを有するコンピュータシステム |
| JPH1027127A (ja) * | 1996-07-09 | 1998-01-27 | Kobe Nippon Denki Software Kk | データ圧縮記憶演算装置 |
| JPH10260896A (ja) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | 半導体装置 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7380089B2 (en) | 2001-02-13 | 2008-05-27 | International Business Machines Corporation | System and method for managing memory compression transparent to an operating system |
| US7039769B2 (en) | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
| JP2010191951A (ja) * | 2009-01-20 | 2010-09-02 | Ricoh Co Ltd | 電子機器、その省電力制御方法、およびプログラム |
| JP2016082530A (ja) * | 2014-10-22 | 2016-05-16 | アール・ビー・コントロールズ株式会社 | リモコン装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1327197A (zh) | 2001-12-19 |
| CN1188784C (zh) | 2005-02-09 |
| KR100444093B1 (ko) | 2004-08-09 |
| JP3643318B2 (ja) | 2005-04-27 |
| KR20010109097A (ko) | 2001-12-08 |
| US6681305B1 (en) | 2004-01-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2002024082A (ja) | メモリ圧縮に対するオペレーティング・システム・サポートのための方法 | |
| US9940228B2 (en) | Proactive memory reclamation for java virtual machines | |
| JP3745690B2 (ja) | オペレーティング・システムにとってトランスペアレントなメモリ圧縮を管理するシステムおよび方法 | |
| US7404062B2 (en) | System and method of allocating contiguous memory in a data processing system | |
| US6857047B2 (en) | Memory compression for computer systems | |
| JP4160255B2 (ja) | 仮想記憶システムにおける物理メモリの割り振りをアプリケーションプログラムによって制御するアプリケーション・プログラミング・インターフェイス | |
| JP4718683B2 (ja) | コンピュータ内のアプリケーションプログラム間でフォーカスが変更されたときに物理メモリの状態を復元する方法およびシステム | |
| US7487329B2 (en) | Page replacement policy for systems having multiple page sizes | |
| US9069669B2 (en) | Method and computer system for memory management on virtual machine | |
| US6983467B2 (en) | Application programming interface enabling application programs to group code and data to control allocation of physical memory in a virtual memory system | |
| US6321293B1 (en) | Method for caching virtual memory paging and disk input/output requests | |
| US20090172337A1 (en) | Cooperative mechanism for efficient application memory allocation | |
| US20150161056A1 (en) | Tracking guest memory characteristics for memory scheduling | |
| US9552295B2 (en) | Performance and energy efficiency while using large pages | |
| US12118236B2 (en) | Dynamically allocating memory controller resources for extended prefetching | |
| US5875474A (en) | Method for caching virtual memory paging and disk input/output requests using off screen video memory | |
| JP2004047051A (ja) | メモリ制御装置および方法ならびにプログラム | |
| Song et al. | An Efficient Stack Management by The Selective Revocation of Mapping from Virtual Memory to Physical memory | |
| CN119988034A (zh) | 内存分配方法、装置、电子设备及可读存储介质 | |
| Kawai | VMMF: Volatile memory management framework | |
| CZ20002911A3 (cs) | Správa volného místa komprimovaného prostoru |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040323 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040622 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040625 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040805 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041005 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041201 |
|
| 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: 20050125 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050127 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080204 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090204 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100204 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110204 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110204 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120204 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130204 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130204 Year of fee payment: 8 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130204 Year of fee payment: 8 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| S202 | Request for registration of non-exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R315201 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130204 Year of fee payment: 8 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130204 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140204 Year of fee payment: 9 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
| LAPS | Cancellation because of no payment of annual fees | ||
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |