JP6928123B2 - メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム - Google Patents

メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム Download PDF

Info

Publication number
JP6928123B2
JP6928123B2 JP2019569799A JP2019569799A JP6928123B2 JP 6928123 B2 JP6928123 B2 JP 6928123B2 JP 2019569799 A JP2019569799 A JP 2019569799A JP 2019569799 A JP2019569799 A JP 2019569799A JP 6928123 B2 JP6928123 B2 JP 6928123B2
Authority
JP
Japan
Prior art keywords
memory
pages
page
staging buffer
frequency
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.)
Active
Application number
JP2019569799A
Other languages
English (en)
Other versions
JP2020524339A (ja
JP2020524339A5 (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2020524339A publication Critical patent/JP2020524339A/ja
Publication of JP2020524339A5 publication Critical patent/JP2020524339A5/ja
Application granted granted Critical
Publication of JP6928123B2 publication Critical patent/JP6928123B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/682Multiprocessor TLB consistency

Description

典型的なコンピューティングシステムでは、メモリシステムは、任意のデータ単位にアクセスする場合にプロセッサが経験する低レイテンシを目標として設計される。概して、レイテンシが異なるメモリ部分を有するメモリシステム(例えば、ノンユニフォームメモリアクセス(NUMA)メモリシステム又はマルチレベルメモリシステム)は、ページマイグレーション技術を用いて、個々のメモリアクセスに応じてメインメモリの一部の内容を、メインメモリのより低いレイテンシ部分に移動させることによって、メモリアクセスのレイテンシを低減する。概して、これらの技術は、ソフトウェアに依存しており、オペレーティングシステムのインターセプトを必要とするか、マイグレーション中にかなりのオーバヘッドを生じさせる。
例示的なノンユニフォームメモリアクセス(NUMA)メモリシステムは、プロセッサと、少なくとも2つのレベルのダイナミックランダムアクセスメモリ(DRAM)又は他のメモリと、を含み、第2レベルのメモリの帯域幅は、第1レベルのメモリの帯域幅よりも低く、第2レベルのメモリのレイテンシは、第1レベルのメモリのレイテンシよりも高い。例示的なNUMAメモリシステムでは、第1レベルのメモリは、インパッケージメモリであり、第2レベルのメモリは、オフパッケージメモリである。従来のページマイグレーション技術は、より頻繁にアクセスされるデータを、プロセッサに最も近い第1レベルのメモリに記憶し、メモリレイテンシを低減し、最も頻繁にアクセスされるデータに利用可能な帯域幅を増加させることによって、性能を向上させる。しかしながら、従来のページマイグレーション技術は、かなりのオーバヘッド(例えば、ページコピー、キャッシュ無効化、トランスレーションルックアサイドバッファ(TLB)シュートダウン、及び、ページテーブル更新)を必要とする。本明細書で言及するように、TLBシュートダウンは、プロセッサの動作を中断してTLB一貫性動作(TLB consistency operations)を実行するコヒーレンシトランザクションである。複数のプロセッサを含むシステムでは、各プロセッサは、共有メモリに対するTLBを含み、一貫したTLBエントリを維持するために対応するTLBシュートダウンを実行する。TLBシュートダウンを必要とする動作を実行するプロセッサは、一貫性のためにTLBシュートダウンを実行する必要がある他のプロセッサの各々に割り込みを送信する。ハードウェア又はソフトウェアに実装される場合があるこのオーバヘッドは、大きい場合があり、メモリを頻繁に移行するワークロードの性能にかなりの影響を及ぼす可能性がある。したがって、改善されたページマイグレーション技術が望まれている。
少なくとも1つの実施形態では、メモリシステムにおいて使用される方法は、メモリシステムの第1メモリの第1の複数のページを、メモリシステムの第2メモリの第2の複数のページとスワップすることを含む。第1メモリは、第1レイテンシを有しており、第2メモリは、第2レイテンシを有している。第1レイテンシは、第2レイテンシよりも短い。方法は、ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、第1の複数のページの各々の仮想アドレスを、第2メモリ内の対応する物理アドレスに関連付け、第2の複数のページの各々の仮想アドレスを、第1メモリ内の対応する物理アドレスに関連付けることを含む。スワップすることは、第1の複数のページを、第1メモリからステージングバッファにコピーすることを含んでもよい。方法は、第2の複数のページを、メモリシステムの第2メモリからステージングバッファにコピーすることを含んでもよい。方法は、第1の複数のページのステージングバッファへのコピーの間に、ステージングバッファ内の複数のページのうち第1ページへの書き込み命令に応じて、第1ページのコピーにデータを書き込み、第1メモリ内の第1ページにデータを書き込むことを含んでもよい。スワップすることは、第1の複数のページを、ステージングバッファから第2メモリにコピーすることを含んでもよい。スワップすることは、第2の複数のページを、ステージングバッファから第1メモリにコピーすることを含んでもよい。スワップすることは、第1の複数のページの各々の第1リダイレクション状態及び第2の複数のページの各々の第2リダイレクション状態を更新して、第1の複数のページ及び第2の複数のページの各々がステージングバッファからコピーされていることを示すことを含んでもよい。方法は、第3の複数のページを、メモリシステムの第2メモリからメモリシステムの第1メモリ内の第1の複数の未使用ページに移行することを含んでもよい。方法は、ページテーブルを更新し、第2トランスレーションルックアサイドバッファシュートダウンをトリガして、第3の複数のページの各々の仮想アドレスを、第1メモリ内の対応する物理アドレスに関連付けることを含んでもよい。
少なくとも1つの実施形態では、装置は、メモリシステムの第1メモリのN個の第1ページを、メモリシステムの第2メモリのN個の第2ページとスワップするように構成されたマイグレーション制御ロジックを含む。第1メモリは、第1レイテンシを有しており、第2メモリは、第2レイテンシを有している。第1レイテンシは、第2レイテンシよりも短い。装置は、メモリシステムの全てのページについての仮想‐物理アドレス変換を記憶するように構成されたページテーブルを含む。装置は、メモリシステムのページについて最近使用された仮想‐物理アドレス変換を記憶するように構成されたトランスレーションルックアサイドバッファを含む。また、マイグレーション制御ロジックは、ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、N個の第1ページの各々の仮想アドレスを、第2メモリ内の対応する物理アドレスに関連付け、N個の第2ページの各々の仮想アドレスを、第1メモリ内の対応する物理アドレスに関連付けるように構成されている。ここで、Nは、1よりも大きい整数である。装置は、少なくとも2×N個のページのサイズを有するステージングバッファを含んでもよい。マイグレーション制御ロジックは、メモリシステムの第1メモリのN個の第1ページをステージングバッファにコピーするように構成されてもよい。マイグレーション制御ロジックは、メモリシステムの第2メモリのN個の第2ページをステージングバッファにコピーするように構成されてもよい。装置は、N個の第1ページのステージングバッファへのコピーの間に、第1ページへの書き込み命令に応じて、ステージングバッファ内のN個の第1ページのうち第1ページのコピーにデータを書き込み、第1メモリ内の第1ページにデータを書き込むように構成されたメモリコントローラを含んでもよい。
少なくとも1つの実施形態では、メモリシステム内のページマイグレーションの方法は、第1の複数のページを、メモリシステムの第2メモリからメモリシステムの第1メモリ内の第1の複数の未使用ページに移行することを含む。第1メモリは、第1レイテンシを有しており、第2メモリは、第2レイテンシを有している。第1レイテンシは、第2レイテンシよりも短い。方法は、ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、第1の複数のページの各々の仮想アドレスを、第1メモリ内の対応する物理アドレスに関連付けることを含んでもよい。方法は、第1メモリの第2の複数のページを、メモリシステムの第2メモリの第3の複数のページとスワップすることを含んでもよい。方法は、ページテーブルを更新し、別のトランスレーションルックアサイドバッファシュートダウンをトリガして、第2の複数のページの各々の仮想アドレスを、第2メモリ内の対応する物理アドレスに関連付け、第3の複数のページの各々の仮想アドレスを、第1メモリ内の対応する物理アドレスに関連付けることを含んでもよい。
本発明は、添付の図面を参照することによってより良く理解され、その多数の目的、特徴及び利点が当業者に明らかになる。
ノンユニフォームメモリアクセス処理システムの機能ブロック図である。 メモリシステムの一部の機能ブロック図である。 本発明の少なくとも1つの実施形態と一致する、オーバヘッドが低減したページマイグレーションシステムを含む処理システムの機能ブロック図である。 例示的なメモリ部分の機能ブロック図である。 本発明の少なくとも1つの実施形態と一致する、ステージングバッファを用いる、オーバヘッドが低減したページマイグレーションシステムの例示的な情報及び制御フロー示す図である。 本発明の少なくとも1つの実施形態と一致する、オーバヘッドが低減したページマイグレーションシステムの例示的な情報及び制御フローを示す図である。
異なる図面で同じ符号を使用している場合、類似又は同一のアイテムを示している。
低減したオーバヘッドでページマイグレーションを実行するメモリシステムは、実際のページマイグレーションが開始される前に、高レイテンシメモリからの複数のページ及び低レイテンシメモリからの複数のページを、ステージングバッファにコピーする。ステージングバッファは、複数のページの同時マイグレーションを可能にする(例えば、高レイテンシメモリと低レイテンシメモリとの間でスワップされる最大N個のページであり、Nは1よりも大きい整数)のに十分な大きさ(例えば、ステージングバッファは、2×N個のページのサイズを有しており、Nは1よりも大きい整数である)であり、そうでなければ複数の異なるTLBシュートダウン又は他のコヒーレンシトランザクションを1つのイベントに統合することによってマイグレーションオーバヘッドを低減し、これにより、ページマイグレーションの性能への影響を軽減する。本明細書で言及するように、ページは、固定長の連続したメモリブロックであり、ページテーブル内の単一のエントリによって記述され、仮想メモリオペレーティングシステムにおけるアドレス変換のためのデータの最小単位である。
図1を参照すると、システム100は、相互接続ネットワーク120を使用して相互に通信する複数の処理ノード(例えば、ノード102、ノード104及びノード106)を含む例示的なノンユニフォームメモリアクセス処理システムである。各ノードは、1つ以上のプロセッサと、対応するメモリ部分(例えば、メモリ部分110、メモリ部分112及びメモリ部分114)と、メモリシステム108と、を含む。各ノードは、別のノードのメモリよりも高速にノード内のメモリ部分にアクセスすることができる。処理ノードは、複数のキャッシュがメモリシステム108の同じ位置の内容を含む場合、プロセッサ間通信を使用して、メモリシステム108内のメモリイメージのコヒーレンシを維持する。システム100は、メモリコントローラ(図示省略)に関連する高速スタティックランダムアクセスメモリ(RAM)内のプローブフィルタ又は他の適切な技術を使用して、キャッシュコヒーレンシポリシを実装する。
図2を参照すると、メモリ部分110の実施形態は、1つ以上のメモリ集積回路(例えば、1つ以上のダイナミックRAM(DRAM)集積回路)を含む。少なくとも1つの実施形態では、メモリシステムは、並列にアクセスされる(例えば、デュアルインラインメモリモジュール(DIMM)として構成されている)複数のメモリ集積回路を含む。各メモリ集積回路は、他のメモリ集積回路のデータインタフェースと組み合わされて、より広帯域のデータインタフェース(例えば、64ビットデータインタフェース)を形成するデータインタフェース(例えば、8ビットデータインタフェース)を含んでもよい。各メモリ集積回路は、並列にアクセス可能な複数の独立したメモリバンクを含んでもよい。各メモリバンクは、複数の行及び列を含む、DRAMセルの二次元アレイを含んでもよい。メモリの位置は、バンク、行及び列フィールドを含むメモリアドレスを使用してアクセスされてもよい。メモリシステム108の少なくとも1つの実施形態では、バンク内の1つの行のみが一度にアクセスされてもよく、行データが当該バンク専用の行バッファに記憶されてもよい。アクティベートコマンド(activate command)は、データの行を、メモリアレイから行バッファに移動させる。行が行バッファに入ると、読み出し又は書き込みコマンドは、関連するメモリアドレスとの間でデータを読み書きしてもよい。よって、メモリコマンドのレイテンシは、対応する行が、関連するメモリバンクの行バッファにあるか否かに部分的に依存する。
メモリアドレスの内容が行バッファに存在する(つまり、メモリアドレスが行バッファにヒットする)場合、メモリコントローラは、読み出し又は書き込みコマンドをメモリバンクに発行するだけでよく、一実施形態では、メモリバンクは、tCLの読み出しメモリアクセスレイテンシ又はtWLの書き込みメモリアクセスレイテンシを有する。メモリアドレスの内容が行バッファに存在しない(つまり、メモリアドレスが行バッファにミスする)場合、メモリコントローラは、行バッファをプリチャージし、データの行を行バッファに移動させるアクティベートコマンドを発行し、読み出し又は書き込みコマンドをメモリバンクに発行する必要がある。一実施形態では、メモリバンクは、tRCD+tCL+tRPの関連する読み出しメモリアクセスレイテンシ、又は、tRCD+tWL+tRPの書き込みメモリアクセスレイテンシを有し、tRCDは、アクティブコマンド行アドレスストローブと列アドレスストローブとの間の必要な遅延時間であり、tRPは、行プリチャージレイテンシである。
図3を参照すると、ノード102は、1つ以上のプロセッサを含む。例えば、ノード102は、複数のコア(例えば、コア0、コア1、コア2、…、コアN)を含むが、ノード102の他の実施形態は、プロセッサユニット(例えば、中央処理装置及びグラフィックス処理ユニット、中央処理装置、グラフィックス処理ユニット、又は、他のプロセッサを含む少なくとも1つのアクセラレーテッド処理ユニットであり、コプロセッサ又は固定機能処理ハードウェアを含んでもよい)の他の組み合わせを統合する。ディレクトリ132は、ディレクトリベースのキャッシュコヒーレンスポリシを使用して、ノード102及びメモリシステム108のキャッシュのコヒーレンスを維持するのに使用されるキャッシュディレクトリ用のストレージを含む。ディレクトリ132は、高速スタティックランダムアクセスメモリ又は他の適切な技術を使用して実装される。図3は、メモリ部分110に含まれるページテーブル152を示している。しかしながら、他の実施形態では、ページテーブル152は、メモリシステム108の別の部分に含まれてもよいし、別個の構造として含まれてもよいことに留意されたい。
図4に示すように、メモリ部分110は、集積回路上、マルチチップモジュール内、又は、ノード102の部分を有するプリント回路基板上でノード102の部分と集積されてもよいし、ノード102の部分の最上部上に垂直に積み重ねられてもよい。メモリをプロセッサの最上部上に垂直に積み重ねることは、メモリ帯域幅を増加させ、アクセスエネルギーを低減させ、これらの両方は、性能及びエネルギー効率にとって重要である。しかしながら、プロセッサの最上部上に垂直に積み重ねることができるメモリの制限された容量のために、十分な総メモリ容量を提供するために、他のノードに含まれ得る外部オフパッケージメモリも必要とされる。プロセッサインメモリの実装は、1つ以上のメモリダイ内の処理ロジックとして、又は、1つ以上のメモリダイも含むスタック402内の別個のロジックダイとして、ノード102の部分を少なくとも含む。ホスト410及び4つのプロセッサインメモリデバイスがインタポーザ412上に形成される。図2及び図4のメモリ部分は単なる例示であり、本明細書で説明する教示は、他のメモリアーキテクチャを有するメモリ部分を含むシステムに適用され得ることに留意されたい。
図3を参照すると、オーバヘッドが低減したページマイグレーション技術は、ステージングバッファ154を使用して、異なるレベルのメモリ間で1つ以上のページを移行しながら、メモリ位置への連続したアクセスを提供する。オーバヘッドが低減したページマイグレーション技術のいくつかの実施形態では、オーバヘッドが低減したページマイグレーション技術は、マイグレーションページの1つのセットを使用するが、他の実施形態では、複数のマイグレーションページ及び/又は追加のレベルのメモリ(例えば、N個の第1レベルのページ)が使用される。オーバヘッドが低減したページマイグレーション技術は、メモリバス上のメモリアクセスをプロファイルし、メモリ内のページの少なくとも一部(例えば、メモリ内のQ個のページのうちP個のページであり、P及びQは整数であり、P≦Qである)に対するメモリアクセス頻度値を維持するプロファイリングロジック144を含む。少なくとも1つの実施形態では、プロファイリングロジック144は、メモリ内の各ページに対するメモリアクセス頻度値を維持する。例えば、プロファイリングロジック144は、メモリシステム108内の各ページに対するカウント値を記憶する所定のメモリ位置(例えば、スタティックランダムアクセスメモリ内)を使用して実装されたハードウェアカウンタを使用する。メモリアクセス情報の記憶構造と、プロファイリングロジック144及びマイグレーション制御ロジック148の実施態様及びポリシと、は単なる例示であって、本明細書の教示と一致する他のデータ構造、実装態様及びポリシが使用されてもよいことに留意されたい。
プロファイリングロジック144は、ノード102のプロセッサがメモリシステム108内の対応するページを読み書きする毎に、頻度値をインクリメントする。アクセスされているページが、P<Qを有するプロファイリングロジック144の実施形態によって現在追跡されていない場合、置換ポリシ(例えば、最も長く使用されていない(least-recently used)置換ポリシ)が使用され、別のページに対する既存のカウントエントリがエビクトされ、アクセスされているページに対する新たなカウントエントリが挿入される。少なくとも1つの実施形態では、プロファイリングロジック144は、ページ毎のアクセス頻度値を定期的にクリア又は左にシフトして、履歴バイアスを低減する。マイグレーション制御ロジック148は、例えば、線形スキャン又は他の適切な技術を使用して、メモリの或るレベルにおける各ページのメモリアクセス頻度値を定期的に比較する。マイグレーション制御ロジック148は、その比較をバックグラウンドで(すなわち、ノード102のプロセッサのプログラム実行を中断させることなく)実行する。よって、比較は、ノード102のプロセッサのプログラム実行のクリティカルパスにはない。マイグレーション制御ロジック148は、比較に基づいて、ページマイグレーションの候補を識別する。例えば、マイグレーション制御ロジック148は、最低のアクセス頻度を有するN個の第1レベルのページであって、頻度が、1つ以上の他の高レイテンシメモリ内の最高頻度のメモリアクセスページの最高のメモリアクセス頻度N未満である、ページを、ページマイグレーションの候補として識別する。メモリアクセス頻度の差の閾値が使用されてもよい。例えば、第1レベルのページのアクセス頻度が、第2レベルのページのアクセス頻度よりも少ない少なくともL回のアクセス(Lは、0よりも大きい整数)のアクセス頻度を有する場合、第2レベルのページは、第1レベルのメモリへのマイグレーションの候補である。所定の閾値を、実行時に静的又は動的に決定することができる。
マイグレーション制御ロジック148は、低レイテンシメモリと1つ以上の高レイテンシメモリとの間でスワッピングするページを識別した後、メモリシステム108、リダイレクションテーブル150、TLB151、ページテーブル152及びステージングバッファ154に、ステージングバッファ154を使用して候補ページの物理位置をスワップさせる制御信号及びメモリコマンドを生成する。マイグレーション制御ロジック148は、ページマイグレーションの候補を識別した後、高レイテンシメモリ内のターゲットページを、低レイテンシメモリ内の同じ数のビクティムページとスワップする。マイグレーションは、バックグラウンドで行われる実際のページマイグレーションの前に、これらの候補の各々をステージングバッファ154にコピーすることを含む。コピーすることは、ノード102のプロセッサのプログラム実行に如何なる割り込みも生じさせない。ページをステージングバッファ154にコピーする間、データは、元のメモリ位置からアクセス可能であり続ける。マイグレーション制御ロジック148は、一貫性を維持するために、これらのページへの書き込み動作に冗長性をもたらす。例えば、メモリコントローラ142は、従来の書き込み動作と一貫して、元のメモリ位置への書き込み動作を処理するが、マイグレーション制御ロジック148は、データを、ステージングバッファ154内のページのコピーにも書き込む。
マイグレーション制御ロジック148は、ステージングバッファ154へのコピーが完了した後、リダイレクションテーブル150を使用して、これらの2つのページへの全ての読み出し及び書き込みアクセスをステージングバッファ154にリダイレクトする。リダイレクションテーブル150は、何れのページがステージングバッファ154内でアクティブコピーを有しているかを示す。したがって、メモリコントローラ142は、メモリアクセスに応じて、任意のターゲットメモリデバイスにアクセスする前に、リダイレクションテーブル150を最初にチェックして、ステージングバッファ154内の対応するページにアクセスするか否かを決定する。少なくとも1つの実施形態では、リダイレクションテーブル150及びメモリ動作のターゲットアドレスとの比較を使用するのではなく、リダイレクション情報は、例えば、ページレベルの仮想‐物理アドレスマッピング情報と共にエントリ毎にTLB151内の追加ビットを割り当てることによって、TLB151に組み込まれてもよい。追加ビットは、対応するTLBエントリに関連するターゲットページが、ステージングバッファ154内にアクティブコピーを有しているかどうかを示す。
マイグレーション制御ロジック148は、候補ページのステージングバッファ154へのコピーが完了した後、これらのページを、ステージングバッファ154から新たな物理メモリ位置にコピーする。ステージングバッファ154からのコピーの間、メモリ読み出し要求が、対応する候補メモリ部分の代わりに候補ページアクセスステージングバッファ154に対して行われ、メモリ書き込み要求が、ステージングバッファ154及び対応する候補メモリ部分の両方に書き込みを行う。ステージングバッファ154からのコピーが完了すると、マイグレーションが完了し、マイグレーション制御ロジック148は、ステージングバッファ154及びリダイレクションテーブル150内の対応するエントリの割り当てを解除するか、TLB151内の対応するリダイレクションビットをクリアする。また、マイグレーション制御ロジック148は、TLBシュートダウンを発行し、マイグレーションに関与するページの新たな物理位置に応じて、更新された仮想‐物理アドレス変換を用いてTLB151及びページテーブル152を更新する。さらに、マイグレーション制御ロジック148は、キャッシュ無効化及び他の一貫性動作をトリガする。マイグレーション制御ロジック148は、全ての候補ページに亘るページマイグレーションのタイミングを調整し、これにより、これらのページが同時に移行し、これらの移行されたページの全てに対して単一のTLBシュートダウンイベントが行われる。
図3及び図5を参照すると、少なくとも1つの実施形態では、プロファイリングロジック144及びマイグレーション制御ロジック148は、システム100に例示的な情報及び制御フロー600を生成させるための様々な制御信号を提供する。プロファイリングロジック144及びマイグレーション制御ロジック148の実施態様は、情報及び制御フロー600と一貫した命令を実行するように構成された特定用途向け回路又は汎用処理ロジックを含む。マイグレーション制御ロジック148は、プロファイリングロジック144に記憶されたメモリアクセス情報を検索して、最も低いメモリアクセス頻度(例えば、頻度F1)を有する最低レイテンシメモリ(例えば、メモリ部分110)内のページを識別し、高レイテンシメモリ内のページの最も高いアクセス頻度(例えば、頻度F2)を有する高レイテンシメモリ(例えば、メモリ部分112,114又は116)内のページを識別する(604)。マイグレーション制御ロジック148は、頻度F1を頻度F2と比較する(606)。一実施形態では、頻度F1が頻度F2よりも小さい場合、対応するページは、マイグレーションの適切な候補である。マイグレーション制御ロジック148がマイグレーションのためのN個の適切な候補を識別することができない場合、メモリアクセス情報のプロファイリングが継続され(602)、マイグレーション制御ロジック148は、少なくともN個の適切なマイグレーション候補について、プロファイリングロジック144に記憶されたメモリアクセス情報を定期的に検索し続ける。本明細書で説明する条件がNページよりも少ないページによって満たされる場合、Nページよりも少ないページがスワップされてもよいことに留意されたい。マイグレーション制御ロジック148がマイグレーションのための適切な候補を識別することができない場合、メモリアクセス情報のプロファイリングが継続され(602)、マイグレーション制御ロジック148は、適切なマイグレーション候補について、プロファイリングロジック144に記憶されたメモリアクセス情報を定期的に検索し続ける。
マイグレーション制御ロジック148は、マイグレーションの候補を識別することに成功した後、最低レイテンシメモリ内の最も少ない頻度でアクセスされたデータ(すなわち、N個のページを含む候補データD1)の最低レイテンシメモリ内の候補ページの物理位置(すなわち、物理位置P1)と、高レイテンシメモリ内の最も頻繁にアクセスされたデータ(すなわち、候補データD2)の高レイテンシメモリ内の物理位置(すなわち、物理位置P2)と、のスワップを開始する(608)。スワップは、リダイレクションテーブル150又はTLB151内の対応するエントリを書き込み、これらの物理位置に記憶されたページが移行されていることを示す(610)ことを含む。また、マイグレーション制御ロジック148は、これらの物理位置における候補ページへの任意の書き込みを可能にして、ステージングバッファ154内の対応するコピーへの冗長な書き込みを生じさせる(610)。マイグレーション制御ロジック148は、候補データD1を最低レイテンシメモリの物理位置P1からステージングバッファ154にコピーし、候補データD2を高レイテンシメモリの物理位置P2からステージングバッファ154にコピーする(612)。
マイグレーション制御ロジック148は、候補ページがステージングバッファ154にコピーされた後、これらの物理位置における候補ページへの任意の書き込みを可能にして、ステージングバッファ154内の対応するコピーへの書き込みを生じさせるように、リダイレクションテーブル150を更新する(614)。マイグレーション制御ロジック148は、候補データD1をステージングバッファ154から物理位置P2にコピーし、候補データD2をステージングバッファ154から物理位置P1にコピーする(614)。マイグレーション制御ロジック148は、候補データがステージングバッファ154から適切な物理位置にコピーされた後、リダイレクションテーブル150又はTLB151内の対応するエントリをクリアして、これらの物理位置に記憶されたページのマイグレーションの完了を示す(616)。また、マイグレーション制御ロジック148は、ステージングバッファ154への冗長な書き込みを無効にし、一貫性動作(例えば、TLBシュートダウン、ページテーブル152内の対応するエントリへの更新、及び、キャッシュ無効化)をトリガする(616)。図5の情報及び制御フローは単なる例示に過ぎず、データ依存性を維持する他の情報及び制御フローは、本明細書で説明するオーバヘッドが低減したページマイグレーション技術と一致することに留意されたい。結果として、1回の一貫性動作によって、複数のページマイグレーションに影響されるTLBが更新されるので、複数のページマイグレーションに亘る一貫性動作のコストを償却することによって、システム性能を向上させる。
図3及び図6を参照すると、少なくとも1つの実施形態では、メモリ部分110は、ページマイグレーションのために最初に確保され得る未使用メモリ空間を有してもよい(例えば、例示的な情報及び制御フロー700を参照)。最低レイテンシメモリ内の不十分な物理位置(物理位置P1)が未使用であり、ページマイグレーションに利用可能である場合(703)、マイグレーション制御ロジックは、上述した例示的な情報及び制御フロー600の604に進む。十分な未使用メモリ空間が、1つ以上のページマイグレーションシナリオに対して、最低レイテンシメモリ内で利用可能である場合(703)、ステージングバッファ154は未使用である。マイグレーション制御ロジック148は、プロファイリングロジック144に記憶されたメモリアクセス情報を検索して、最も高いアクセス頻度(例えば、頻度F2)を有する高レイテンシメモリ(例えば、メモリ部分112,114又は116)内のページを識別する(704)。一実施形態では、頻度F2が所定の閾値THRESHよりも大きい場合(706)、対応するページは、マイグレーションの適切な候補である。マイグレーション制御ロジック148が、マイグレーションのためのN個の適切な候補を識別することができない場合(706)、メモリアクセス情報のプロファイリングが継続され(602)、マイグレーション制御ロジック148は、少なくともN個の適切なマイグレーション候補について、プロファイリングロジック144に記憶されたメモリアクセス情報を定期的に検索し続ける。本明細書で説明する条件がNページよりも少ないページで満たされる場合、Nページよりも少ないページが移行されてもよいことに留意されたい。マイグレーション制御ロジック148がマイグレーションのための適切な候補を識別することができない場合、メモリアクセス情報のプロファイリングが継続され(602)、マイグレーション制御ロジック148は、適切なマイグレーション候補について、プロファイリングロジック144に記憶されたメモリアクセス情報を定期的に検索し続ける。
マイグレーション制御ロジック148は、マイグレーションの候補を識別することに成功した後、最も低いレイテンシメモリ内の利用可能な未使用の物理位置(すなわち、物理位置P1)と共に、高レイテンシメモリ内の頻繁にアクセスされるデータ(すなわち、候補データD2)の高レイテンシメモリ内の候補ページの物理位置(すなわち、物理位置P2)のマイグレーションを開始する(708)。マイグレーションは、これらの物理位置に記憶されたページが移行されていることを示すように、リダイレクションテーブル150又はTLB151内の対応するエントリを書き込む(710)ことを含む。また、マイグレーション制御ロジック148は、高レイテンシメモリ(P2)のこれらの物理位置における候補ページへの任意の書き込みを可能にし、最低レイテンシメモリ(P1)内の対応するコピーへの冗長な書き込みを生じさせる(710)。マイグレーション制御ロジック148は、候補データD2を、高レイテンシメモリの物理位置P2から最低レイテンシメモリ内の物理位置P1にコピーする(712)。
マイグレーション制御ロジック148は、候補データがスワップされた後、リダイレクションテーブル150又はTLB151内の対応するエントリをクリアして、これらの物理位置に記憶されたページのマイグレーションの完了を示す(716)。また、マイグレーション制御ロジック148は、冗長な書き込みを無効にし、一貫性動作(例えば、TLBシュートダウン、ページテーブル152内の対応するエントリへの更新、及び、キャッシュ無効化)をトリガする(716)。図6の情報及び制御フローは単なる例示に過ぎず、データ依存性を維持する他の情報及び制御フローが、本明細書で説明するオーバヘッドが低減したページマイグレーション技術と一致することに留意されたい。結果として、1回の一貫性動作によって、N個のページマイグレーションに影響されるTLBが更新されるので、複数のページマイグレーションに亘る一貫性動作のコストを償却することによって、システム性能を向上させる。
したがって、オーバヘッドが低減したページマイグレーションについての技術が説明されている。回路及び物理構造を、本発明の実施形態を説明する際に概して仮定したが、現代の半導体設計及び製造において、物理構造及び回路が、後続の設計、シミュレーション、検査、又は、製造段階での使用に適したコンピュータ可読記述形式で具現化可能であることがよく認識されるであろう。例示的な構成において別個のコンポーネントとして示される構造及び機能は、組み合わされた構造又はコンポーネントとして実装されてもよい。本発明の様々な実施形態は、本明細書に記載され、添付の特許請求の範囲に定義されるように、回路、回路システム、関連する方法、並びに、このような回路、システム及び方法の符号化(例えば、VHSICハードウェア記述言語(VHDL)、Verilog、GDSIIデータ、電子設計データ交換用フォーマット(EDIF)、及び/又は、Gerberファイル等)を有する有形のコンピュータ可読媒体を含むことが意図されている。また、コンピュータ可読媒体は、本発明を実施するために使用することができる命令及びデータを記憶してもよい。命令/データは、ハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせに関連してもよい。
本明細書に示す本発明の説明は例示的なものであり、以下の特許請求の範囲に示す本発明の範囲を限定することを意図するものではない。例えば、本発明は、メモリのページが移行される実施形態において説明されてきたが、当業者は、本明細書の教示が他の固定領域サイズで利用可能であることを理解するであろう。また、本明細書に記載された技術は、マルチレベルメモリシステム(すなわち、キャッシュ階層と同様のデバイス階層を使用するメモリシステム)及びノンユニフォームメモリアクセスメモリシステムで利用することができる。本明細書で開示される実施形態の変形及び修正は、以下の特許請求の範囲に示される本発明の範囲から逸脱することなく、本明細書に示された説明に基づいて行うことができる。

Claims (12)

  1. メモリシステムにおいて使用される方法であって、
    前記メモリシステムの第1メモリの第1の複数のページを、前記メモリシステムの第2メモリの第2の複数のページとスワップすることであって、前記第1メモリは、第1レイテンシを有しており、前記第2メモリは、第2レイテンシを有しており、前記第1レイテンシは、前記第2レイテンシよりも短い、ことと、
    ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、前記第1の複数のページの各々の仮想アドレスを、前記第2メモリ内の対応する物理アドレスに関連付け、前記第2の複数のページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けることと、を含み、
    前記スワップすることは、
    前記第1の複数のページを、前記第1メモリからステージングバッファにコピーすることと、
    前記第2の複数のページを、前記第2メモリから前記ステージングバッファにコピーすることと、
    前記第1の複数のページの前記ステージングバッファへのコピーの間に、前記ステージングバッファ内の前記第1の複数のページのうち第1ページへの書き込み命令に応じて、前記第1ページのコピーにデータを書き込み、前記第1メモリ内の前記第1ページに前記データを書き込むことと、を含む、
    方法。
  2. 前記スワップすることは、
    前記第1の複数のページの各々の第1リダイレクション状態及び前記第2の複数のページの各々の第2リダイレクション状態を更新して、前記第1の複数のページ及び前記第2の複数のページの各々が前記ステージングバッファにコピーされていることを示すことをさらに含み、
    前記書き込むことは、前記第1ページの前記第1リダイレクション状態に基づいている、
    請求項の方法。
  3. 前記スワップすることは、
    前記第1の複数のページを、前記ステージングバッファから前記第2メモリにコピーすることと、
    前記第2の複数のページを、前記ステージングバッファから前記第1メモリにコピーすることと、
    前記第1の複数のページの各々の第1リダイレクション状態及び前記第2の複数のページの各々の第2リダイレクション状態を更新して、前記第1の複数のページ及び前記第2の複数のページの各々が前記ステージングバッファからコピーされていることを示すことと、をさらに含む、
    請求項の方法。
  4. 前記スワップすることは、
    前記ステージングバッファからの前記第1の複数のページのコピーの間に、前記第1ページへの第2書き込み命令に応じて、前記第1ページのコピーを前記ステージングバッファに書き込むことをさらに含む、
    請求項の方法。
  5. 前記スワップすることは、
    前記第1の複数のページの各々の前記第1リダイレクション状態及び前記第2の複数のページの各々の前記第2リダイレクション状態を更新して、前記ステージングバッファからの前記第1の複数のページ及び前記第2の複数のページのコピーが完了したときに前記ステージングバッファを解放することをさらに含む、
    請求項3又は4の方法。
  6. 前記メモリシステムの個々のページに対するメモリアクセスの頻度をカウントして、メモリアクセス情報を生成することと、
    前記メモリアクセス情報に基づいて、前記第1メモリにおいて最も低いメモリアクセス頻度を有する前記第1メモリ内の複数のページを、前記第1の複数のページとして識別することと、
    前記メモリアクセス情報に基づいて、前記第2メモリにおいて最も高いメモリアクセス頻度を有する前記第2メモリ内の複数のページを、前記第2の複数のページとして識別することと、をさらに含み、
    前記最も高いメモリアクセス頻度は、前記最も低いメモリアクセス頻度よりも大きい、
    請求項1、2、3、4又は5の方法。
  7. 第3の複数のページを、前記メモリシステムの前記第2メモリから前記メモリシステムの前記第1メモリ内の第1の複数の未使用ページに移行することと、
    前記ページテーブルを更新し、第2トランスレーションルックアサイドバッファシュートダウンをトリガして、前記第3の複数のページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けることと、をさらに含む、
    請求項1、2、3、4、5又は6の方法。
  8. メモリシステムの第1メモリのN個の第1ページを、前記メモリシステムの第2メモリのN個の第2ページとスワップするように構成されたマイグレーション制御ロジックであって、前記第1メモリは、第1レイテンシを有しており、前記第2メモリは、第2レイテンシを有しており、前記第1レイテンシは、前記第2レイテンシよりも短い、マイグレーション制御ロジックと、
    前記メモリシステムの全てのページについての仮想‐物理アドレス変換を記憶するように構成されたページテーブルと、
    前記メモリシステムのページについて最近使用された仮想‐物理アドレス変換を記憶するように構成されたトランスレーションルックアサイドバッファと
    少なくとも2×N個のページのサイズを有するステージングバッファであって、前記マイグレーション制御ロジックは、メモリシステムの前記第1メモリのN個の第1ページを前記ステージングバッファにコピーするように構成されており、前記メモリシステムの前記第2メモリのN個の第2ページを前記ステージングバッファにコピーするように構成されている、ステージングバッファと、
    前記N個の第1ページの前記ステージングバッファへのコピーの間に、前記第1ページへの書き込み命令に応じて、前記ステージングバッファ内の前記N個の第1ページのうち第1ページのコピーにデータを書き込み、前記第1メモリ内の前記第1ページに前記データを書き込むように構成されたメモリコントローラと、を備え、
    前記マイグレーション制御ロジックは、前記ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、前記N個の第1ページの各々の仮想アドレスを、前記第2メモリ内の対応する物理アドレスに関連付け、前記N個の第2ページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けるように構成されており、Nは、1よりも大きい整数である、
    装置。
  9. 前記N個の第1ページのコピー及び前記N個の第2ページのコピーが前記ステージングバッファにコピーされているかどうかを示す、前記第1メモリの前記N個の第1ページの第1リダイレクション状態及び前記第2メモリの前記N個の第2ページの第2リダイレクション状態を記憶するように構成されたリダイレクション状態ストレージをさらに備え、
    前記マイグレーション制御ロジックは、前記第1リダイレクション状態及び前記第2リダイレクション状態を更新して、前記N個の第1ページ及び前記N個の第2ページが前記ステージングバッファにコピーされていることを示すように構成されている、
    請求項の装置。
  10. 前記メモリコントローラは、前記ステージングバッファから前記第2メモリへの前記N個の第1ページのコピーの間に、前記第1ページへの第2書き込み命令に応じて、前記ステージングバッファ内の前記第1ページのコピーにデータを書き込むように構成されている、
    請求項8又は9の装置。
  11. 前記メモリシステムの個々のページに対するメモリアクセス頻度カウントを記憶するように構成されたメモリアクセス情報ストレージと、
    前記メモリシステム及び前記メモリアクセス情報ストレージに接続されたメモリバスと、
    前記メモリバス及び前記メモリアクセス情報ストレージに接続されたプロファイリングロジックであって、前記メモリシステムの個々のページに対するメモリアクセスの頻度をカウントし、前記個々のページに対するメモリアクセスの頻度を前記メモリアクセス情報ストレージに記憶するように構成されたプロファイリングロジックと、をさらに備え、
    前記マイグレーション制御ロジックは、前記メモリアクセス情報ストレージの内容に基づいて、前記第1メモリ内のN個の最低頻度ページを前記N個の第1ページとして識別し、前記メモリアクセス情報ストレージの前記内容に基づいて、前記第2メモリ内のN個の最高頻度ページを前記N個の第2ページとして識別するように構成されている、
    請求項8、9又は10の装置。
  12. 前記プロファイリングロジックは、
    前記メモリシステムの個々のページに対応する複数のカウンタの個々のカウンタを含む、複数のカウンタと、
    前記第1メモリ内の前記N個の最低頻度ページを識別し、前記第2メモリ内の前記N個の最高頻度ページを識別するロジックであって、前記N個の最高頻度ページの各々は、前記N個の最低頻度ページの各々のメモリアクセス頻度よりも大きいメモリアクセス頻度を有する、ロジックと、を備える、
    請求項11の装置。
JP2019569799A 2017-06-19 2018-06-14 メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム Active JP6928123B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/626,623 2017-06-19
US15/626,623 US10339067B2 (en) 2017-06-19 2017-06-19 Mechanism for reducing page migration overhead in memory systems
PCT/US2018/037460 WO2018236657A1 (en) 2017-06-19 2018-06-14 MECHANISM FOR REDUCING PAGE MIGRATION OVERLOAD IN MEMORY SYSTEMS

Publications (3)

Publication Number Publication Date
JP2020524339A JP2020524339A (ja) 2020-08-13
JP2020524339A5 JP2020524339A5 (ja) 2021-07-26
JP6928123B2 true JP6928123B2 (ja) 2021-09-01

Family

ID=64658092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019569799A Active JP6928123B2 (ja) 2017-06-19 2018-06-14 メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム

Country Status (6)

Country Link
US (1) US10339067B2 (ja)
EP (1) EP3642722B1 (ja)
JP (1) JP6928123B2 (ja)
KR (1) KR102350539B1 (ja)
CN (1) CN110730956B (ja)
WO (1) WO2018236657A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10263858B2 (en) * 2017-02-07 2019-04-16 Microsoft Technology Licensing, Llc Environment simulator for user percentile
US10489877B2 (en) * 2017-04-24 2019-11-26 Intel Corporation Compute optimization mechanism
US10726514B2 (en) 2017-04-28 2020-07-28 Intel Corporation Compute optimizations for low precision machine learning operations
US11275600B2 (en) * 2017-11-14 2022-03-15 TidalScale, Inc. Virtualized I/O
US10860244B2 (en) * 2017-12-26 2020-12-08 Intel Corporation Method and apparatus for multi-level memory early page demotion
CN109032510B (zh) * 2018-06-29 2021-07-09 山石网科通信技术股份有限公司 基于分布式结构的处理数据的方法和装置
US11074189B2 (en) * 2019-06-20 2021-07-27 International Business Machines Corporation FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy
US11269780B2 (en) * 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US10963396B1 (en) 2019-09-17 2021-03-30 Micron Technology, Inc. Memory system for binding data to a memory namespace
US11620233B1 (en) * 2019-09-30 2023-04-04 Amazon Technologies, Inc. Memory data migration hardware
US20210157647A1 (en) * 2019-11-25 2021-05-27 Alibaba Group Holding Limited Numa system and method of migrating pages in the system
CN114064519A (zh) * 2020-08-03 2022-02-18 美光科技公司 高速缓存的元数据管理
US11789649B2 (en) * 2021-04-22 2023-10-17 Nvidia Corporation Combined on-package and off-package memory system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222117B1 (en) * 2003-11-14 2007-05-22 Advent Software, Inc. Segmented global area database
US7281116B2 (en) * 2004-07-30 2007-10-09 Hewlett-Packard Development Company, L.P. Multiprocessor system having plural memory locations for respectively storing TLB-shootdown data for plural processor nodes
US7386669B2 (en) * 2005-03-31 2008-06-10 International Business Machines Corporation System and method of improving task switching and page translation performance utilizing a multilevel translation lookaside buffer
US20070226795A1 (en) * 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
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
US20080127182A1 (en) * 2006-11-29 2008-05-29 Newport William T Managing Memory Pages During Virtual Machine Migration
US8402215B2 (en) 2009-10-15 2013-03-19 Hitachi, Ltd. Storage system, storage apparatus, and optimization method of storage areas of storage system having page migration
US9009384B2 (en) * 2010-08-17 2015-04-14 Microsoft Technology Licensing, Llc Virtual machine memory management in systems with asymmetric memory
US9053064B2 (en) 2012-12-10 2015-06-09 Vmware, Inc. Method for saving virtual machine state to a checkpoint file
US9798574B2 (en) 2013-09-27 2017-10-24 Intel Corporation Techniques to compose memory resources across devices
US10372335B2 (en) 2014-09-16 2019-08-06 Kove Ip, Llc External memory for virtualization
US9959205B2 (en) * 2015-05-13 2018-05-01 Wisconsin Alumni Research Foundation Shared row buffer system for asymmetric memory
US20170109043A1 (en) * 2015-10-16 2017-04-20 SK Hynix Inc. Memory system
JP2017138852A (ja) * 2016-02-04 2017-08-10 株式会社東芝 情報処理装置、記憶装置およびプログラム
JP2017138853A (ja) * 2016-02-04 2017-08-10 株式会社東芝 情報処理装置およびプログラム

Also Published As

Publication number Publication date
US20180365167A1 (en) 2018-12-20
EP3642722B1 (en) 2023-08-16
CN110730956A (zh) 2020-01-24
EP3642722A1 (en) 2020-04-29
KR20200010504A (ko) 2020-01-30
US10339067B2 (en) 2019-07-02
JP2020524339A (ja) 2020-08-13
CN110730956B (zh) 2024-01-09
WO2018236657A1 (en) 2018-12-27
EP3642722A4 (en) 2021-03-24
KR102350539B1 (ko) 2022-01-14

Similar Documents

Publication Publication Date Title
JP6928123B2 (ja) メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム
US20230325320A1 (en) Method and apparatus for controlling cache line storage in cache memory
US20170212845A1 (en) Region migration cache
US7496711B2 (en) Multi-level memory architecture with data prioritization
CN109791523B (zh) 支持巨页的内存管理
US20100325374A1 (en) Dynamically configuring memory interleaving for locality and performance isolation
JP7340326B2 (ja) メンテナンス動作の実行
US10067709B2 (en) Page migration acceleration using a two-level bloom filter on high bandwidth memory systems
US20130138894A1 (en) Hardware filter for tracking block presence in large caches
KR20140098199A (ko) 물리적 로우에 함께 저장된 태그 및 데이터를 구비한 dram 캐시
US20170083444A1 (en) Configuring fast memory as cache for slow memory
US20160210243A1 (en) Memory Paging for Processors using Physical Addresses
JP7242170B2 (ja) メモリープールを有するコンピューティングシステムのためのメモリー分割
EP0470739B1 (en) Method for managing a cache memory system
CN109983538B (zh) 存储地址转换
US6801982B2 (en) Read prediction algorithm to provide low latency reads with SDRAM cache
US5835945A (en) Memory system with write buffer, prefetch and internal caches
JP6249120B1 (ja) プロセッサ
KR20190032585A (ko) 멀티 스레드 모드에서 전력 감소를 위한 방법 및 장치
JP2023506264A (ja) アクセスタイプの優先度に基づくキャッシュ管理
US11847074B2 (en) Input/output device operational modes for a system with memory pools
US20230359556A1 (en) Performing Operations for Handling Data using Processor in Memory Circuitry in a High Bandwidth Memory
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
Dixon Page associative caches on Futurebus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210602

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210602

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210805

R150 Certificate of patent or registration of utility model

Ref document number: 6928123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150