JP3864256B2 - 仮想メモリを管理するための方法およびプロファイリング・キャッシュ - Google Patents

仮想メモリを管理するための方法およびプロファイリング・キャッシュ Download PDF

Info

Publication number
JP3864256B2
JP3864256B2 JP2003345159A JP2003345159A JP3864256B2 JP 3864256 B2 JP3864256 B2 JP 3864256B2 JP 2003345159 A JP2003345159 A JP 2003345159A JP 2003345159 A JP2003345159 A JP 2003345159A JP 3864256 B2 JP3864256 B2 JP 3864256B2
Authority
JP
Japan
Prior art keywords
tlb
entries
entry
section
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003345159A
Other languages
English (en)
Other versions
JP2004133933A (ja
Inventor
クライグ・アラン・ボッテミラー
ブレント・ウイリアム・ヤコブス
ジェームス・エイ・ピートリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004133933A publication Critical patent/JP2004133933A/ja
Application granted granted Critical
Publication of JP3864256B2 publication Critical patent/JP3864256B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

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)

Description

本発明は、一般にデータ処理分野に関し、より詳細には、仮想メモリを管理するための方法およびプロファイリング・キャッシュに関する。
データ・アクセス時間を低減するために、キャッシュと呼ばれる静的ランダム・アクセス・メモリ(RAM)の専用高速メモリ・スペースを使用して現在使用中のデータを一時的に格納する。例えば、キャッシュされたデータには、プロセッサから迅速にアクセスできるようにするために主記憶装置から取得された命令またはデータあるいはその両方のコピーなどがある。プロセッサ・キャッシュは、一般にプロセッサの近くに配置されているか、プロセッサに一体化されている。プロセッサは、停止してより高レベルのキャッシュ・メモリなどの補助メモリまたはメイン・メモリからデータの取出しを待つ必要なく、処理の続行に必要なデータを取り出す1回のプロセッサ・サイクルのみでキャッシュに格納されているデータにアクセスすることができるので有利である。
プログラムは、ロード命令、ストア命令、ブランチ命令、またはキャッシュ命令を実行するとき、および次の順次命令を取り出すときに、プロセッサによって算出された有効アドレスを使用して記憶装置を参照する。有効アドレスは、あらかじめ定義されている変換手順に従って実アドレスに変換される。アドレス変換時間を最小限に抑えるために、一般に変換索引バッファ(TLB)と呼ばれるアドレス変換専用の特殊キャッシュがアドレス変換に使用される。
一部の既知のプロセッサ設計では、ページ記述またはページ・テーブル・エントリ(PTE)が変換索引バッファ(TLB)に格納される。TLB内にないページにアクセスすると、割込みが起こり、ファームウェアがページ・テーブル・エントリをTLBにロードしなければならない。
一部の既知のハードウェアでは、ファームウェアにはどのページが頻繁に使用されているかを知らせる方法がない。ページ記述は一般に、先入れ先出しアルゴリズムを使用してロードされ、置き換えられる。
仮想メモリを管理するための改良された機構が必要である。
本発明の主な目的は、仮想メモリを管理するための方法およびプロファイリング・キャッシュを提供することである。本発明の他の重要な目的は、実質的に悪影響がなく、従来技術の構成の多くの欠点を克服するこうした仮想メモリを管理するための方法およびプロファイリング・キャッシュを提供することである。
簡単に言えば、仮想メモリを管理するための方法およびプロファイリング・キャッシュが提供される。1組のエントリがプロファイリング・キャッシュに格納される。1組のエントリの各エントリは、ページ・アドレス、ページ・アドレスのタイム・スタンプ、および最長時間未使用(LRU)カウントを含む。LRUカウントは、ページ・アドレスのアクセスごとに更新される。プロファイリング・キャッシュ内のエントリは、格納されたLRUカウントを使用して放出される。変換索引バッファ(TLB)は、一時的にピン固定される複数のエントリを格納する第1のTLBセクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含む。TLBの割込みに応答して、先入れ先出しアルゴリズムを使用してピン固定されないエントリの1つを置き換えて、1つのエントリが第2のTLBセクションにロードされる。第1のTLB部分は、最も古いタイム・スタンプを有するプロファイリング・キャッシュ内の1組のエントリのうちの識別されたエントリを使用して定期的に更新される。
本発明の特徴によれば、プロファイリング・キャッシュ・ハードウェアはメモリ・プロファイリング情報を提供して、効率的なメモリ管理を行えるようにする。最も古いタイム・スタンプを有するプロファイリング・キャッシュ・エントリは、最も頻繁に使用されたページを表す。カウントダウン式の下方カウンタ(downward counter)が満了すると、第1のTLB部分が更新され、次いでプロファイリング・キャッシュがクリアされ、下方カウンタが再開される。
本発明は、上記および他の目的および利点とともに、図面に示した本発明の好ましい実施形態の以下の詳細な説明から最もよく理解することができる。
ここで図1の図面を参照すると、参照記号100でおおまかに示した好ましい実施形態の仮想メモリ管理を実装するコンピュータ・システムを示している。コンピュータ・システム100は、プロセッサ102および変換索引バッファ(TLB)104を含む。コンピュータ・システム100は、プロセッサL1キャッシュ106と、最長時間未使用(LRU)テーブル110およびタイム・スタンプ・テーブル112とを含むプロファイリング・ページ・アドレス・キャッシュ108を含む。コンピュータ・システム100は、下方カウンタ114を含む。下方カウンタ114は、0に達すると、プロセッサ102に対して割込みを引き起こし、プロファイリング・ページ・アドレス・キャッシュ108にフリーズするように合図する。コンピュータ・システム100は、好ましい実施形態のオペレーティング・システム120および仮想メモリ管理プログラム122を含む。コンピュータ・システム100は簡略化して示されているが、本発明を理解するには十分である。本発明は、例えば図1で示したような単一のCPUなど、図示したコンピュータ・モデルとの併用に限定されるものではないことを理解されたい。
本発明の特徴によれば、オペレーティング・システム120は、ファームウェアの過度のオーバーヘッドを要することなくどのページをTLB104内で一時的にピン固定するかを決定することができる。本発明のハードウェア部分すなわちプロファイリング・キャッシュ108は、L1キャッシュ・インターフェース106にあるプロセッサ・バスを監視し、最もアクセスされたページを追跡して効率的なメモリ管理を行う。TLB104内で一時的にピン固定されるべきページ・テーブル・エントリ(PTE)は、プロファイリング・キャッシュ108に格納されている最も頻繁に使用されるページに基づいて識別される。
本発明の特徴によれば、TLB104は、2つの部分、つまりセクション130および132に分割される。TLB104の第1のTLBセクション130内にあるエントリは、アクセス度の高いページ用に使用され、定期的に評価される。PTEは、第1のTLBセクション130内で一時的にピン固定される。残りのエントリを含むTLB104の第2のTLBセクション132は、ファームウェアのオーバーヘッドの低減のためにFIFOとして管理され、これらのページはピン固定されないものとみなされる。TLBの割込みが受信されると、非ピン固定部分132内のエントリのみが置き換えられる。図2および図3に関連して示し説明するように、好ましい実施形態によれば、一時ピン固定エリア内のPTEは定期的に置き換えられる。
本発明の特徴によれば、各ページへのアクセスをカウントすることは現実的ではないため、最長時間未使用(LRU)アルゴリズムを使用してエントリを放出するページ・アドレス・キャッシュ108に事前に設定されている数のアドレスが格納される。例えば32個のアドレスなど、プロファイリング・ページ・アドレス・キャッシュ108のキャッシュ・サイズは、ASICハードウェア・セル・カウントおよび性能の実用上の限界に基づいている。プロファイリングは、最も頻繁にアクセスされるページはキャッシュ108から放出されないという仮定に基づいている。図1に示すように、ページ・アドレス・キャッシュ108のキャッシュ・サイズは32であり、16ページのみがTLB104のピン固定部分130に使用されているので、キャッシュ108のLRU挙動によってノイズを取り除くことができる。
エントリが初めてページ・アドレス・キャッシュ108に入れられると、時間値がタイム・スタンプ・テーブル112に保存され、LRUテーブル110のLRUカウントがアクセスごとに更新される。LRUによってキャッシュ108内で最も長く続く(最も古いタイム・スタンプの)エントリ0〜31が最も頻繁にアクセスされたページである。あるページが強制的に放出されてキャッシュ108に戻ってきた場合、そのページには新しいタイム・スタンプ112が割り当てられる。カウントダウン・タイマとして働く下方カウンタ114が満了すると、ファームウェアは、TLB104内のすべてのエントリを無効にし、あるいは第2のTLBセクション132内のエントリが第1のTLBセクション130に移動されるときにそれらを無効にする。次いで、最も古いタイム・スタンプの付いた16のページをマップするPTEが、一時的にピン固定されるページのために確保されているTLBの第1のセクション130にロードされる。現時点でページがキャッシュ108内で費やした時間は、使用頻度、およびTLB104のピン固定セクション130でのこのページのピン固定の重要度を示す。新しいエントリがピン固定されると、キャッシュ108はクリアされ、下方カウンタ114が再開する。
図2を参照すると、ブロック200で開始する好ましい実施形態による変換索引バッファ(TLB)104の一時ピン固定セクション130を定期的に更新するための順次ステップの例を示している。まず、ブロック202で示すように、下方カウンタ114の満了を待つ。
また図3を参照すると、TLB104内にないページにアクセスしたとき、適切なページ・テーブル・エントリを見つけるオペレーティング・システム120に対して割込みが起こる。ページ・テーブル・エントリは、先入れ先出し(FIFO)アルゴリズムに基づいてTLBの非ピン固定セクション132にロードされる。プロファイリング・ページ・アドレス・キャッシュ108は、ページのアドレスを格納する。アドレスが初めてページ・アドレス・キャッシュ108に格納されると、カウンタ値がタイム・スタンプ・テーブル112に格納される。プロファイリング・キャッシュ108は、特定のページ・アドレスにアクセスするたびに更新されるLRUフィールド110を含む。LRUアルゴリズムを使用して、プロファイリング・ページ・アドレス・キャッシュ108からエントリを放出する。下方カウンタ114が満了すると、キャッシュ・ソート機能300が3つのフィールド、アドレス108、LRU110、およびタイム・スタンプ112のすべてに対して実行される。キャッシュ・ソート機能300は、格納されている各ページ・アドレスのタイム・スタンプ112に基づいている。図3で、プロファイリング・キャッシュ108は、格納されているアドレスを示す。
下方カウンタ114が満了すると、図2のブロック204で示すように、タイム・スタンプ・テーブル112に格納されている最も古いタイム・スタンプの付いた事前に設定されている数のページが識別される。
決定ブロック206に示すように、ブロック204で識別されたページごとに、ページをマップするPTEがTLB104の非ピン固定部分132にすでにあるかどうかをチェックする。PTEがTLB104の非ピン固定部分132にすでにある場合、決定ブロック208に示すように、PTEは、TLB104の非ピン固定部分132から取り除かれる。次いでPTEは、ブロック210に示すように、TLB104のピン固定部分130に入れられる。決定ブロック212に示すように、TLB104のピン固定エリア130に追加するPTEがさらにあるかどうかのチェックが行われる。さらにPTEをTLB104のピン固定エリア130に追加する場合は、順次ステップがブロック206に戻って、TLB104の非ピン固定部分132内にすでにPTEがあるかどうかをチェックする。TLB104のピン固定エリア130に追加するPTEがこれ以上ないときは、ブロック214に示すように、プロファイリング・キャッシュ108がクリアされる。次いでブロック216に示すように、下方カウンタ114が再開される。非ピン固定セクション132のTLBエントリは、TLB104のピン固定セクション130に移動するまで、あるいは通常のFIFOまたはラウンド・ロビン置換アルゴリズムによって放出されるまでそのままである。次いで、順次動作がブロック202に戻って下方カウンタ114が満了するのを待つ。
本発明に従って代替のステップを実行することができることを理解されたい。例えば、代替の置換ステップ206、208、210、212では、TLB104のピン固定セクション130および残りのエリア132内のすべてのページ・エントリをクリアすることができ、プロファイリング・キャッシュ108内の最も古いタイム・スタンプの付いたページを表すPTEがTLB104のピン固定セクション130内に入れられ、TLB104の非ピン固定セクション132は、ミスが起こったときに再度埋められるまでクリアされたままである。
従来技術のミスをカウントする解決法では、一括してアクセスされるページおよび常にアクセスされるページの優先度は等しい。ミスのカウントは、TLB内であるページが何回ミスしたかを知らせるだけであって、ファームウェアが何回特定のページにアクセスしているかを知らせるのではない。TLBミスは、あるページへの単一のアクセスについて生じる場合もあるが、この単一のアクセスがそのページを重要にすることはない。好ましい実施形態のプロファイリング・キャッシュ方法によって、TLB104の第1のセクション130内で一時的にピン固定されるアクセス度の高いページのPTEで有効なメモリ管理を行うことができる。
次に図4を参照すると、本発明のコンピュータ・プログラム製品400を示している。コンピュータ・プログラム製品400は、フロッピー(R)・ディスク、光学読取りコンパクト・ディスクまたはCD−ROMの形の大容量読取専用メモリ、テープ、デジタルまたはアナログ式の通信リンクなど伝送タイプの媒体などの記録媒体402を含む。記録媒体402は、プログラム手段404、406、408、410を媒体402に格納して、図1のシステム100の好ましい実施形態の仮想メモリ管理を実装する方法を実行する。
一続きのプログラム命令または記録されているプログラム手段404、406、408、410によって定義された1つまたは複数の相互関係のあるモジュールの論理アセンブリは、好ましい実施形態の仮想メモリ管理を実施するようコンピュータ・システム100に命令する。
本発明は、図面に示した本発明の実施形態の詳細に関連して説明してきたが、これらの詳細は、添付の特許請求の範囲で請求した本発明の範囲を限定するものではない。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)各エントリがページ・アドレス、前記ページ・アドレスのタイム・スタンプ、および前記ページ・アドレスのアクセスごとに更新される最長時間未使用(LRU)カウントを含む1組のエントリをプロファイリング・キャッシュ内に格納するステップと、
前記LRUカウントを使用して前記プロファイリング・キャッシュ内のエントリを放出するステップと、
一時的にピン固定される複数のエントリを格納する第1の変換索引バッファ(TLB)セクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBを提供するステップと、
TLBの割込みに応答して、先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリのうちの1つを置き換えて前記第2のTLBセクション内にエントリをロードするステップと、
最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新するステップと
を備える仮想メモリを管理するためのプロファイリング・キャッシュを使用する方法。
(2)最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリが最も頻繁に使用されるページ・テーブル・エントリを表す上記(1)に記載の方法。
(3)前記第1のTLBセクションを定期的に更新するステップが、満了した下方カウンタを識別するステップと、前記第1のTLBセクションを更新するステップと、前記プロファイリング・キャッシュをクリアするステップと、下方カウンタを再開するステップとを含む上記(1)に記載の方法。
(4)前記第1のTLBセクションの更新に応答して、前記第2のTLBセクション内の前記ピン固定されない複数のエントリをクリアするステップを含む上記(1)に記載の方法。
(5)前記第1のTLBセクションを定期的に更新するステップが、最も古いタイム・スタンプを有する前記識別されたプロファイリング・キャッシュ・エントリ内に含まれる前記第2のTLBセクション内のエントリを識別し、前記第2のTLBセクションから前記エントリを取り除き、前記第1のTLBセクション内に前記エントリを入れるステップを含む上記(1)に記載の方法。
(6)一時的にピン固定される複数のエントリを格納する第1のTLBセクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBと、
各エントリがページ・アドレス、前記ページ・アドレスのタイム・スタンプ、および前記ページ・アドレスのアクセスごとに更新される最長時間未使用(LRU)カウントを含む1組のエントリを格納するプロファイリング・キャッシュと、
最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新する仮想メモリ管理手段
を備える仮想メモリを管理するための装置。
(7)前記ピン固定されない複数のエントリを格納する前記第2のTLBセクションが先入れ先出し(FIFO)アルゴリズムを使用して更新される上記(6)に記載の仮想メモリを管理するための装置。
(8)前記プロファイリング・キャッシュが前記最長時間未使用(LRU)カウントを使用して更新される上記(6)に記載の仮想メモリを管理するための装置。
(9)TLBの割込みに応答してエントリが前記第2のTLBセクションにロードされる上記(6)に記載の仮想メモリを管理するための装置。
(10)先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリの1つを置き換えて前記エントリをロードする上記(9)に記載の仮想メモリを管理するための装置。
好ましい実施形態によるコンピュータ・システムを示すブロック図である。 好ましい実施形態による図1の変換索引バッファの一時ピン固定部分を更新する順次ステップの例を示すフロー図である。 好ましい実施形態による変換索引バッファの一時ピン固定部分を実装するハードウェアの更新を示す論理フロー略図である。 好ましい実施形態によるコンピュータ・プログラム製品を示すブロック図である。
符号の説明
100 コンピュータ・システム
102 プロセッサ
104 変換索引バッファ(TLB)
106 プロセッサL1キャッシュ
108 プロファイリング・ページ・アドレス・キャッシュ
110 最長時間未使用(LRU)テーブル
112 タイム・スタンプ・テーブル
114 下方カウンタ
120 オペレーティング・システム
122 仮想メモリ管理プログラム
130 第1のTLBセクション
132 第2のTLBセクション
300 キャッシュ・ソート機能
400 コンピュータ・プログラム製品
402 記録媒体
404 プログラム手段
406 プログラム手段
408 プログラム手段
410 プログラム手段

Claims (10)

  1. 各エントリがページ・アドレス、前記ページ・アドレスのタイム・スタンプ、および前記ページ・アドレスのアクセスごとに更新される最長時間未使用(LRU)カウントを含む1組のエントリをプロファイリング・キャッシュ内に格納するステップと、
    前記LRUカウントを使用して前記プロファイリング・キャッシュ内のエントリを放出するステップと、
    一時的にピン固定される複数のエントリを格納する第1の変換索引バッファ(TLB)セクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBを提供するステップと、
    TLBの割込みに応答して、先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリのうちの1つを置き換えて前記第2のTLBセクション内にエントリをロードするステップと、
    最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新するステップと
    を備える仮想メモリを管理するためのプロファイリング・キャッシュを使用する方法。
  2. 最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリが最も頻繁に使用されるページ・テーブル・エントリを表す請求項1に記載の方法。
  3. 前記第1のTLBセクションを定期的に更新するステップが、満了した下方カウンタを識別するステップと、前記第1のTLBセクションを更新するステップと、前記プロファイリング・キャッシュをクリアするステップと、下方カウンタを再開するステップとを含む請求項1に記載の方法。
  4. 前記第1のTLBセクションの更新に応答して、前記第2のTLBセクション内の前記ピン固定されない複数のエントリをクリアするステップを含む請求項1に記載の方法。
  5. 前記第1のTLBセクションを定期的に更新するステップが、最も古いタイム・スタンプを有する前記識別されたプロファイリング・キャッシュ・エントリ内に含まれる前記第2のTLBセクション内のエントリを識別し、前記第2のTLBセクションから前記エントリを取り除き、前記第1のTLBセクション内に前記エントリを入れるステップを含む請求項1に記載の方法。
  6. 一時的にピン固定される複数のエントリを格納する第1のTLBセクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBと、
    各エントリがページ・アドレス、前記ページ・アドレスのタイム・スタンプ、および前記ページ・アドレスのアクセスごとに更新される最長時間未使用(LRU)カウントを含む1組のエントリを格納するプロファイリング・キャッシュと、
    最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新する仮想メモリ管理手段
    を備える仮想メモリを管理するための装置。
  7. 前記ピン固定されない複数のエントリを格納する前記第2のTLBセクションが先入れ先出し(FIFO)アルゴリズムを使用して更新される請求項6に記載の仮想メモリを管理するための装置。
  8. 前記プロファイリング・キャッシュが前記最長時間未使用(LRU)カウントを使用して更新される請求項6に記載の仮想メモリを管理するための装置。
  9. TLBの割込みに応答してエントリが前記第2のTLBセクションにロードされる請求項6に記載の仮想メモリを管理するための装置。
  10. 先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリの1つを置き換えて前記エントリをロードする請求項9に記載の仮想メモリを管理するための装置。
JP2003345159A 2002-10-10 2003-10-03 仮想メモリを管理するための方法およびプロファイリング・キャッシュ Expired - Fee Related JP3864256B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/268,474 US7089396B2 (en) 2002-10-10 2002-10-10 Method and profiling cache for management of virtual memory

Publications (2)

Publication Number Publication Date
JP2004133933A JP2004133933A (ja) 2004-04-30
JP3864256B2 true JP3864256B2 (ja) 2006-12-27

Family

ID=32068572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003345159A Expired - Fee Related JP3864256B2 (ja) 2002-10-10 2003-10-03 仮想メモリを管理するための方法およびプロファイリング・キャッシュ

Country Status (3)

Country Link
US (1) US7089396B2 (ja)
JP (1) JP3864256B2 (ja)
CN (1) CN1303535C (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574451B2 (en) * 2004-11-02 2009-08-11 Microsoft Corporation System and method for speeding up database lookups for multiple synchronized data streams
US7543123B2 (en) * 2005-11-07 2009-06-02 International Business Machines Corporation Multistage virtual memory paging system
JP2007233615A (ja) * 2006-02-28 2007-09-13 Fujitsu Ltd アドレス変換装置
CN100520710C (zh) * 2006-07-27 2009-07-29 中国科学院计算技术研究所 复杂指令系统中tlbr内部例外的处理方法和处理器
GB2445965B (en) * 2007-01-26 2011-05-04 Advanced Risc Mach Ltd Entry replacement within a data store
JP2009043030A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd ストレージシステム
JP5119994B2 (ja) * 2008-03-14 2013-01-16 富士通株式会社 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置
US8464021B2 (en) * 2008-05-28 2013-06-11 Spansion Llc Address caching stored translation
US8244978B2 (en) * 2010-02-17 2012-08-14 Advanced Micro Devices, Inc. IOMMU architected TLB support
US8898378B2 (en) * 2011-02-23 2014-11-25 International Business Machines Co Retention management and reordering the data based on retention times on tape
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
US9230305B2 (en) * 2012-12-31 2016-01-05 Nvidia Corporation Summed area computation using ripmap of partial sums
US9235512B2 (en) * 2013-01-18 2016-01-12 Nvidia Corporation System, method, and computer program product for graphics processing unit (GPU) demand paging
CN104239237B (zh) * 2013-06-20 2017-07-14 华为技术有限公司 一种tlb管理方法及装置
CN105993005B (zh) 2014-07-21 2019-06-04 上海兆芯集成电路有限公司 具有地址转译快取的处理器及其操作方法
CN106326150B (zh) * 2015-06-26 2020-09-15 中兴通讯股份有限公司 内存访问处理方法及装置
CN105183566B (zh) * 2015-10-16 2019-01-29 上海恺英网络科技有限公司 3d游戏渲染引擎的资源管理方法
CN107305532B (zh) * 2016-04-25 2023-04-07 中兴通讯股份有限公司 一种表项替换方法、装置及终端
CN106227679B (zh) * 2016-07-25 2018-12-28 北京邮电大学 一种数据缓存替换方法及装置
US11237758B2 (en) * 2016-08-06 2022-02-01 Wolley Inc. Apparatus and method of wear leveling for storage class memory using address cache
CN107870875A (zh) * 2017-08-09 2018-04-03 成都萌想科技有限责任公司 一种基于分布式内存可定制智能数据缓存方法
US10747679B1 (en) * 2017-12-11 2020-08-18 Amazon Technologies, Inc. Indexing a memory region
US20190188154A1 (en) * 2017-12-15 2019-06-20 Intel Corporation Translation pinning in translation lookaside buffers
KR102355374B1 (ko) * 2019-09-27 2022-01-25 에스케이하이닉스 주식회사 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법
US11403211B2 (en) * 2020-01-31 2022-08-02 Enmotus, Inc. Storage system with file priority mechanism and method of operation thereof
US11599462B1 (en) * 2021-11-03 2023-03-07 Google Llc Memory cache entry management with pinned cache entries

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5491806A (en) * 1990-06-26 1996-02-13 Lsi Logic Corporation Optimized translation lookaside buffer slice having stored mask bits
US5940872A (en) * 1996-11-01 1999-08-17 Intel Corporation Software and hardware-managed translation lookaside buffer
US6205531B1 (en) * 1998-07-02 2001-03-20 Silicon Graphics Incorporated Method and apparatus for virtual address translation
US6418521B1 (en) * 1998-12-23 2002-07-09 Intel Corporation Hierarchical fully-associative-translation lookaside buffer structure
US6442666B1 (en) * 1999-01-28 2002-08-27 Infineon Technologies Ag Techniques for improving memory access in a virtual memory system
US6510508B1 (en) * 2000-06-15 2003-01-21 Advanced Micro Devices, Inc. Translation lookaside buffer flush filter
US6715039B1 (en) * 2001-09-12 2004-03-30 Emc Corporation Cache slot promotion in a replacement queue cache using determinations of probabilities and costs

Also Published As

Publication number Publication date
CN1303535C (zh) 2007-03-07
US7089396B2 (en) 2006-08-08
US20040073768A1 (en) 2004-04-15
JP2004133933A (ja) 2004-04-30
CN1512352A (zh) 2004-07-14

Similar Documents

Publication Publication Date Title
JP3864256B2 (ja) 仮想メモリを管理するための方法およびプロファイリング・キャッシュ
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
US7096321B2 (en) Method and system for a cache replacement technique with adaptive skipping
US8041897B2 (en) Cache management within a data processing apparatus
US6738866B2 (en) Memory management of data buffers incorporating hierarchical victim selection
US7424577B2 (en) Dynamic optimization of cache memory
US6119209A (en) Backup directory for a write cache
US6877065B2 (en) Advanced read cache management
KR101372964B1 (ko) 메모리 페이지 관리
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
US20030135694A1 (en) Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size
US20050268046A1 (en) Compressed cache lines incorporating embedded prefetch history data
US20030196075A1 (en) Memory disambiguation for large instruction windows
EP2541423B1 (en) Replacement policy for resource container
US5802571A (en) Apparatus and method for enforcing data coherency in an information handling system having multiple hierarchical levels of cache memory
US20130191610A1 (en) Data staging area
EP2416251A1 (en) A method of managing computer memory, corresponding computer program product, and data storage device therefor
US8261022B2 (en) Method and apparatus for adaptive cache frame locking and unlocking
US20170262485A1 (en) Non-transitory computer-readable recording medium, data management device, and data management method
US6412050B1 (en) Memory record update filtering
JP4189342B2 (ja) ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
JP4812876B2 (ja) 演算処理装置および演算処理装置の制御方法
US20180181318A1 (en) Storage control device
CN109478163B (zh) 用于在高速缓存条目处标识存储器访问请求的待决的系统和方法
JPS59220853A (ja) デイスクキヤツシユシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060711

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060711

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: 20060905

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060912

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: 20091013

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131013

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees