JP2004133934A - プロアクティブなメモリ管理の方法および機構 - Google Patents
プロアクティブなメモリ管理の方法および機構 Download PDFInfo
- Publication number
- JP2004133934A JP2004133934A JP2003347507A JP2003347507A JP2004133934A JP 2004133934 A JP2004133934 A JP 2004133934A JP 2003347507 A JP2003347507 A JP 2003347507A JP 2003347507 A JP2003347507 A JP 2003347507A JP 2004133934 A JP2004133934 A JP 2004133934A
- Authority
- JP
- Japan
- Prior art keywords
- page
- pages
- memory
- data
- usage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 268
- 230000007246 mechanism Effects 0.000 title claims abstract description 72
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 238000007726 management method Methods 0.000 claims description 77
- 238000012546 transfer Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 26
- 230000009471 action Effects 0.000 claims description 10
- 238000012913 prioritisation Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000002085 persistent effect Effects 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 6
- 238000005065 mining Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 230000007958 sleep Effects 0.000 claims description 4
- 230000006266 hibernation Effects 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 claims 1
- 239000000725 suspension Substances 0.000 claims 1
- 230000002123 temporal effect Effects 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 17
- 230000008901 benefit Effects 0.000 description 11
- 230000002452 interceptive effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000001976 improved effect Effects 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000036316 preload Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003628 erosive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000007873 sieving Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- CDFKCKUONRRKJD-UHFFFAOYSA-N 1-(3-chlorophenoxy)-3-[2-[[3-(3-chlorophenoxy)-2-hydroxypropyl]amino]ethylamino]propan-2-ol;methanesulfonic acid Chemical compound CS(O)(=O)=O.CS(O)(=O)=O.C=1C=CC(Cl)=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC(Cl)=C1 CDFKCKUONRRKJD-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 239000000700 radioactive tracer Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Static Random-Access Memory (AREA)
Abstract
【解決手段】このシステムは、メモリ使用の履歴的の監視、メモリ使用の分析、高価値(例えば利用度が高い)のページによるメモリのリフレッシュ、I/Oプリフェッチの効率、および積極的なディスク管理を目的とする機構を含む。メモリ使用状況の情報に基づいて、相対的な値によりページに優先順位を付け、より有用なページをメモリにプリフェッチおよび/または保持するように機構が機能する。ページは、複数のサブセットを含む優先順位付きのスタンバイページセットにプリフェッチして保持し、それによってより有用なページがより有用でないページに優先してメモリに残る。書き出された有用なデータは、復元力のある形で自動的に戻すことができる。
【選択図】図3
Description
図1に、本発明を実施することが可能な適切なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲について何らの制限を示唆するものではない。またコンピューティング環境100は、例示的動作環境100に示す構成要素の任意の1つまたは組み合わせに関連する依存関係にあり、または必要とするものと解釈すべきでない。
本発明の実施態様は、部分的には、一般に、ユーザインタフェース、アプリケーションプログラム、およびオペレーティングシステムソフトウェアの重要な態様において実際のパフォーマンスを向上させ、それを実感させるシステム、方法、および機構を含む、改良されたメモリ管理構造を目的とする。このため、図2に示すように、本発明は、プロアクティブで復元力がある自己調節型のメモリ管理システム200を提供し、このシステム200は、要求時にディスク204(またはフラッシュメモリ、ネットワークデータソース、テープドライブおよび/または実質的に任意のタイプのデータ記憶など同等の補助記憶機構)からメモリ202に読み込むのではなく、メモリに関連するユーザのアクティビティおよび作業を監視して、そのデータが必要とされる前に必要なデータがランダムアクセスメモリ202(あるいはここでは単に「メモリ」とも称する)にあることを少なくとも比較的高い確立で保証する。すなわち、プロアクティブで復元力のあるメモリ管理は、有用であると思われるデータをメモリに入れ、そのデータをメモリ中に維持することを企図する。その有用なデータのスワップ、または上書きが必要な場合は、実際に要求されなくても、要求が予想されるため、そのデータは復元力のある形で自動的に戻されるかもしれない。
下記の本発明の少なくとも1つの例示の実施形態は、マイクロソフト社のWindows(登録商標)XP SP1オペレーティングシステムおよびWindows(登録商標)NTFSファイルシステムを実行する、変更したシステムに実装したものである。ただし、本発明を特定のオペレーティングシステムまたはメモリ管理の種類に限定する意図はなく、本発明は、推論的でインテリジェントなキャッシュ管理方式を含むので、メモリ管理システムによって管理されるメモリを備える任意のコンピュータとともに動作し、利益を提供することを意図する。さらに、例示の実施形態は、メモリのロード元である補助記憶装置としてディスクドライブを用いて構成したが、補助記憶装置はディスクドライブに限らず、フラッシュメモリ、ネットワークデータソース、テープドライブ、あるいは実質的に任意タイプのデータ記憶などの代替装置を含み、また実際に全くディスクを持たないコンピュータシステムが本発明から大きな利益を得られることは容易に理解されよう。
110、180 コンピュータ
120 処理装置
121 システムバス
130 システムメモリ
131 ROM
132 RAM
133 BIOS
134、144 オペレーティングシステム
135、145、185 アプリケーションプログラム
136、146 プログラムモジュール
137、147 プログラムデータ
140、150、160 インタフェース
141 ハードディスクドライブ
151 磁気ディスクドライブ
152 磁気ディスク
155 光ディスクドライブ
156 光ディスク
160 ユーザ入力インタフェース
161 ポインティングデバイス
162 キーボード
163 マイクロフォン
164 タブレット
170 ネットワークインタフェース
171 LAN
172 モデム
173 WAN
181 メモリ記憶装置
190 ビデオインタフェース
191 モニタ
194 出力周辺インタフェース
195 スピーカ
196 プリンタ
200 メモリ管理システム
202 メモリ
204 ディスク
300 不揮発性記憶システム
302 NVRAM
304 記憶管理システム
402 追跡機構
404 ページ関連アクティビティ
406 ロガー
408、410 ログ
412 インテグレータ
414 ページ情報データベース
420 マイニングサービス
422 シナリオプラン
424 リバランサ
426 プライオリタイザ
428 ページリスト
430 オブザーバ
434 状態評価および更新サービス
436 状態データ
440 I/Oプランナ
450 ワーキングセット
452 ワーキングセットマネジャ
500 スタンバイページリスト
502 スタンバイページセット
5020〜15 サブセット
602 制約ボックス
Claims (269)
- コンピュータシステムにおいて、
複数のページについてページの使用状況を追跡するステップと、
優先度を、追跡した各ページに、前記ページの追跡した使用状況に基づいて関連付けるステップと、
別の記憶装置にある他のページに関連してメモリ中に存在する前記ページの少なくとも一部を、各ページセットに関連付けられた前記優先度に基づいて、優先順位付けするステップと
を備えたことを特徴とする方法。 - 前記ページの少なくとも一部に優先順位付けするステップは、選択されたページに関連付けられた前記優先度に基づいて前記別の記憶装置にあるページを選択するステップと、前記選択されたページを前記メモリにロードするステップとを含むことを特徴とする請求項1に記載の方法。
- 前記ページの少なくとも一部に優先順位付けするステップは、選択されたページに関連付けられた前記優先度に基づいてメモリ中のページを選択して、前記別の記憶装置に転送するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの少なくとも一部に優先順位付けするステップは、そのページに関連付けられた前記優先度に基づいて前記別の記憶装置にある第1のページを選択するステップと、前記ページに関連付けられた前記優先度に基づいてメモリ中の第2のページを選択して前記別の記憶装置に転送するステップと、前記第2のページをメモリから前記別の記憶装置に転送するステップと、前記第1のページを別の記憶装置から前記メモリにロードするステップとを含むことを特徴とする請求項1に記載の方法。
- 前記ページの少なくとも一部に優先順位付けするステップは、メモリ中のページのセットを選択するステップと、前記ページのセットを圧縮して前記メモリ中でより少量のスペースにするステップとを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、前記ページの使用頻度データを記録するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、最後のページの使用に対応する時間データを記録するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、ある期間におけるページの使用回数を計数するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページの作成時刻に対応するデータを保持するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページが最後にアクセスされた時刻に対応するデータを保持するステップを含むことを特徴とする請求項1に記載の方法。
- 前記追跡した各ページに優先度を関連付けるステップはさらに、前記追跡したページの少なくとも1つのページの優先度を、該ページのI/O転送のコストに基づかせるステップを含むことを特徴とする請求項1に記載の方法。
- 前記追跡したページとして、前記コンピュータシステムで利用可能な少なくとも1つのページのサブセットを選択するステップをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記1つのページのサブセットは、特定のファイルに対応するページを含むことを特徴とする請求項12に記載の方法。
- 前記1つのページのサブセットは、メモリ中の特定セクションに対応するページを含むことを特徴とする請求項12に記載の方法。
- 前記1つのページのサブセットは、記憶装置中の特定セクションに対応するページを含むことを特徴とする請求項12に記載の方法。
- 前記追跡した各ページに優先度を関連付けるステップは、選択されたページをまとめてページグループとし、前記グループに関連して値を保持するステップを含むことを特徴とする請求項1に記載の方法。
- 前記少なくとも1つの基準に基づいて、選択されたページをまとめてページグループとするステップをさらに含むことを特徴とする請求項1に記載の方法。
- 前記選択されたページをグループ分けするステップは、該ページを最後にアクセスした時刻に基づいて前記ページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、使用パターンに基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、使用頻度に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、仮想的な位置に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、物理的な位置に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、前記ページがメモリから刈り取られた時間に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、I/O転送の効率に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、どのプロセスが前記ページを使用するかに基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、プロセス寿命の情報に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、所定の期間内の障害情報に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、少なくとも1つのイベントに基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、使用された時間に基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、特定のユーザプロセスに基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記選択されたページをグループ分けするステップは、コンテクストデータに基づいてページをグループ分けするステップを含むことを特徴とする請求項17に記載の方法。
- 前記コンテクストデータは、アプリケーションプログラムから受信することを特徴とする請求項31に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページの使用との関連でコンテクストデータを記録するステップを含むことを特徴とする請求項1に記載の方法。
- 前記コンテクストデータを記録するステップは、電力の状態情報を記録するステップを含むことを特徴とする請求項33に記載の方法。
- 前記コンテクストデータを記録するステップは、ディスクの状態情報を記録するステップを含むことを特徴とする請求項33に記載の方法。
- 前記コンテクストデータを記録するステップは、イベント情報を記録するステップを含むことを特徴とする請求項33に記載の方法。
- 前記イベント情報を記録するステップは、メモリに関連するイベントを記録するステップを含むことを特徴とする請求項36に記載の方法。
- 前記メモリに関連するイベントを記録するステップは、前記コンピュータシステムの休止状態に関連する情報を記録するステップを含むことを特徴とする請求項37に記載の方法。
- 前記メモリに関連するイベントを記録するステップは、前記コンピュータシステムのスタンバイ状態に関連する情報を記録するステップを含むことを特徴とする請求項37に記載の方法。
- 前記メモリに関連するイベントを記録するステップは、前記コンピュータシステムにおけるコンピュータプログラムの実行に関連する情報を記録するステップを含むことを特徴とする請求項37に記載の方法。
- 選択されたページの前記優先度を、複数のページ使用ファクタに基づいて計算するステップをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記優先度を計算するステップは、前記選択されたページについてのページ使用頻度のデータと、最後にページが使用された時間の情報とを数学的に組み合わせるステップを含むことを特徴とする請求項41に記載の方法。
- 前記複数のページ使用ファクタに基づいて前記優先度を計算するステップは、別のファクタに関連して所定のページ使用ファクタに重み付けするステップを含むことを特徴とする請求項41に記載の方法。
- 前記ページをそれぞれのページの優先度に基づいて順位付けするステップをさらに含み、前記メモリ中の前記ページの少なくとも一部に優先順位付けするステップは、該順位に基づくプリフェッチの順序で、ページを別の記憶装置からメモリにプリフェッチするステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの少なくとも一部に優先順位付けするステップは、選択された各ページに関連付けられた前記優先度に基づいて、選択されたページを前記別の記憶装置からメモリ中のスタンバイページセットに読み込むステップを含むことを特徴とする請求項1に記載の方法。
- 前記スタンバイページセットは、複数のサブセットを含んでおり、
所定のページにおいて検出された使用データに基づいて、前記ページを前記スタンバイページセットの1つのサブセットから別のサブセットに論理的に移動するステップをさらに含むことを特徴とする請求項45に記載の方法。 - 前記ページを前記スタンバイページセットの1つのサブセットから別のサブセットに論理的に移動するステップは、前記ページを頻度に基づくサブセットから最後に使用された時間に基づくサブセットに移動するステップを含むことを特徴とする請求項46に記載の方法。
- 前記ページを前記スタンバイページセットの1つのサブセットから別のサブセットに論理的に移動するステップは、前記ページを最後に使用された時間に基づくサブセットから頻度に基づくサブセットに移動するステップを含むことを特徴とする請求項46に記載の方法。
- 前記ページの少なくとも一部に関連付けられた値を永続的な記憶に保存するステップをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記ページの少なくとも一部の前記追跡されたページ使用状況に対応するデータを永続的な記憶に保存するステップをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページアクセス情報を評価するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページアクセス情報を評価するステップは、ページテーブルエントリのアクセスビットを読み取るステップを含むことを特徴とする請求項51に記載の方法。
- 前記ページアクセス情報を評価するステップは、前記ページアクセス情報がリセットされると、評価するステップを含むことを特徴とする請求項51に記載の方法。
- 前記ページアクセス情報を評価するステップは、前記ページアクセス情報をリセットする頻度を判定するステップを含むことを特徴とする請求項51に記載の方法。
- 前記頻度を記録するステップをさらに備えたことを特徴とする請求項54に記載の方法。
- 前記ページアクセス情報を評価するステップは、ページがアクセスされる頻度を判定するステップを含むことを特徴とする請求項51に記載の方法。
- 前記頻度を記録するステップをさらに備えたことを特徴とする請求項56に記載の方法。
- 前記ページアクセス情報を評価するステップは、ページ障害を検出するステップを含むことを特徴とする請求項51に記載の方法。
- 前記ページ障害を検出するステップは、ハード障害を検出するステップを含むことを特徴とする請求項58に記載の方法。
- 前記ページ障害を検出するステップは、ソフト移行障害を検出するステップを含むことを特徴とする請求項58に記載の方法。
- 前記ページの使用状況を追跡するステップは、ファイル読み取りおよび書き込みの要求を検出するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、プロセスのワーキングセット情報を読み取るステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページがメモリから転送される際にデータを記録するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページがワーキングセットから刈り込まれる際にデータを記録するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、イベントまたはコンテクストに応答してデータを記録するステップを含むことを特徴とする請求項1に記載の方法。
- 前記記録されたデータは、切り替えられたタスクに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、生成されたウィンドウに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、検出されたアクションに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記検出されたアクションは、フォーカスするウィンドウの変化を含むことを特徴とする請求項68に記載の方法。
- 前記検出されたアクションは、ユーザの入力イベントを含むことを特徴とする請求項68に記載の方法。
- 前記記録されたデータは、前記コンピュータシステムの休止に関連するイベントに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、前記コンピュータシステムのスタンバイ状態に関連するイベントに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、前記コンピュータシステムのシステムブートに関連するイベントに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、プログラムの起動に応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、プログラムのシャットダウンに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、ユーザログオンに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、ネットワーク接続イベントに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、メディアに関連するイベントに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記記録されたデータは、プログラムで指定されるコンテクストに応答して記録されることを特徴とする請求項65に記載の方法。
- 前記ページの少なくとも一部に優先順位付けするステップは、前記ページに関連付けられた前記優先度に基づいて前記別の記憶装置にあるページを選択するステップと、前記選択されたページをバックグラウンド動作で前記メモリにロードするステップとを含むことを特徴とする請求項1に記載の方法。
- 前記選択されたページをバックグラウンド動作で前記メモリにロードするステップは、アイドル状態優先度データを取得するステップを含むことを特徴とする請求項80に記載の方法。
- 前記選択されたページをバックグラウンド動作で前記メモリにロードするステップは、I/Oパターンを監視して転送時間を決定するステップを含むことを特徴とする請求項80に記載の方法。
- 前記転送時間は、前記転送がフォアグラウンドのI/O転送と重ならない確率に基づいて決定されることを特徴とする請求項82に記載の方法。
- 前記転送時間は、前記転送が、フォアグラウンドのI/O転送の速度を低下させるシークを引き起こさない確率に基づいて決定されることを特徴とする請求項82に記載の方法。
- 前記転送時間は、プロセッサの使用状況に基づいてスケジュールされることを特徴とする請求項82に記載の方法。
- 前記選択されたページをバックグラウンド動作で前記メモリにロードするステップは、ダミーパケットを生成して優先順位の逆転を回避するステップを含むことを特徴とする請求項80に記載の方法。
- 前記選択されたページをバックグラウンド動作で前記メモリにロードするステップは、現在のユーザ入力、現在のプロセッサ使用状況、および現在のディスク使用状況に基づいて、前記システムがアイドル状態であるかどうかを判定するステップを含むことを特徴とする請求項80に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページ使用データをログに記録するステップを含むことを特徴とする請求項1に記載の方法。
- 前記ページの使用状況を追跡するステップは、現在のページ使用データと以前のページ使用データをマージするステップを含むことを特徴とする請求項1に記載の方法。
- 前記以前のページ使用データは、少なくとも1つの他のコンピュータシステムでトレーニングしたページの使用状況を記録することから得られるデータを含むことを特徴とする請求項1に記載の方法。
- 前記以前のページ使用データは、他のページデータとともにグループ分けされ、事前に構築されたページデータを含むことを特徴とする請求項1に記載の方法。
- 請求項1に記載の方法を行うコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能な媒体。
- コンピューティング環境において、
複数のページのメモリページ使用状況を追跡する追跡機構と、
少なくとも部分的に前記ページに対して追跡された前記メモリページ使用状況に基づいて、追跡した各ページにスコアを関連付ける優先順位付け機構と、
前記追跡した各ページに関連付けられたスコアに基づいて、メモリに存在するページを判定するリバランサと
を備えたことを特徴とするシステム。 - 前記リバランサは、選択されたページの前記スコアに基づいて、選択されたページをメモリから別の記憶装置に転送することを特徴とする請求項93に記載のシステム。
- 前記別の記憶装置は、不揮発性のランダムアクセスメモリを含むことを特徴とする請求項93に記載のシステム。
- 前記別の記憶装置は、ディスクを含むことを特徴とする請求項93に記載のシステム。
- 前記リバランサは、選択されたページの前記スコアに基づいて、選択されたページを別の記憶装置からメモリにプリフェッチすることを特徴とする請求項93に記載のシステム。
- 前記追跡機構に接続され、前記追跡機構の出力を整形してフォーマットしたログにするように構成されたロギング機構をさらに備えたことを特徴とする請求項93に記載のシステム。
- 前記フォーマットしたログは、ヘッダ、およびエントリからなるテーブルを含むことを特徴とする請求項93に記載のシステム。
- 前記ヘッダは、前記メモリページ使用状況に関連付けられたコンテクスト情報を含むことを特徴とする請求項99に記載のシステム。
- 前記ヘッダは、前記メモリページ使用状況に関連付けられたメモリ状態情報を含むことを特徴とする請求項99に記載のシステム。
- 前記ヘッダは、前記メモリページ使用状況に関連付けられた時間情報を含むことを特徴とする請求項99に記載のシステム。
- 前記エントリの各々は、ファイルまたはプロセスのアドレス空間のソースおよびオフセットのデータを含むことを特徴とする請求項99に記載のシステム。
- 前記エントリの各々はさらに、前記ページがディスクから読み込まれたことを示すデータを含むことを特徴とする請求項99に記載のシステム。
- 前記フォーマットしたログと、前記以前に得られたデータを統合して統合データとするインテグレータをさらに備えたことを特徴とする請求項98に記載のシステム。
- 前記インテグレータは、前記統合データをページ情報データベースに保存することを特徴とする請求項105に記載のシステム。
- 前記ページ情報データベースの前記統合データに基づいて、少なくとも1つのシナリオプランを展開するマイニングサービスをさらに備えたことを特徴とする請求項106に記載のシステム。
- 前記優先順位付け機構は、シナリオプランにアクセスして、追跡した各ページに前記スコアを関連付けることを特徴とする請求項107に記載のシステム。
- 前記追跡機構は、前記複数のページの各ページについてページ使用頻度データを記録することを特徴とする請求項93に記載のシステム。
- 前記追跡機構は、ページが最後に使用された時間に対応する時間に基づくデータを記録することを特徴とする請求項93に記載のシステム。
- 前記追跡機構は、ページの使用状況との関連でコンテクストデータを記録することを特徴とする請求項93に記載のシステム。
- 前記コンテクストデータは、前記コンピュータシステムの状態に対応することを特徴とする請求項111に記載のシステム。
- 前記優先順位付け機構は、個々のページのスコアに基づいて相互に相対的に前記ページに順位を付け、前記リバランサは、前記順位に基づくプリフェッチ順序でページをメモリにプリフェッチすることを特徴とする請求項93に記載のシステム。
- メモリ中にスタンバイページセットをさらに備え、前記リバランサは、前記別の記憶装置から前記スタンバイページセットに選択されたページを読み込むことを特徴とする請求項93に記載のシステム。
- 前記スタンバイページセットは複数のサブセットを含み、前記リバランサは前記スタンバイページセットの1つのサブセットから別のサブセットにページを論理的に移動し、該移動は前記ページについて検出された使用状況データに基づくことを特徴とする請求項114に記載のシステム。
- 前記ページを前記スタンバイページセットの1つのサブセットから別のサブセットに論理的に移動するステップは、前記ページを最後に使用された時間に基づくサブセットから頻度に基づくサブセットに移動するステップを含むことを特徴とする請求項115に記載のシステム。
- 前記メモリに関連するイベントを生成するオブザーバをさらに備えたことを特徴とする請求項93に記載のシステム。
- 前記オブザーバからイベントを受け取り、前記リバランサをトリガする更新機構をさらに備えたことを特徴とする請求項117に記載のシステム。
- 前記イベントの1つは、タスク切り替えイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、ウィンドウの生成に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、ダイアログが提供されることに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、ウィンドウフォーカスの変化に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、ユーザ入力イベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、プログラムの起動に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、プログラムのシャットダウンに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、システムブートに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、ログインイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、前記システムのシャットダウンに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、スタンバイモードに入ることに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、スタンバイモードからの再開に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、休止モードに入ることに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、休止モードからの再開に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、異なるユーザが前記システムを操作することに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、メディアの動作開始に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、再生中のメディアの動作終了に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、ビデオの時間シフトに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、前記システムへの遠隔接続に対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記イベントの1つは、プログラムで特定されるコンテクストに対応するイベントを含むことを特徴とする請求項118に記載のシステム。
- 前記オブザーバからイベントを受け取り、前記追跡機構に状態データを提供する更新機構をさらに備えることを特徴とする請求項117に記載のシステム。
- 前記状態データは、ファイルに関連する要求を含むことを特徴とする請求項139に記載のシステム。
- 前記状態データは、プロセスによるメモリ使用に関連するデータを含むことを特徴とする請求項139に記載のシステム。
- 前記リバランサに接続され、前記メモリと補助記憶との間でページを転送するI/Oプランナ機構をさらに備えたことを特徴とする請求項117に記載のシステム。
- 前記I/Oプランナ機構は、前記ページをバックグラウンド動作で転送することを特徴とする請求項93に記載のシステム。
- 前記I/Oプランナ機構は、I/Oパターンを監視して、フォアグラウンドのI/O転送に干渉しない可能性の高い転送時間を決定することを特徴とする請求項143に記載のシステム。
- 前記I/Oプランナ機構は、フォアグラウンドのI/O転送の速度を低下させるシークを引き起こさない可能性の高い転送時間を決定することを特徴とする請求項143に記載のシステム。
- 前記I/Oプランナは、ダミーパケットを生成して優先順位の逆転を回避することを特徴とする請求項143に記載のシステム。
- 前記I/Oプランナは、現在のプロセッサ使用状況と現在のディスク使用状況を評価してアイドル状態にあるコンピューティング状態を判定することを特徴とする請求項143に記載のシステム。
- 前記I/Oプランナ機構は、前記ページをフォアグラウンド動作で転送することを特徴とする請求項93に記載のシステム。
- データ構造を格納したコンピュータ読取可能な媒体であって、該データ構造は、
メモリのページを論理的に格納するスタンバイページセットと、
各々が前記スタンバイページセット中の前記ページに関連付けられた値に対応する前記スタンバイページセット中の複数のサブセットと
を備え、
前記スタンバイページセットは、前記ページの測定された使用情報に基づいて前記サブセット間でページを移動するように再び釣り合いがとられることを特徴とするコンピュータ読取可能な媒体。 - 前記データ構造において、前記スタンバイページセットは、前記ページのアクセス頻度にしたがってページを格納するための前記スタンバイページセット中の少なくとも1つの頻度に基づくサブセットを含むことを特徴とする請求項149に記載のコンピュータ読取可能な媒体。
- 前記データ構造において、前記スタンバイページセットは、前記ページが最後にアクセスされた時刻にしたがってページを格納するための前記スタンバイページセット中の少なくとも1つの最後に使用された時間に基づくサブセットを含むことを特徴とする請求項149に記載のコンピュータ読取可能な媒体。
- 前記データ構造において、前記スタンバイページセットは、前記ページのアクセス頻度に従ってページを格納するための前記スタンバイページセット中の少なくとも1つの頻度に基づくサブセットと、前記ページが最後にアクセスされた時刻にしたがってページを格納するための前記スタンバイページセット中の少なくとも1つの最後に使用された時間に基づくサブセットとを含み、
前記スタンバイページセットは、時間データに基づいて、前記最後に使用された時間に基づくサブセットと前記頻度に基づくサブセットの間でページを移動するように再び釣り合いを取ることを特徴とする請求項149に記載のコンピュータ読取可能媒体。 - 前記データ構造において、前記スタンバイページセットは前記スタンバイページセット中に頻度に基づく複数のサブセットを含み、前記スタンバイページセットは時間データに基づいて前記頻度に基づくサブセット間でページを移動するように再び釣り合いを取ることを特徴とする請求項149に記載のコンピュータ読取可能媒体。
- 前記データ構造において、前記頻度に基づくサブセットの少なくとも1つは、期間あたりの使用回数に対応することを特徴とする請求項153に記載のコンピュータ読取可能媒体。
- 前記データ構造において、前記頻度に基づくサブセットの少なくとも1つの別のサブセットは、別の期間あたりの使用回数に対応することを特徴とする請求項154に記載のコンピュータ読取可能媒体。
- 前記データ構造において、前記期間は長さが等しくないことを特徴とする請求項155に記載のコンピュータ読取可能媒体。
- 前記データ構造において、前記スタンバイページセットは前記スタンバイページセット中に最後に使用された時間に基づく複数のサブセットを含み、前記スタンバイページセットは時間データに基づいて前記最後に使用された時間に基づくサブセット間でページを移動するように再び釣り合いを取ることを特徴とする請求項149に記載のコンピュータ読取可能媒体。
- 前記データ構造において、前記サブセットの少なくとも1つは、前記スタンバイページセット中にあり、補助記憶装置からプリフェッチされるページで満たすことを特徴とする請求項149に記載のコンピュータ読取可能媒体。
- 前記データ構造において、前記サブセットの少なくとも1つは、メモリ中に固定されるページを格納するために前記スタンバイページセット中にあることを特徴とする請求項149に記載のコンピュータ読取可能媒体。
- 前記データ構造において、前記サブセットの少なくとも1つは、関連付けられたスコアを有さないページを格納するために前記スタンバイページセット中にあることを特徴とする請求項149に記載のコンピュータ読取可能媒体。
- メモリ中のページおよび補助記憶装置に保持されるページを識別するステップであって、該識別は当該識別された各ページに関連付けられたページ価値のデータに基づかれるステップと、
前記補助記憶装置の少なくとも一部のページによって前記メモリを登録するステップであって、より高い価値を有する前記ページの少なくとも一部に対する要求を受け取る前に、相対的に低い価値を有するメモリ中の前記ページの少なくとも一部を、相対的に高い価値を有する前記補助記憶装置の少なくとも一部のページに置き換えるステップを含むステップと
を備えたことを特徴とするコンピュータによって実装される方法。 - 前記価値に基づいてページを識別するステップは、現在のコンテクストに基づいて値を確定するステップを含むことを特徴とする請求項161に記載の方法。
- 前記価値に基づいてメモリ中のページおよび補助記憶装置に保持されるページを識別するステップは、低い価値を有するページと高い価値を有するページとを識別するステップを含むことを特徴とする請求項161に記載の方法。
- より高い価値を有するページの少なくとも一部に対する要求を受け取る前に、相対的に低い価値を有するメモリ中の前記ページの少なくとも一部を圧縮して、相対的に高い価値を有する前記補助記憶装置の少なくともいくつかのページのためにスペースを提供するステップをさらに含むことを特徴とする請求項161に記載の方法。
- 前記ページ価値のデータを判定するステップをさらに備えたことを特徴とする請求項161に記載の方法。
- 前記ページ価値のデータを判定するステップは、前記ページ価値のデータの少なくとも一部をファイルから読み出すステップを含むことを特徴とする請求項165に記載の方法。
- 前記ファイルは、別のコンピュータシステムにおけるページ使用を測定することから得たトレーニングデータを含むことを特徴とする請求項166に記載の方法。
- 前記ページ価値のデータを判定するステップは、ページの使用状況を追跡して前記ページ価値のデータの少なくとも一部を判定するステップを含むことを特徴とする請求項165に記載の方法。
- 前記ページの使用状況を追跡するステップは、アクセスパターンを追跡するステップを含むことを特徴とする請求項168に記載の方法。
- 前記ページの使用状況を追跡するステップは、アクセス頻度を追跡するステップを含むことを特徴とする請求項168に記載の方法。
- 前記ページの使用状況を追跡するステップは、最後のページ使用に対応する時間データを記録するステップを含むことを特徴とする請求項168に記載の方法。
- 前記ページの使用状況を追跡するステップは、ある期間におけるページの使用回数を計数するステップを含むことを特徴とする請求項168に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページの作成時間に対応するデータを保持するステップを含むことを特徴とする請求項168に記載の方法。
- 前記ページの少なくとも一部についての前記追跡したページ使用状況に対応するデータを永続的な記憶に保存するステップをさらに含むことを特徴とする請求項168に記載の方法。
- 前記ページの使用状況を追跡するステップは、ページアクセス情報を評価するステップを含むことを特徴とする請求項168に記載の方法。
- 前記ページアクセス情報を評価するステップは、ページテーブルエントリのアクセスビットを読み取るステップを含むことを特徴とする請求項175に記載の方法。
- 前記ページアクセス情報を評価するステップは、前記ページアクセス情報がリセットされると評価するステップを含むことを特徴とする請求項175に記載の方法。
- 前記ページアクセス情報を評価するステップは、前記ページアクセス情報をリセットする頻度を判定するステップを含むことを特徴とする請求項175に記載の方法。
- 前記頻度を記録するステップをさらに含むことを特徴とする請求項178に記載の方法。
- 前記ページアクセス情報を評価するステップは、ページがアクセスされる頻度を判定するステップを含むことを特徴とする請求項175に記載の方法。
- 前記頻度を記録するステップをさらに含むことを特徴とする請求項180に記載の方法。
- 前記ページアクセス情報を評価するステップは、ページ障害を検出するステップを含むことを特徴とする請求項175に記載の方法。
- 前記ページの使用状況を追跡するステップは、ファイルの読み取りおよび書き込みの要求を検出するステップを含むことを特徴とする請求項168に記載の方法。
- 前記ページの使用状況を追跡するステップは、プロセスのワーキングセット情報を読み取るステップ、ページがメモリから転送される際にデータを記録するステップ、およびワーキングセットからページが刈り込まれる際にデータを記録するステップの少なくとも1つを含むことを特徴とする請求項168に記載の方法。
- 前記ページの使用状況を追跡するステップは、イベントまたはコンテクストに応答してデータを記録するステップを含むことを特徴とする請求項168に記載の方法。
- 前記記録されたデータは、切り替えられたタスク、生成されたウィンドウ、検出されたアクション、フォーカスを有するウィンドウの変化、ユーザ入力イベント、前記コンピュータシステムの休止に関連するイベント、前記コンピュータシステムのスタンバイに関連するイベント、前記コンピュータシステムのシステムブートに関連するイベント、プログラムの起動、プログラムのシャットダウン、前記システムのユーザの交替、ログオン、およびネット接続イベント、メディア関連イベント、の少なくとも1つに応答して記録されることを特徴とする請求項185に記載の方法。
- 前記記録されたデータは、プログラムで指定されるコンテクストに応答して記録されることを特徴とする請求項186に記載の方法。
- 前記ページ価値のデータを判定するステップは、少なくとも1つのページのI/O転送のコストを判定するステップを含むことを特徴とする請求項165に記載の方法。
- 前記ページ価値のデータを判定するステップは、複数のページ使用ファクタに基づいて、選択されたページの優先度を計算するステップを含むことを特徴とする請求項165に記載の方法。
- 前記複数のページ使用ファクタに基づいて前記優先度を計算するステップは、1つのページ使用ファクタを別のファクタに関連して重み付けするステップを含むことを特徴とする請求項189に記載の方法。
- 前記ページ価値のデータを判定するステップは、前記選択されたページについて、ページの使用頻度データと、最後にページが使用された時間の情報とを数学的に組み合わせるステップを含むことを特徴とする請求項165に記載の方法。
- 前記メモリ中のページを識別するステップは、前記コンピュータシステムで利用できるページのサブセットを選択するステップを含むことを特徴とする請求項165に記載の方法。
- 前記ページのサブセットは、特定のファイルに対応するページを含むことを特徴とする請求項192に記載の方法。
- 前記ページのサブセットは、メモリ中の特定のセクションに対応するページを含むことを特徴とする請求項193に記載の方法。
- 前記ページのサブセットは、記憶装置中の特定のセクションに対応するページを含むことを特徴とする請求項193に記載の方法。
- 選択されたページをまとめてページグループとし、前記グループと関連して前記ページ価値のデータを保持するステップをさらに含むことを特徴とする請求項161に記載の方法。
- 前記選択されたページをグループ分けするステップは、各ページが最後にアクセスされた時刻に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、使用パターンに基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、使用頻度に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、仮想的な位置に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、使用時間に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記使用時間は、曜日情報を含むことを特徴とする請求項196に記載の方法。
- 前記使用時間は、時刻情報を含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、物理的な位置に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、前記ページがメモリから刈り込まれた時間に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、I/O転送の効率に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、どのプロセスが前記ページを使用するかに基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、プロセスの寿命情報に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、障害情報に基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、少なくとも1つのイベントに基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、特定のユーザプロセスに基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記選択されたページをグループ分けするステップは、コンテクストデータに基づいてページをグループ分けするステップを含むことを特徴とする請求項196に記載の方法。
- 前記コンテクストデータをアプリケーションプログラムから受け取るステップをさらに備えたことを特徴とする請求項212に記載の方法。
- ページの使用状況との関連でコンテクストデータを記録するステップをさらに備えたことを特徴とする請求項212に記載の方法。
- 前記コンテクストデータを記録するステップは、電力状態情報を記録するステップを含むことを特徴とする請求項214に記載の方法。
- 前記コンテクストデータを記録するステップは、ディスク状態情報を記録するステップを含むことを特徴とする請求項214に記載の方法。
- 前記コンテクストデータを記録するステップは、イベント情報を記録するステップを含むことを特徴とする請求項214に記載の方法。
- 前記イベント情報を記録するステップは、メモリに関連するイベントを記録するステップを含むことを特徴とする請求項217に記載の方法。
- ページ価値のデータに基づいて前記識別したページをそれぞれ順位付けするステップをさらに備え、前記メモリを登録するステップは前記順位に基づいた順序でページをメモリにロードするステップを含むことを特徴とする請求項161に記載の方法。
- 前記メモリを登録するステップは、前記補助記憶から選択されたページをメモリ中のスタンバイページセットにロードするステップを含むことを特徴とする請求項161に記載の方法。
- 前記スタンバイページセットは複数のサブセットを含でおり、前記ページに検出された使用データに基づいて、前記ページを前記スタンバイページセットの1つのサブセットから別のサブセットに論理的に移動するステップをさらに備えたことを特徴とする請求項220に記載の方法。
- 前記ページを論理的に移動するステップは、前記ページを頻度に基づくサブセットから最後に使用された時間に基づくサブセットに移動するステップを含むことを特徴とする請求項221に記載の方法。
- 前記ページを論理的に移動するステップは、前記ページを最後に使用された時間に基づくサブセットから頻度に基づくサブセットに移動するステップを含むことを特徴とする請求項221に記載の方法。
- 前記ページの少なくとも一部に関連付けられた前記ページ価値のデータを永続的な記憶に保存するステップをさらに含むことを特徴とする請求項161に記載の方法。
- 前記メモリを登録するステップは、前記ページをバックグラウンド動作で前記メモリにロードするステップを含むことを特徴とする請求項161に記載の方法。
- 前記ページをバックグラウンド動作で前記メモリにロードするステップは、アイドル優先度データを取得するステップを含むことを特徴とする請求項225に記載の方法。
- 前記ページをバックグラウンド動作で前記メモリにロードするステップは、I/Oパターンを監視して転送時間を決定するステップを含むことを特徴とする請求項225に記載の方法。
- 前記転送時間は、前記転送がフォアグラウンドのI/O転送と重ならない確率に基づいて決定されることを特徴とする請求項227に記載の方法。
- 前記転送時間は、前記転送が、フォアグラウンドのI/O転送の速度を低下させるシークを引き起こさない確率に基づいて決定されることを特徴とする請求項227に記載の方法。
- 前記選択されたページをバックグラウンド動作で前記メモリにロードするステップは、現在のプロセッサ使用状況および現在のディスク使用状況を評価するステップを含むことを特徴とする請求項225に記載の方法。
- 前記メモリを登録するステップは、前記ページをフォアグラウンド動作で前記メモリにロードするステップを含むことを特徴とする請求項161に記載の方法。
- 請求項161に記載の方法を行うコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能な媒体。
- メモリのページの必要度を監視するステップと、
前記監視された必要度に基づいて前記ページの価値を判定するステップと、
前記ページの価値に基づいて前記メモリのうちの少なくとも一部をロードするステップと
を備えたことを特徴とするコンピュータによって実装される方法。 - 前記メモリのうちの少なくとも一部をロードするステップは、前記価値に基づいてページを選択するステップを含むことを特徴とする請求項233に記載の方法。
- 前記メモリの少なくとも一部をロードするステップは、メモリのうちの全体をロードするステップを含むことを特徴とする請求項233に記載の方法。
- 前記ページの必要度を監視するステップは、実際のページ使用状況を追跡するステップを含むことを特徴とする請求項233に記載の方法。
- 前記ページの必要度を監視するステップは、トレーニングを行って必要とされる可能性のあるページを判定するステップを含むことを特徴とする請求項233に記載の方法。
- 前記トレーニングを行って必要とされる可能性があるページを判定するステップは、ページの使用をシミュレートするステップを含むことを特徴とする請求項237に記載の方法。
- 前記トレーニングを行って必要とされる可能性があるページを判定するステップは、コードを分析するステップを含むことを特徴とする請求項237に記載の方法。
- 前記トレーニングを行って必要とされる可能性があるページを判定するステップは、トレーニングコンピュータシステムでプログラムを実行し、別のコンピュータシステムにおける価値を使用するステップを含むことを特徴とする請求項237に記載の方法。
- 前記価値を含む情報の永続的な格納庫を構築し、前記永続的な格納庫をファイルに格納するステップをさらに含むことを特徴とする請求項233に記載の方法。
- 前記メモリのうちの少なくとも一部をロードするステップは、フリー状態にあるメモリをロードするステップを含むことを特徴とする請求項233に記載の方法。
- メモリ中の低い価値のページを識別するステップをさらに備え、前記メモリのうちの少なくとも一部をロードするステップは、前記低い価値のページの少なくとも一部を置き換えるステップを含むことを特徴とする請求項233に記載の方法。
- 請求項243に記載の方法を行うコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能な媒体。
- 低い価値のページを識別するステップと、
前記低い価値のページについての情報を含むメモリの管理情報を該メモリに保持するステップと
を含むことを特徴とするコンピュータによって実装される方法。 - 前記メモリの管理情報を保持するステップは、パターン、頻度、グループ分け、およびコンテクスト情報の少なくとも1つを含むリッチ使用情報を保持するステップを含むことを特徴とする請求項245に記載の方法。
- 前記メモリの管理情報を保持するステップは、前記メモリにかつてあったが、もはやないページ、および前記メモリに今までなかったページについてのデータを保持するステップを含むことを特徴とする請求項245に記載の方法。
- 前記メモリの管理情報を保持するステップは、パターン、頻度、グループ分け、およびコンテクスト情報の少なくとも1つを含むリッチ使用情報を保持するステップと、前記メモリにかつてあったが、もはやないページ、および前記メモリに今までなかったページについて前記リッチ使用情報を保持するステップとを含むことを特徴とする請求項245に記載の方法。
- 前記リッチ使用情報を保持するステップは、もはやメモリにないがワーキングセットエントリを維持するステップであって、該ワーキングセットエントリは、前記ワーキングセットのアドレス空間で有効なページについての前記リッチ使用情報を含むステップを含むことを特徴とする請求項248に記載の方法。
- 前記リッチ使用情報を保持するステップは、メモリから出されるページについての前記リッチ使用情報を保持するために、物理的なページ記述子およびエントリを割り振るステップを含むことを特徴とする請求項248に記載の方法。
- 前記メモリ管理情報を保持するステップは、パターン、頻度、グループ分け、およびコンテクスト情報の少なくとも1つを含むリッチ使用情報を得ることができる統計値をメモリに保持するステップを含むことを特徴とする請求項245に記載の方法。
- 前記統計値を保持するステップは、ページごとのエントリを保持するステップを含むことを特徴とする請求項251に記載の方法。
- 前記統計値を保持するステップは、ページグループのエントリを保持するステップを含むことを特徴とする請求項251に記載の方法。
- 前記統計値を保持するステップは、ファイルのエントリを保持するステップを含むことを特徴とする請求項251に記載の方法。
- 前記統計値を保持するステップは、少なくとも1つのページについての状態データを保持するステップを含むことを特徴とする請求項251に記載の方法。
- 前記状態データは、ページがいつメモリから除去されたかについてのデータを含むことを特徴とする請求項255に記載の方法。
- 前記状態データは、ページがいつメモリにロードされたかについてのデータを含むことを特徴とする請求項255に記載の方法。
- 前記メモリの管理情報を使用してメモリ中のページに優先順位を付けてサブセットとするステップをさらに含むことを特徴とする請求項245に記載の方法。
- 前記メモリの管理情報を使用して、より有用なページが再び目標とされないように保護するステップをさらに含むことを特徴とする請求項245に記載の方法。
- パターン、頻度、グループ分け、およびコンテクスト情報の少なくとも1つを含むリッチ使用情報に基づいてメモリ中のページに再度優先順位付けするステップをさらに備えたことを特徴とする請求項245に記載の方法。
- 請求項245に記載の方法を行うコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能な媒体。
- パターン、頻度、コンテクスト、およびグループ分けデータの少なくとも1つを含む、メモリ使用についてのリッチ情報を捕捉するステップと、
前記リッチ情報をファイルに持続するステップと
を備えたことを特徴とするコンピュータによって実装される方法。 - 前記リッチ情報を捕捉するステップは、実際のページ使用状況をサンプリングするステップを含むことを特徴とする請求項262に記載の方法。
- 前記リッチ情報を捕捉するステップは、実際のページ使用状況を追跡するステップを含むことを特徴とする請求項262に記載の方法。
- 請求項262に記載の方法を行うコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能な媒体。
- メモリおよび補助記憶を有するコンピューティング環境において、
コンテクストに関連するイベントを受信するステップと、
前記コンテクストで使用される確率がより高いページが、使用される確率がより低いページに比べてより価値が高くなるように、前記イベントに応答して前記メモリを優先順位付けするステップと
を含むことを特徴とする方法。 - 前記メモリを優先順位付けするステップは、メモリのページを分類するサブセットを変更するステップを含むことを特徴とする請求項266に記載の方法。
- 前記メモリを優先順位付けするステップは、少なくとも1つのページを前記補助記憶からメモリにロードするステップを含むことを特徴とする請求項266に記載の方法。
- 前記メモリを優先順位付けするステップは、前記メモリ中のページを前記補助記憶のページに置き換えるステップを含むことを特徴とする請求項266に記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41611502P | 2002-10-04 | 2002-10-04 | |
US60/416,115 | 2002-10-04 | ||
US10/325,591 US6910106B2 (en) | 2002-10-04 | 2002-12-20 | Methods and mechanisms for proactive memory management |
US10/325,591 | 2002-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004133934A true JP2004133934A (ja) | 2004-04-30 |
JP4724362B2 JP4724362B2 (ja) | 2011-07-13 |
Family
ID=31996938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003347507A Expired - Lifetime JP4724362B2 (ja) | 2002-10-04 | 2003-10-06 | プロアクティブなメモリ管理の方法および機構 |
Country Status (12)
Country | Link |
---|---|
US (5) | US6910106B2 (ja) |
EP (1) | EP1406174B8 (ja) |
JP (1) | JP4724362B2 (ja) |
KR (1) | KR100972723B1 (ja) |
CN (1) | CN1327369C (ja) |
AT (1) | ATE526631T1 (ja) |
AU (2) | AU2003246330A1 (ja) |
BR (1) | BRPI0304297B1 (ja) |
CA (2) | CA2442188C (ja) |
ES (1) | ES2371454T3 (ja) |
MX (1) | MXPA03008766A (ja) |
RU (2) | RU2482535C2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008065638A (ja) * | 2006-09-07 | 2008-03-21 | Nec Corp | メモリ管理方法、メモリ管理装置およびプログラム |
JP2008547106A (ja) * | 2005-06-27 | 2008-12-25 | マイクロソフト コーポレーション | 検索用バックオフメカニズム |
JP2011530133A (ja) * | 2008-08-04 | 2011-12-15 | サンディスク アイエル リミテッド | キャッシュコンテンツの記憶管理 |
US8732413B2 (en) | 2007-01-29 | 2014-05-20 | Samsung Electronics Co., Ltd. | Method and system for preloading page using control flow |
US9009401B2 (en) | 2012-07-27 | 2015-04-14 | International Business Machines Corporation | Multi-updatable least recently used mechanism |
JP2017512340A (ja) * | 2014-02-21 | 2017-05-18 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 修正されたメモリー圧縮 |
US10649814B2 (en) | 2017-07-18 | 2020-05-12 | Fujitsu Limited | Device, method, and medium for executing a computing process within an accessed monitoring region |
Families Citing this family (301)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1345234A1 (en) * | 2002-03-11 | 2003-09-17 | STMicroelectronics S.r.l. | Semiconductor memory with self-refresh capability |
US20040025045A1 (en) * | 2002-07-30 | 2004-02-05 | Sentry Technologies Pte, Ltd. | Method for switching rapidly between computing modes |
US6910106B2 (en) * | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
EP1593065B1 (en) * | 2003-02-12 | 2006-06-14 | Research In Motion Limited | Methods,mobile devices and computer-readable mediums for managing data |
US7082508B2 (en) * | 2003-06-24 | 2006-07-25 | Intel Corporation | Dynamic TLB locking based on page usage metric |
US7600058B1 (en) * | 2003-06-26 | 2009-10-06 | Nvidia Corporation | Bypass method for efficient DMA disk I/O |
US8095511B2 (en) * | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
US7900092B2 (en) * | 2003-07-11 | 2011-03-01 | Computer Associates Think, Inc. | Kernel-level method of flagging problems in applications |
US20050015728A1 (en) * | 2003-07-17 | 2005-01-20 | International Business Machines Corporation | Method, system, and program product for customizing a user interface |
US8683132B1 (en) | 2003-09-29 | 2014-03-25 | Nvidia Corporation | Memory controller for sequentially prefetching data for a processor of a computer system |
US7502891B2 (en) * | 2003-10-30 | 2009-03-10 | International Business Machines Corporation | Storage management based on worklist |
US8356142B1 (en) * | 2003-11-12 | 2013-01-15 | Nvidia Corporation | Memory controller for non-sequentially prefetching data for a processor of a computer system |
US8700808B2 (en) * | 2003-12-01 | 2014-04-15 | Nvidia Corporation | Hardware support system for accelerated disk I/O |
US7203854B2 (en) * | 2004-02-12 | 2007-04-10 | Microsoft Corporation | System for reconfiguring a computer between a high power and high functionality configuration and a low power and low functionality configuration |
US20110099053A1 (en) * | 2004-04-30 | 2011-04-28 | Irizarry Jr Robert T | Method and system for monitoring successful use of application software |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US8538997B2 (en) * | 2004-06-25 | 2013-09-17 | Apple Inc. | Methods and systems for managing data |
JP2006011803A (ja) * | 2004-06-25 | 2006-01-12 | Hitachi Ltd | 情報処理システムおよびその制御方法 |
US8131674B2 (en) | 2004-06-25 | 2012-03-06 | Apple Inc. | Methods and systems for managing data |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US8356143B1 (en) | 2004-10-22 | 2013-01-15 | NVIDIA Corporatin | Prefetch mechanism for bus master memory access |
US7613870B2 (en) * | 2004-11-18 | 2009-11-03 | International Business Machines Corporation | Efficient memory usage in systems including volatile and high-density memories |
US7360042B2 (en) * | 2004-12-20 | 2008-04-15 | Microsoft Corporation | Determining when to evict unused items from storage |
US7543119B2 (en) * | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7340686B2 (en) | 2005-03-22 | 2008-03-04 | Microsoft Corporation | Operating system program launch menu search |
US7543244B2 (en) * | 2005-03-22 | 2009-06-02 | Microsoft Corporation | Determining and displaying a list of most commonly used items |
US7512904B2 (en) * | 2005-03-22 | 2009-03-31 | Microsoft Corporation | Operating system launch menu program listing |
US7496722B2 (en) * | 2005-04-26 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Memory mapped page priorities |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US7392338B2 (en) | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US7590796B2 (en) * | 2006-07-31 | 2009-09-15 | Metaram, Inc. | System and method for power management in memory systems |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US20070067455A1 (en) * | 2005-08-08 | 2007-03-22 | Microsoft Corporation | Dynamically adjusting resources |
US8370583B2 (en) * | 2005-08-12 | 2013-02-05 | Silver Peak Systems, Inc. | Network memory architecture for providing data based on local accessibility |
US8392684B2 (en) | 2005-08-12 | 2013-03-05 | Silver Peak Systems, Inc. | Data encryption in a network memory architecture for providing data based on local accessibility |
US8171238B1 (en) | 2007-07-05 | 2012-05-01 | Silver Peak Systems, Inc. | Identification of data stored in memory |
US8095774B1 (en) | 2007-07-05 | 2012-01-10 | Silver Peak Systems, Inc. | Pre-fetching data into a memory |
KR101303518B1 (ko) | 2005-09-02 | 2013-09-03 | 구글 인코포레이티드 | Dram 적층 방법 및 장치 |
US8929402B1 (en) | 2005-09-29 | 2015-01-06 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data by predicting subsequent data |
US8489562B1 (en) * | 2007-11-30 | 2013-07-16 | Silver Peak Systems, Inc. | Deferred data storage |
US8811431B2 (en) | 2008-11-20 | 2014-08-19 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data |
US20070088920A1 (en) * | 2005-10-19 | 2007-04-19 | Philip Garcia | Managing data for memory, a data store, and a storage device |
US20070124573A1 (en) * | 2005-10-28 | 2007-05-31 | Walker Phillip M | Method for rapid startup of a computer system |
KR100739760B1 (ko) | 2005-11-23 | 2007-07-13 | 삼성전자주식회사 | 컴퓨터의 메모리 사용에 대한 정보를 제공하는 시스템 및방법 |
US8019854B2 (en) * | 2005-11-25 | 2011-09-13 | Samsung Electronics Co., Ltd. | System and method of providing information on computer memory use |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US8607005B2 (en) * | 2006-02-17 | 2013-12-10 | International Business Machines Corporation | Monitoring program execution to learn data blocks accessed by software process for facilitating efficient prefetching |
US7620784B2 (en) * | 2006-06-09 | 2009-11-17 | Microsoft Corporation | High speed nonvolatile memory device using parallel writing among a plurality of interfaces |
KR100801894B1 (ko) | 2006-06-15 | 2008-02-12 | 삼성전자주식회사 | 휴대용 단말기에서 메모리 용량을 고려한 프로그램 실행을위한 장치 및 방법 |
WO2007146970A2 (en) * | 2006-06-16 | 2007-12-21 | Texas Instruments Incorporated | Page processing circuits, devices, methods and systems for secure demand paging and other operations |
EP1870813B1 (en) * | 2006-06-19 | 2013-01-30 | Texas Instruments France | Page processing circuits, devices, methods and systems for secure demand paging and other operations |
US8111260B2 (en) | 2006-06-28 | 2012-02-07 | Microsoft Corporation | Fast reconfiguration of graphics pipeline state |
US7692660B2 (en) * | 2006-06-28 | 2010-04-06 | Microsoft Corporation | Guided performance optimization for graphics pipeline state management |
US8954947B2 (en) * | 2006-06-29 | 2015-02-10 | Microsoft Corporation | Fast variable validation for state management of a graphics pipeline |
US7743216B2 (en) * | 2006-06-30 | 2010-06-22 | Seagate Technology Llc | Predicting accesses to non-requested data |
US7590800B2 (en) * | 2006-06-30 | 2009-09-15 | Seagate Technology Llc | 2D dynamic adaptive data caching |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US7555621B1 (en) * | 2006-08-01 | 2009-06-30 | Kaspersky Lab, Zao | Disk access antiblocking system and method |
US8755381B2 (en) * | 2006-08-02 | 2014-06-17 | Silver Peak Systems, Inc. | Data matching using flow based packet data storage |
US8885632B2 (en) | 2006-08-02 | 2014-11-11 | Silver Peak Systems, Inc. | Communications scheduler |
KR101128234B1 (ko) * | 2006-08-23 | 2012-03-23 | 엘지전자 주식회사 | 메모리 접근 제어 장치 및 방법 |
JP4864797B2 (ja) * | 2006-09-11 | 2012-02-01 | Kddi株式会社 | P−cscf高速ハンドオフシステム及びp−cscf高速ハンドオフ方法 |
US7904619B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for reducing memory write operations using difference information |
US7747813B2 (en) * | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
US7809900B2 (en) * | 2006-11-24 | 2010-10-05 | Sandforce, Inc. | System, method, and computer program product for delaying an operation that reduces a lifetime of memory |
CN101578587B (zh) * | 2006-11-24 | 2015-02-25 | Lsi公司 | 延迟缩减存储器寿命的操作 |
US7904672B2 (en) | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
US7827358B2 (en) * | 2007-01-07 | 2010-11-02 | Apple Inc. | Memory management methods and systems |
JP5094193B2 (ja) * | 2007-04-16 | 2012-12-12 | 株式会社日立製作所 | 記憶システム及びその制御方法 |
US8032699B2 (en) * | 2007-06-15 | 2011-10-04 | Seagate Technology Llc | System and method of monitoring data storage activity |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US20090055132A1 (en) * | 2007-08-22 | 2009-02-26 | Samsung Electronics Co., Ltd. | Determining situational patterns of use for computing systems |
US8032468B2 (en) * | 2007-08-22 | 2011-10-04 | Samsung Electronics Co., Ltd. | Identifying and recommending potential uses of computing systems based on their patterns of use |
US8046454B2 (en) * | 2007-08-22 | 2011-10-25 | Samsung Electronics Co. Ltd. | Identifying and recommending potential communication states based on patterns of use |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US7895242B2 (en) * | 2007-10-31 | 2011-02-22 | Microsoft Corporation | Compressed storage management |
US7849275B2 (en) | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US7903486B2 (en) | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
KR101420798B1 (ko) * | 2007-11-23 | 2014-07-17 | 삼성전자주식회사 | 실시간 응답성이 요구되는 코드를 위한 요구 페이징 방법및 단말 |
US8307115B1 (en) | 2007-11-30 | 2012-11-06 | Silver Peak Systems, Inc. | Network memory mirroring |
US8631203B2 (en) * | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
US8352671B2 (en) | 2008-02-05 | 2013-01-08 | Spansion Llc | Partial allocate paging mechanism using a controller and a buffer |
US8275945B2 (en) * | 2008-02-05 | 2012-09-25 | Spansion Llc | Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer |
US8442052B1 (en) | 2008-02-20 | 2013-05-14 | Silver Peak Systems, Inc. | Forward packet recovery |
US9269059B2 (en) | 2008-03-25 | 2016-02-23 | Qualcomm Incorporated | Apparatus and methods for transport optimization for widget content delivery |
US9069575B2 (en) * | 2008-03-25 | 2015-06-30 | Qualcomm Incorporated | Apparatus and methods for widget-related memory management |
US9600261B2 (en) | 2008-03-25 | 2017-03-21 | Qualcomm Incorporated | Apparatus and methods for widget update scheduling |
US9110685B2 (en) | 2008-03-25 | 2015-08-18 | Qualcomm, Incorporated | Apparatus and methods for managing widgets in a wireless communication environment |
US9747141B2 (en) | 2008-03-25 | 2017-08-29 | Qualcomm Incorporated | Apparatus and methods for widget intercommunication in a wireless communication environment |
GB2460464A (en) * | 2008-05-30 | 2009-12-02 | Symbian Software Ltd | Memory paging control method using two cache parts, each maintained using a FIFO algorithm |
US9717021B2 (en) | 2008-07-03 | 2017-07-25 | Silver Peak Systems, Inc. | Virtual network overlay |
US10164861B2 (en) | 2015-12-28 | 2018-12-25 | Silver Peak Systems, Inc. | Dynamic monitoring and visualization for network health characteristics |
US8743683B1 (en) | 2008-07-03 | 2014-06-03 | Silver Peak Systems, Inc. | Quality of service using multiple flows |
US10805840B2 (en) | 2008-07-03 | 2020-10-13 | Silver Peak Systems, Inc. | Data transmission via a virtual wide area network overlay |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
US9032151B2 (en) * | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US8356128B2 (en) * | 2008-09-16 | 2013-01-15 | Nvidia Corporation | Method and system of reducing latencies associated with resource allocation by using multiple arbiters |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
US9727473B2 (en) * | 2008-09-30 | 2017-08-08 | Intel Corporation | Methods to communicate a timestamp to a storage system |
US20100088459A1 (en) * | 2008-10-06 | 2010-04-08 | Siamak Arya | Improved Hybrid Drive |
US8370552B2 (en) * | 2008-10-14 | 2013-02-05 | Nvidia Corporation | Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions |
US9542431B2 (en) * | 2008-10-24 | 2017-01-10 | Microsoft Technology Licensing, Llc | Cyclic commit transaction protocol |
JP4764472B2 (ja) * | 2008-12-02 | 2011-09-07 | 株式会社日立製作所 | データベース管理方法、データベース管理プログラム、および、データベース管理装置 |
KR101618634B1 (ko) * | 2009-01-07 | 2016-05-09 | 삼성전자주식회사 | 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법 |
KR101056560B1 (ko) * | 2009-02-11 | 2011-08-11 | (주)인디링스 | 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치 |
WO2010111312A2 (en) * | 2009-03-23 | 2010-09-30 | Riverbed Technology, Inc. | Virtualized data storage system architecture |
US8698823B2 (en) | 2009-04-08 | 2014-04-15 | Nvidia Corporation | System and method for deadlock-free pipelining |
US8209501B2 (en) * | 2009-05-05 | 2012-06-26 | Microsoft Corporation | Capturing and loading operating system states |
US8135912B2 (en) | 2009-05-18 | 2012-03-13 | Hola Networks, Ltd. | System and method of increasing cache size |
WO2010134098A1 (en) * | 2009-05-21 | 2010-11-25 | Vijay Sathya | System and method of enabling identification of a right event sound corresponding to an impact related event |
KR101562973B1 (ko) | 2009-05-22 | 2015-10-26 | 삼성전자 주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
US8291503B2 (en) * | 2009-06-05 | 2012-10-16 | Microsoft Corporation | Preloading modules for performance improvements |
WO2010144624A1 (en) | 2009-06-09 | 2010-12-16 | Google Inc. | Programming of dimm termination resistance values |
US20100325372A1 (en) * | 2009-06-17 | 2010-12-23 | Housty Oswin E | Parallel training of dynamic random access memory channel controllers |
CN101656789B (zh) * | 2009-07-01 | 2012-09-05 | 中兴通讯股份有限公司 | 手机实现管理应用程序信息的方法及应用程序管理器 |
US8516166B2 (en) * | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US8467133B2 (en) | 2010-02-28 | 2013-06-18 | Osterhout Group, Inc. | See-through display with an optical assembly including a wedge-shaped illumination system |
US9285589B2 (en) | 2010-02-28 | 2016-03-15 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered control of AR eyepiece applications |
US8482859B2 (en) | 2010-02-28 | 2013-07-09 | Osterhout Group, Inc. | See-through near-eye display glasses wherein image light is transmitted to and reflected from an optically flat film |
US10180572B2 (en) | 2010-02-28 | 2019-01-15 | Microsoft Technology Licensing, Llc | AR glasses with event and user action control of external applications |
US8472120B2 (en) | 2010-02-28 | 2013-06-25 | Osterhout Group, Inc. | See-through near-eye display glasses with a small scale image source |
US9759917B2 (en) | 2010-02-28 | 2017-09-12 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered AR eyepiece interface to external devices |
US9091851B2 (en) | 2010-02-28 | 2015-07-28 | Microsoft Technology Licensing, Llc | Light control in head mounted displays |
US20120249797A1 (en) | 2010-02-28 | 2012-10-04 | Osterhout Group, Inc. | Head-worn adaptive display |
US9341843B2 (en) | 2010-02-28 | 2016-05-17 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a small scale image source |
US9134534B2 (en) | 2010-02-28 | 2015-09-15 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses including a modular image source |
US9097891B2 (en) | 2010-02-28 | 2015-08-04 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses including an auto-brightness control for the display brightness based on the brightness in the environment |
US9366862B2 (en) | 2010-02-28 | 2016-06-14 | Microsoft Technology Licensing, Llc | System and method for delivering content to a group of see-through near eye display eyepieces |
US8477425B2 (en) | 2010-02-28 | 2013-07-02 | Osterhout Group, Inc. | See-through near-eye display glasses including a partially reflective, partially transmitting optical element |
US9097890B2 (en) | 2010-02-28 | 2015-08-04 | Microsoft Technology Licensing, Llc | Grating in a light transmissive illumination system for see-through near-eye display glasses |
US8488246B2 (en) | 2010-02-28 | 2013-07-16 | Osterhout Group, Inc. | See-through near-eye display glasses including a curved polarizing film in the image source, a partially reflective, partially transmitting optical element and an optically flat film |
US9223134B2 (en) | 2010-02-28 | 2015-12-29 | Microsoft Technology Licensing, Llc | Optical imperfections in a light transmissive illumination system for see-through near-eye display glasses |
US9129295B2 (en) | 2010-02-28 | 2015-09-08 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a fast response photochromic film system for quick transition from dark to clear |
US20150309316A1 (en) | 2011-04-06 | 2015-10-29 | Microsoft Technology Licensing, Llc | Ar glasses with predictive control of external device based on event input |
JP2013521576A (ja) | 2010-02-28 | 2013-06-10 | オスターハウト グループ インコーポレイテッド | 対話式ヘッド取付け型アイピース上での地域広告コンテンツ |
US9128281B2 (en) | 2010-09-14 | 2015-09-08 | Microsoft Technology Licensing, Llc | Eyepiece with uniformly illuminated reflective display |
US9182596B2 (en) | 2010-02-28 | 2015-11-10 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with the optical assembly including absorptive polarizers or anti-reflective coatings to reduce stray light |
US9229227B2 (en) | 2010-02-28 | 2016-01-05 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a light transmissive wedge shaped illumination system |
US8712984B2 (en) * | 2010-03-04 | 2014-04-29 | Microsoft Corporation | Buffer pool extension for database server |
US9235531B2 (en) | 2010-03-04 | 2016-01-12 | Microsoft Technology Licensing, Llc | Multi-level buffer pool extensions |
US9229773B1 (en) * | 2010-06-30 | 2016-01-05 | Crimson Corporation | Determining when to perform a maintenance operation on a computing device based on status of a currently running process or application on the computing device |
US8380703B2 (en) * | 2010-07-26 | 2013-02-19 | International Business Machines Corporation | Feedback loop between a query optimizer and a cache manager |
KR20120041582A (ko) * | 2010-10-21 | 2012-05-02 | 삼성전자주식회사 | 스냅샷 이미지 분할 처리 장치 및 스냅샷 이미지 분할 처리 방법 |
US8812788B2 (en) | 2010-11-09 | 2014-08-19 | Lsi Corporation | Virtual cache window headers for long term access history |
US10394757B2 (en) | 2010-11-18 | 2019-08-27 | Microsoft Technology Licensing, Llc | Scalable chunk store for data deduplication |
US8244938B2 (en) * | 2010-11-23 | 2012-08-14 | International Business Machines Corporation | Sliding write window mechanism for writing data |
TWI417721B (zh) * | 2010-11-26 | 2013-12-01 | Etron Technology Inc | 衰減熱資料之方法 |
US8862845B2 (en) * | 2010-12-06 | 2014-10-14 | Xiotech Corporation | Application profiling in a data storage array |
US9235500B2 (en) | 2010-12-07 | 2016-01-12 | Microsoft Technology Licensing, Llc | Dynamic memory allocation and relocation to create low power regions |
US8959293B2 (en) | 2010-12-14 | 2015-02-17 | Microsoft Corporation | Data deduplication in a virtualization environment |
US9336380B2 (en) * | 2010-12-15 | 2016-05-10 | Microsoft Technology Licensing Llc | Applying activity actions to frequent activities |
WO2012095901A1 (ja) * | 2011-01-12 | 2012-07-19 | パナソニック株式会社 | プログラム実行装置およびコンパイラシステム |
JP2012173870A (ja) * | 2011-02-18 | 2012-09-10 | Toshiba Corp | 半導体装置及びメモリ保護方法 |
CN103403688A (zh) * | 2011-02-21 | 2013-11-20 | 富士通株式会社 | 处理器管理方法 |
US8818960B2 (en) * | 2011-03-18 | 2014-08-26 | Microsoft Corporation | Tracking redo completion at a page level |
US9886899B2 (en) * | 2011-05-17 | 2018-02-06 | Ignis Innovation Inc. | Pixel Circuits for AMOLED displays |
US8176437B1 (en) | 2011-07-18 | 2012-05-08 | Google Inc. | Responsiveness for application launch |
US8990171B2 (en) | 2011-09-01 | 2015-03-24 | Microsoft Corporation | Optimization of a partially deduplicated file |
US9063775B2 (en) | 2011-09-01 | 2015-06-23 | Microsoft Technology Licensing, Llc | Event aggregation for background work execution |
US9032413B2 (en) | 2011-09-01 | 2015-05-12 | Microsoft Technology Licensing, Llc | Decoupling background work and foreground work |
US20130067346A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Content User Experience |
JP2013061847A (ja) * | 2011-09-14 | 2013-04-04 | Sony Corp | 情報処理装置および情報処理方法 |
US9130991B2 (en) | 2011-10-14 | 2015-09-08 | Silver Peak Systems, Inc. | Processing data packets in performance enhancing proxy (PEP) environment |
US9626224B2 (en) | 2011-11-03 | 2017-04-18 | Silver Peak Systems, Inc. | Optimizing available computing resources within a virtual environment |
US9104606B2 (en) | 2011-11-22 | 2015-08-11 | Landy Wang | Temporal standby list |
WO2013100896A1 (en) * | 2011-12-27 | 2013-07-04 | Intel Corporation | Methods and apparatus to manage workload memory allocation |
US9164803B2 (en) | 2012-01-20 | 2015-10-20 | Microsoft Technology Licensing, Llc | Background task resource control |
US9201810B2 (en) * | 2012-01-26 | 2015-12-01 | Microsoft Technology Licensing, Llc | Memory page eviction priority in mobile computing devices |
CN103377067B (zh) * | 2012-04-13 | 2019-01-25 | 富泰华工业(深圳)有限公司 | 应用程序加载系统及方法 |
KR101955978B1 (ko) * | 2012-05-23 | 2019-03-08 | 엘지전자 주식회사 | 영상 표시 장치 및 영상 표시 장치의 메모리 관리 방법 |
US9032168B2 (en) * | 2012-05-31 | 2015-05-12 | Htc Corporation | Memory management methods and systems for mobile devices |
US8990534B2 (en) | 2012-05-31 | 2015-03-24 | Apple Inc. | Adaptive resource management of a data processing system |
US8856447B2 (en) | 2012-07-17 | 2014-10-07 | Apple Inc. | Converting memory accesses near barriers into prefetches |
US8930631B2 (en) * | 2012-08-20 | 2015-01-06 | International Business Machines Corporation | Efficient management of computer memory using memory page associations and memory |
US9043570B2 (en) * | 2012-09-11 | 2015-05-26 | Apple Inc. | System cache with quota-based control |
US20140082324A1 (en) * | 2012-09-14 | 2014-03-20 | Reuven Elhamias | Method and Storage Device for Using File System Data to Predict Host Device Operations |
US9069669B2 (en) | 2012-10-11 | 2015-06-30 | Industrial Technology Research Institute | Method and computer system for memory management on virtual machine |
US9489236B2 (en) | 2012-10-31 | 2016-11-08 | Microsoft Technology Licensing, Llc | Application prioritization |
US9195601B2 (en) | 2012-11-26 | 2015-11-24 | International Business Machines Corporation | Selective release-behind of pages based on repaging history in an information handling system |
CN107402891B (zh) | 2012-12-25 | 2020-12-22 | 华为技术有限公司 | 确定共享虚拟内存页面管理模式的方法和相关设备 |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
US10102148B2 (en) | 2013-06-13 | 2018-10-16 | Microsoft Technology Licensing, Llc | Page-based compressed storage management |
US9286097B2 (en) | 2013-07-23 | 2016-03-15 | Intel Corporation | Switching a first OS in a foreground to a standby state in response to a system event and resuming a second OS from a background |
EP3025230A4 (en) * | 2013-07-23 | 2017-04-05 | Intel Corporation | Operating system switching method and apparatus |
KR101489870B1 (ko) | 2013-08-19 | 2015-02-06 | 성균관대학교산학협력단 | 가상화 장치 및 그 메모리 관리 방법 |
US20150052326A1 (en) * | 2013-08-19 | 2015-02-19 | International Business Machines Corporation | User-controlled paging |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US9569385B2 (en) | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
US9317350B2 (en) | 2013-09-09 | 2016-04-19 | International Business Machines Corporation | Method and apparatus for faulty memory utilization |
US9645934B2 (en) * | 2013-09-13 | 2017-05-09 | Samsung Electronics Co., Ltd. | System-on-chip and address translation method thereof using a translation lookaside buffer and a prefetch buffer |
US9317421B2 (en) * | 2013-09-27 | 2016-04-19 | Intel Corporation | Memory management |
CN104572493A (zh) | 2013-10-23 | 2015-04-29 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
ES2727818T3 (es) * | 2013-11-22 | 2019-10-18 | Huawei Tech Co Ltd | Método, ordenador y aparato para migrar datos de memoria |
EP3087490A1 (en) * | 2013-12-23 | 2016-11-02 | Intel Corporation | Instruction and logic for memory access in a clustered wide-execution machine |
KR102168169B1 (ko) | 2014-01-07 | 2020-10-20 | 삼성전자주식회사 | 비휘발성 메모리 시스템의 메모리 맵핑 방법 및 이를 제공하는 시스템 |
US9678797B2 (en) | 2014-03-10 | 2017-06-13 | Microsoft Technology Licensing, Llc | Dynamic resource management for multi-process applications |
US9460001B2 (en) * | 2014-03-21 | 2016-10-04 | Veritas Technologies Llc | Systems and methods for identifying access rate boundaries of workloads |
US9684625B2 (en) * | 2014-03-21 | 2017-06-20 | Microsoft Technology Licensing, Llc | Asynchronously prefetching sharable memory pages |
US10108622B2 (en) | 2014-03-26 | 2018-10-23 | International Business Machines Corporation | Autonomic regulation of a volatile database table attribute |
US20150324132A1 (en) * | 2014-05-07 | 2015-11-12 | Sandisk Technologies Inc. | Method and Computing Device for Fast Erase of Swap Memory |
US9710198B2 (en) * | 2014-05-07 | 2017-07-18 | Sandisk Technologies Llc | Method and computing device for controlling bandwidth of swap operations |
US9928169B2 (en) | 2014-05-07 | 2018-03-27 | Sandisk Technologies Llc | Method and system for improving swap performance |
US9633233B2 (en) | 2014-05-07 | 2017-04-25 | Sandisk Technologies Llc | Method and computing device for encrypting data stored in swap memory |
US9665296B2 (en) | 2014-05-07 | 2017-05-30 | Sandisk Technologies Llc | Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications |
KR102254099B1 (ko) | 2014-05-19 | 2021-05-20 | 삼성전자주식회사 | 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템 |
KR102295769B1 (ko) | 2014-05-20 | 2021-08-30 | 삼성전자주식회사 | 스토리지 컨트롤러 및 상기 스토리지 컨트롤러의 동작 방법 |
CN108897761B (zh) * | 2014-05-27 | 2023-01-13 | 华为技术有限公司 | 一种聚簇存储方法及装置 |
CN104133852B (zh) * | 2014-07-04 | 2018-03-16 | 小米科技有限责任公司 | 网页访问方法、装置、服务器及终端 |
US9948496B1 (en) | 2014-07-30 | 2018-04-17 | Silver Peak Systems, Inc. | Determining a transit appliance for data traffic to a software service |
US9696933B2 (en) * | 2014-08-15 | 2017-07-04 | International Business Machines Corporation | Virtual machine manager initiated page-in of kernel pages |
US9875344B1 (en) | 2014-09-05 | 2018-01-23 | Silver Peak Systems, Inc. | Dynamic monitoring and authorization of an optimization device |
EP3204859B1 (en) | 2014-10-07 | 2020-12-02 | Google LLC | Methods and systems for cache lines de-duplication |
US9892054B2 (en) | 2014-10-07 | 2018-02-13 | Google Llc | Method and apparatus for monitoring system performance and dynamically updating memory sub-system settings using software to optimize performance and power consumption |
US9690928B2 (en) | 2014-10-25 | 2017-06-27 | Mcafee, Inc. | Computing platform security methods and apparatus |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US9880760B2 (en) * | 2014-10-30 | 2018-01-30 | Sandisk Technologies Llc | Managing data stored in a nonvolatile storage device |
US9846604B2 (en) | 2014-11-14 | 2017-12-19 | International Business Machines Corporation | Analyzing data sources for inactive data |
CN104503923B (zh) * | 2014-11-21 | 2017-08-11 | 华中科技大学 | 一种非对称磁盘阵列高速缓存调度方法 |
WO2016101115A1 (zh) | 2014-12-23 | 2016-06-30 | 华为技术有限公司 | 一种资源调度方法以及相关装置 |
CA2876379A1 (en) | 2014-12-29 | 2016-06-29 | Adam J. Storm | Memory management in presence of asymmetrical memory transfer costs |
EP3054384B1 (en) | 2015-02-04 | 2018-06-27 | Huawei Technologies Co., Ltd. | System and method for memory synchronization of a multi-core system |
US9632924B2 (en) | 2015-03-02 | 2017-04-25 | Microsoft Technology Licensing, Llc | Using memory compression to reduce memory commit charge |
US9916264B2 (en) | 2015-03-11 | 2018-03-13 | International Business Machines Corporation | Privilege based memory pinning mechanism |
US9921977B2 (en) | 2015-03-11 | 2018-03-20 | International Business Machines Corporation | Privilege based memory pinning mechanism |
MA41915A (fr) * | 2015-04-07 | 2018-02-13 | Benjamin Gittins | Unités de requête de transfert de mémoire programmable |
US10037270B2 (en) | 2015-04-14 | 2018-07-31 | Microsoft Technology Licensing, Llc | Reducing memory commit charge when compressing memory |
US9898349B2 (en) | 2015-06-23 | 2018-02-20 | International Business Machines Corporation | Management of asynchronous and synchronous resource requests |
KR102443069B1 (ko) | 2015-08-12 | 2022-09-14 | 삼성전자주식회사 | 어플리케이션을 실행하기 위한 장치 및 방법 |
US9753670B2 (en) | 2015-11-05 | 2017-09-05 | International Business Machines Corporation | Prioritizing memory pages to copy for memory migration |
US9875058B2 (en) * | 2015-11-05 | 2018-01-23 | International Business Machines Corporation | Prioritizing pages to transfer for memory sharing |
KR102529171B1 (ko) | 2016-02-26 | 2023-05-04 | 삼성전자주식회사 | 메모리 장치 진단 시스템 |
US9823854B2 (en) * | 2016-03-18 | 2017-11-21 | Qualcomm Incorporated | Priority-based access of compressed memory lines in memory in a processor-based system |
US10228855B2 (en) | 2016-03-30 | 2019-03-12 | International Business Machines Corporation | Tuning memory across database clusters for distributed query stability |
US10884950B2 (en) * | 2016-05-16 | 2021-01-05 | International Business Machines Corporation | Importance based page replacement |
US10432484B2 (en) | 2016-06-13 | 2019-10-01 | Silver Peak Systems, Inc. | Aggregating select network traffic statistics |
US10379862B2 (en) | 2016-06-28 | 2019-08-13 | International Business Machines Corporation | Effectiveness and prioritization of prefeteches |
US9967056B1 (en) | 2016-08-19 | 2018-05-08 | Silver Peak Systems, Inc. | Forward packet recovery with constrained overhead |
JP6786342B2 (ja) * | 2016-10-18 | 2020-11-18 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
US20180150125A1 (en) * | 2016-11-28 | 2018-05-31 | Qualcomm Incorporated | Wifi memory power minimization |
US10481999B2 (en) * | 2016-12-05 | 2019-11-19 | Microsoft Technology Licensing, Llc | Partial process recording |
US10776408B2 (en) * | 2017-01-11 | 2020-09-15 | International Business Machines Corporation | Natural language search using facets |
US20190371288A1 (en) | 2017-01-19 | 2019-12-05 | Inmusic Brands, Inc. | Systems and methods for generating a graphical representation of a strike velocity of an electronic drum pad |
US10257082B2 (en) | 2017-02-06 | 2019-04-09 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows |
US11044202B2 (en) | 2017-02-06 | 2021-06-22 | Silver Peak Systems, Inc. | Multi-level learning for predicting and classifying traffic flows from first packet data |
US10892978B2 (en) | 2017-02-06 | 2021-01-12 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows from first packet data |
US10771394B2 (en) | 2017-02-06 | 2020-09-08 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows on a first packet from DNS data |
US10540287B2 (en) | 2017-05-12 | 2020-01-21 | Samsung Electronics Co., Ltd | Spatial memory streaming confidence mechanism |
US11023164B2 (en) | 2017-06-19 | 2021-06-01 | Micron Technology, Inc. | Managed NAND data tagging |
US10561930B2 (en) | 2017-07-21 | 2020-02-18 | Spinner Systems, Inc. | Device to provide network access to entertainment machine |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
EP4187881A1 (en) | 2017-08-28 | 2023-05-31 | Bright Data Ltd. | Improving content fetching by selecting tunnel devices grouped according to geographic location |
KR20190026231A (ko) * | 2017-09-04 | 2019-03-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11212210B2 (en) | 2017-09-21 | 2021-12-28 | Silver Peak Systems, Inc. | Selective route exporting using source type |
WO2019113843A1 (en) * | 2017-12-13 | 2019-06-20 | Intel Corporation | Malware detection in memory |
WO2019123519A1 (ja) | 2017-12-18 | 2019-06-27 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
US10637721B2 (en) | 2018-03-12 | 2020-04-28 | Silver Peak Systems, Inc. | Detecting path break conditions while minimizing network overhead |
CN110294372B (zh) * | 2018-03-23 | 2023-02-28 | 奥的斯电梯公司 | 一种无线信号装置、电梯服务请求系统和方法 |
CN109614050B (zh) * | 2018-12-11 | 2022-03-04 | 浪潮(北京)电子信息产业有限公司 | 磁盘休眠状态控制方法、装置、设备及可读存储介质 |
WO2020174460A2 (en) | 2019-02-25 | 2020-09-03 | Luminati Networks Ltd. | System and method for url fetching retry mechanism |
CN109977168B (zh) * | 2019-03-18 | 2021-11-05 | 武汉达梦数据库股份有限公司 | 基于数据页预加载的数据库数据同步方法及设备 |
EP4030318A1 (en) | 2019-04-02 | 2022-07-20 | Bright Data Ltd. | System and method for managing non-direct url fetching service |
US10936480B2 (en) * | 2019-05-31 | 2021-03-02 | Microsoft Technology Licensing, Llc | Memory management for multiple process instances |
KR102116858B1 (ko) * | 2019-09-06 | 2020-05-29 | 한국과학기술정보연구원 | 스케줄링장치 및 그 동작 방법 |
CN113590500A (zh) * | 2020-04-30 | 2021-11-02 | 华为技术有限公司 | 一种内存管理方法及终端设备 |
US11321225B2 (en) * | 2020-05-22 | 2022-05-03 | International Business Machines Corporation | Reducing the memory load time for logic simulator by leveraging architecture simulator |
US11481281B2 (en) | 2020-06-11 | 2022-10-25 | International Business Machines Corporation | Predictive fog computing in an edge device |
US11836507B2 (en) * | 2020-06-18 | 2023-12-05 | Dell Products L.P. | Prioritizing the pre-loading of applications with a constrained memory budget using contextual information |
US11429590B2 (en) * | 2020-10-15 | 2022-08-30 | International Business Machines Corporation | Protecting against invalid memory references |
US20220171656A1 (en) * | 2020-12-02 | 2022-06-02 | Unifabrix Ltd. | Adjustable-precision multidimensional memory entropy sampling for optimizing memory resource allocation |
CN112486559B (zh) * | 2020-12-15 | 2023-06-20 | 青岛海尔科技有限公司 | 产品调整方法、装置和存储介质及电子装置 |
US11983532B2 (en) | 2020-12-30 | 2024-05-14 | International Business Machines Corporation | Optimize bound information accesses in buffer protection |
US11966331B2 (en) | 2020-12-30 | 2024-04-23 | International Business Machines Corporation | Dedicated bound information register file for protecting against out-of-bounds memory references |
US11700289B2 (en) * | 2021-05-31 | 2023-07-11 | Citrix Systems, Inc. | User experience analysis for multi-channel remote desktop environments |
CN114218153B (zh) * | 2021-12-06 | 2023-11-14 | 海飞科(南京)信息技术有限公司 | 用于存储管理的方法、介质、程序产品、系统和装置 |
CN115328751B (zh) * | 2022-08-10 | 2023-03-14 | 北京同创永益科技发展有限公司 | 一种面向混沌工程实验动态构建观测页面的方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57161933A (en) * | 1981-03-31 | 1982-10-05 | Fujitsu Ltd | Automatic program editing system |
JPS60140446A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 記憶階層制御方式 |
JPH03147157A (ja) * | 1989-11-02 | 1991-06-24 | Nec Eng Ltd | 情報処理装置 |
JPH04205634A (ja) * | 1990-11-30 | 1992-07-27 | Matsushita Electric Ind Co Ltd | 記憶装置制御方法 |
JP2000148515A (ja) * | 1998-11-06 | 2000-05-30 | Nec Corp | メモリスケジューリング方法及びメモリスケジューリングプログラムを格納する記憶媒体 |
US6378043B1 (en) * | 1998-12-31 | 2002-04-23 | Oracle Corporation | Reward based cache management |
US20020087797A1 (en) * | 2000-12-29 | 2002-07-04 | Farid Adrangi | System and method for populating cache servers with popular media contents |
US20020087816A1 (en) * | 2000-12-29 | 2002-07-04 | Atkinson Lee W. | Fast suspend to disk |
US6425057B1 (en) * | 1998-08-27 | 2002-07-23 | Hewlett-Packard Company | Caching protocol method and system based on request frequency and relative storage duration |
JP2002342037A (ja) * | 2001-05-22 | 2002-11-29 | Fujitsu Ltd | ディスク装置 |
JP2003316647A (ja) * | 2002-04-23 | 2003-11-07 | Nec Corp | ページングシステム、ページング方法、および、ページングプログラム |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US687266A (en) * | 1899-10-09 | 1901-11-26 | Albert Raymond | Pneumatic separator. |
SU737952A1 (ru) * | 1978-01-20 | 1980-05-30 | Предприятие П/Я А-3162 | Устройство управлени буферной пам тью |
JPH02273843A (ja) * | 1989-04-14 | 1990-11-08 | Nec Corp | スワッピング装置 |
RU2010317C1 (ru) * | 1990-07-20 | 1994-03-30 | Институт точной механики и вычислительной техники им.С.А.Лебедева РАН | Устройство управления буферной памятью |
US5263136A (en) * | 1991-04-30 | 1993-11-16 | Optigraphics Corporation | System for managing tiled images using multiple resolutions |
JPH0559537U (ja) * | 1992-01-10 | 1993-08-06 | 三菱電機株式会社 | 計算機 |
US6185629B1 (en) * | 1994-03-08 | 2001-02-06 | Texas Instruments Incorporated | Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time |
US5897660A (en) | 1995-04-07 | 1999-04-27 | Intel Corporation | Method for managing free physical pages that reduces trashing to improve system performance |
US5809280A (en) * | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | Adaptive ahead FIFO with LRU replacement |
US5717954A (en) * | 1995-10-13 | 1998-02-10 | Compaq Computer Corporation | Locked exchange FIFO |
US5758056A (en) * | 1996-02-08 | 1998-05-26 | Barr; Robert C. | Memory system having defective address identification and replacement |
US6879266B1 (en) * | 1997-08-08 | 2005-04-12 | Quickshift, Inc. | Memory module including scalable embedded parallel data compression and decompression engines |
FR2770952B1 (fr) * | 1997-11-12 | 2000-01-21 | Adl Systeme Sa | Dispositif de tele-ecriture |
US6272534B1 (en) * | 1998-03-04 | 2001-08-07 | Storage Technology Corporation | Method and system for efficiently storing web pages for quick downloading at a remote device |
US7007072B1 (en) * | 1999-07-27 | 2006-02-28 | Storage Technology Corporation | Method and system for efficiently storing web pages for quick downloading at a remote device |
US6959318B1 (en) * | 1998-03-06 | 2005-10-25 | Intel Corporation | Method of proxy-assisted predictive pre-fetching with transcoding |
US6237065B1 (en) * | 1999-05-14 | 2001-05-22 | Hewlett-Packard Company | Preemptive replacement strategy for a caching dynamic translator |
US6317806B1 (en) * | 1999-05-20 | 2001-11-13 | International Business Machines Corporation | Static queue and index queue for storing values identifying static queue locations |
US6425097B1 (en) * | 1999-05-27 | 2002-07-23 | Sun Microsystems, Inc. | Method and apparatus for testing an impedance-controlled input/output (I/O) buffer in a highly efficient manner |
US6366996B1 (en) * | 2000-01-24 | 2002-04-02 | Pmc-Sierra, Inc. | Page memory management in non time critical data buffering applications |
US6418510B1 (en) * | 2000-09-14 | 2002-07-09 | International Business Machines Corporation | Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD) |
RU2189073C2 (ru) * | 2000-10-13 | 2002-09-10 | Курский государственный технический университет | Система распределения ресурсов |
US7043524B2 (en) * | 2000-11-06 | 2006-05-09 | Omnishift Technologies, Inc. | Network caching system for streamed applications |
US6877081B2 (en) * | 2001-02-13 | 2005-04-05 | International Business Machines Corporation | System and method for managing memory compression transparent to an operating system |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6922765B2 (en) * | 2001-06-21 | 2005-07-26 | International Business Machines Corporation | Method of allocating physical memory space having pinned and non-pinned regions |
US6742097B2 (en) * | 2001-07-30 | 2004-05-25 | Rambus Inc. | Consolidation of allocated memory to reduce power consumption |
US20030110357A1 (en) * | 2001-11-14 | 2003-06-12 | Nguyen Phillip V. | Weight based disk cache replacement method |
US6782453B2 (en) * | 2002-02-12 | 2004-08-24 | Hewlett-Packard Development Company, L.P. | Storing data in memory |
US6910106B2 (en) | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
-
2002
- 2002-12-20 US US10/325,591 patent/US6910106B2/en not_active Expired - Lifetime
-
2003
- 2003-09-16 AU AU2003246330A patent/AU2003246330A1/en not_active Abandoned
- 2003-09-22 CA CA2442188A patent/CA2442188C/en not_active Expired - Fee Related
- 2003-09-22 CA CA2723077A patent/CA2723077C/en not_active Expired - Fee Related
- 2003-09-26 MX MXPA03008766A patent/MXPA03008766A/es active IP Right Grant
- 2003-09-29 CN CNB031434061A patent/CN1327369C/zh not_active Expired - Fee Related
- 2003-09-30 BR BRPI0304297A patent/BRPI0304297B1/pt not_active IP Right Cessation
- 2003-10-02 ES ES03022573T patent/ES2371454T3/es not_active Expired - Lifetime
- 2003-10-02 EP EP03022573A patent/EP1406174B8/en not_active Expired - Lifetime
- 2003-10-02 AT AT03022573T patent/ATE526631T1/de not_active IP Right Cessation
- 2003-10-04 KR KR1020030069015A patent/KR100972723B1/ko active IP Right Grant
- 2003-10-06 RU RU2008140263/08A patent/RU2482535C2/ru not_active IP Right Cessation
- 2003-10-06 JP JP2003347507A patent/JP4724362B2/ja not_active Expired - Lifetime
- 2003-10-06 RU RU2003129662/09A patent/RU2348067C2/ru not_active IP Right Cessation
-
2005
- 2005-06-09 US US11/150,728 patent/US7185155B2/en not_active Expired - Lifetime
- 2005-06-09 US US11/150,686 patent/US7698513B2/en not_active Expired - Fee Related
-
2010
- 2010-04-13 US US12/759,536 patent/US8539186B2/en not_active Expired - Fee Related
- 2010-04-13 US US12/759,526 patent/US8032723B2/en not_active Expired - Fee Related
- 2010-04-29 AU AU2010201717A patent/AU2010201717B2/en not_active Ceased
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57161933A (en) * | 1981-03-31 | 1982-10-05 | Fujitsu Ltd | Automatic program editing system |
JPS60140446A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 記憶階層制御方式 |
JPH03147157A (ja) * | 1989-11-02 | 1991-06-24 | Nec Eng Ltd | 情報処理装置 |
JPH04205634A (ja) * | 1990-11-30 | 1992-07-27 | Matsushita Electric Ind Co Ltd | 記憶装置制御方法 |
US6425057B1 (en) * | 1998-08-27 | 2002-07-23 | Hewlett-Packard Company | Caching protocol method and system based on request frequency and relative storage duration |
JP2000148515A (ja) * | 1998-11-06 | 2000-05-30 | Nec Corp | メモリスケジューリング方法及びメモリスケジューリングプログラムを格納する記憶媒体 |
US6378043B1 (en) * | 1998-12-31 | 2002-04-23 | Oracle Corporation | Reward based cache management |
US20020087797A1 (en) * | 2000-12-29 | 2002-07-04 | Farid Adrangi | System and method for populating cache servers with popular media contents |
US20020087816A1 (en) * | 2000-12-29 | 2002-07-04 | Atkinson Lee W. | Fast suspend to disk |
JP2002342037A (ja) * | 2001-05-22 | 2002-11-29 | Fujitsu Ltd | ディスク装置 |
JP2003316647A (ja) * | 2002-04-23 | 2003-11-07 | Nec Corp | ページングシステム、ページング方法、および、ページングプログラム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008547106A (ja) * | 2005-06-27 | 2008-12-25 | マイクロソフト コーポレーション | 検索用バックオフメカニズム |
JP2008065638A (ja) * | 2006-09-07 | 2008-03-21 | Nec Corp | メモリ管理方法、メモリ管理装置およびプログラム |
US8732413B2 (en) | 2007-01-29 | 2014-05-20 | Samsung Electronics Co., Ltd. | Method and system for preloading page using control flow |
JP2011530133A (ja) * | 2008-08-04 | 2011-12-15 | サンディスク アイエル リミテッド | キャッシュコンテンツの記憶管理 |
US9009401B2 (en) | 2012-07-27 | 2015-04-14 | International Business Machines Corporation | Multi-updatable least recently used mechanism |
US9009403B2 (en) | 2012-07-27 | 2015-04-14 | International Business Machines Corporation | Multi-updatable least recently used mechanism |
JP2017512340A (ja) * | 2014-02-21 | 2017-05-18 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 修正されたメモリー圧縮 |
US10649814B2 (en) | 2017-07-18 | 2020-05-12 | Fujitsu Limited | Device, method, and medium for executing a computing process within an accessed monitoring region |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4724362B2 (ja) | プロアクティブなメモリ管理の方法および機構 | |
US9690496B2 (en) | Using external memory devices to improve system performance | |
EP2542989B1 (en) | Buffer pool extension for database server | |
RU2671049C2 (ru) | Выгрузка в файловой системе | |
WO2014138411A1 (en) | System and method for tiered caching and storage allocation | |
US10223270B1 (en) | Predicting future access requests by inverting historic access requests in an object storage system | |
BR122016001493B1 (pt) | Métodos e mecanismos para gerenciamento proativo de memória |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110225 |
|
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: 20110401 |
|
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: 20110411 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4724362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
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 |
|
EXPY | Cancellation because of completion of term |