JP3944504B2 - 変換索引バッファのレイジー・フラッシング - Google Patents
変換索引バッファのレイジー・フラッシング Download PDFInfo
- Publication number
- JP3944504B2 JP3944504B2 JP2004304748A JP2004304748A JP3944504B2 JP 3944504 B2 JP3944504 B2 JP 3944504B2 JP 2004304748 A JP2004304748 A JP 2004304748A JP 2004304748 A JP2004304748 A JP 2004304748A JP 3944504 B2 JP3944504 B2 JP 3944504B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- mapping
- memory
- address translation
- tlb
- 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
Links
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
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Description
アドレス変換制御(ATC)は、仮想アドレスを物理アドレスに変換するために使用するマッピングを動的に制御することによってメモリ・アクセス・ポリシーを実装するために使用することができる。変換索引バッファ(TLB)を使用してマッピングをキャッシュするとき、このアクセス・ポリシーの現在の状態と矛盾する古くなったマッピングが、TLB中に残存することがあり、それによってメモリを、ポリシーに逆らって稼働させる使用に対して露出する(さらす)可能性がある。このTLBをフラッシュすることができるが、TLBをフラッシュすることは時間を要する操作であり、これを必要以上に多い頻度で実施することは好ましくない。本発明は、フラッシュが必要になるまでTLBのフラッシュを遅延させることができるレイジーTLBフラッシュのためのメカニズムを提供する。このメカニズムは、各プロセッサがそれ自体のTLBを保持し、他のプロセッサのTLBとは別にフラッシュすることができるマルチ・プロセッサ・システム中で使用することが好ましい。
図1は、本発明の態様を実装することができるコンピューティング環境の一例を示している。このコンピューティング・システム環境100は、適切なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどのような限定をも示唆することを意図していない。また、コンピューティング環境100は、例示の動作環境100に示されるコンポーネントのどの1つまたは組合せに関してどのような依存性または必要性を有するものと解釈すべきでもない。
図2は、仮想アドレス・システムの一例を示している。図2に示す例は、ページ・タイプの仮想アドレス・スキームであるが、仮想アドレッシングは、セグメンテーションなど他のモデルに基づくことも可能なことが理解されよう。図2に示すスキームは、INTELx86プロセッサ上で使用可能な仮想アドレッシング・スキームのうちの1つなどのような、2−レベルのアドレス・スキームである。このスキームは、以下に説明するように仮想ページ識別子を物理ページに変換するためには2レベルの間接化(indirection)を使用する必要があるという意味において「2−レベル」である。
前述の仮想アドレス・システムの一特徴は、所与のアドレス変換マップの下ではどのような仮想アドレスによってもマッピングされない物理アドレスが存在し得ることであることが理解されよう。したがって、ほとんどすべてのアクセス要求が仮想アドレスによって行われるINTELx86プロセッサなどのシステムでは、ソースのアドレス変換マップがオフリミット(off-limit)のメモリを指す(point)ことがないようにすることによって、所与のソースにとって物理メモリの一部分をオフリミットにすることが可能である。アドレス変換マップに対して制御を及ぼしてこのようなオフリミットのメモリを実現することをATC(Address Translation Control;アドレス変換制御)と呼ぶ。このメモリのオフリミット部分は、時に「Curtained Memory」と呼ばれ、ATCは、Curtained Memoryを実現する一方法である。
以上で指摘したように、ほとんどすべてのメモリ・アクセス要求が物理アドレスによって行われるある種のシステムが存在する。かかるシステム上でCurtained Memory312を実装する一方法は、Curtained Memory312についての仮想アドレスがLHS350に露出されない(さらされない)ような方法で、アドレス変換マップのコンテンツ(contents)を制御する方法である(あるタイプのアクセス要求が、それらのターゲットを物理アドレスによって識別する可能性がある場合には、ダイレクト・メモリ・アクセス装置または他のソースからの物理的なアクセス要求をフィルタリングする排他ベクトル(exclusion vector)など、何らかの補助的な協働メカニズムによって、Curtained Memoryへのアクセスを制限することができる。)。LHS350が、Curtained Memory312へと至るはずのアドレス変換マップを使用できないことを保証するいくつかのアルゴリズムが使用可能であるが、これらのアルゴリズムの背後における中心的なアイデアは、(1)プロセッサがLHS350で動作しているとき、CR3(図2に示す記憶ロケーション201)にロードされたマップはどれも、Curtained Memory312に含まれるページには至らないようにする、(2)LHS350中のアクティブなマップを編集するどのような試みに対しても、提案された編集を評価して、その編集がCurtained Memory312のページに至るリンクをもたらさないように保証することである。
−CR3は、D1中にある;
−すべてのD1ページおよびD2ページは、その関連するポリシーの下で読取り可能である;
−D1ページからのあらゆるスモール・リンクは、D2ページを指す;
−D2ページからのリンクは、そのポリシーの下で読取り可能なページを指す;
−書込みアクティブなD2ページからのあらゆる読取り書込みリンクは、そのポリシーの下で書込み可能であるページで、D中にないページ、を指す;
−D1ページからのラージ・リンクのラージ・ページ・ターゲット中に含まれるあらゆるスモール・ページはそのポリシーの下で読取り可能である;そのリンクが読取り書込みの場合には、このスモール・ページも、またそのポリシーの下に書込み可能であり、D中にはない。
変換索引バッファ(TLB)は、本質的にはマッピング・データが記憶されるキャッシュである。TLBの背後にある基本的なアイデアは、最近アクセスされたページは再びアクセスされる可能性が高いというものであり、したがって、所与の仮想ページから対応する物理ページへの最近使用されたマッピングがそのTLB中に記憶される。アドレス変換テーブルからマッピングを計算するには、(少なくともINTELx86プロセッサ上で使用される最も一般的な2−レベルの仮想アドレス・スキームにおいては)2回のメモリ・アクセス、すなわち、ページ・ディレクトリへの、該当するページ・テーブルのロケーションを見出すための1つのアクセスと、次いで、そのページ・テーブルへの、該当するデータ・ページを見出すための2回目のアクセス、が必要である。アクセスがシークされる実際のターゲット・ロケーションは、これら2回の(他の)メモリ・アクセスが実施されてターゲットデータの物理ロケーションを見出した後に、アクセスできるだけである。TLBは、最近使用されたマッピング情報を保持する高速メモリを提供することによって、かかる追加のメモリ・アクセスの必要性を減らす。したがって、実施する必要のあるアドレス変換のたびごとに、プロセッサは、まずそのTLBを参照して所与の仮想ページについてのマッピング・データがそのTLB中にキャッシュされているかどうかを決定する。そのマッピング・データがTLB中に存在しない場合には、アドレス変換テーブルが参照される。
−読取りフラッシング動作は、一部の計算エンティティ(computational entity)がそのページに対する読取り書込みマッピングを作成しようと試みるまで、一部のデバイスがそのページをダイレクト・メモリ・アクセスを介して修正することができるようになるまで、あるいはそのページをATCアルゴリズムそれ自体によって修正するまで、遅延させることができる。
−書込みフラッシング動作は、一部の計算エンティティがそのページに対する読取りまたは読取り書込みマッピングを作成しようと試みるまで、一部の装置がそのページをダイレクト・接メモリ・アクセスを修正することができるようになるまで、あるいはそのページをATCアルゴリズムそれ自体によって修正するまで、遅延させることができる。
110 コンピュータ
120 処理装置(プロセッサ)
121 システム・バス
130 システム・メモリ
131 ROM
132 RAM
133 BIOS
134 オペレーティング・システム
135 アプリケーション・プログラム
136 他のプログラム・モジュール
137 プログラム・データ
140 着脱不能な不揮発性メモリ・インターフェース
141 ハードディスク・ドライブ
144 オペレーティング・システム
145 アプリケーション・プログラム
146 他のプログラム・モジュール
147 プログラム・データ
150 着脱可能な不揮発性メモリ・インターフェース
151 磁気ディスク・ドライブ
152 着脱可能な不揮発性の磁気ディスク
155 光ディスク・ドライブ
156 着脱可能な不揮発性光ディスク
160 ユーザ入力インターフェース
161 マウス
162 キーボード
170 ネットワーク・インターフェース
171 ローカル・エリア・ネットワーク
172 モデム
173 ワイド・エリア・ネットワーク
180 リモート・コンピュータ
181 メモリ記憶装置
185 リモート・アプリケーション・プログラム
190 ビデオ・インターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ
201 記憶ロケーション
202 ページ・ディレクトリ
204 ページ・テーブル
206 ページ
210 仮想アドレス
211 ページ・ディレクトリ・オフセット
212 ページ・テーブル・オフセット
213 ページ・オフセット
220 メモリ管理ユニット(MMU)
302 ファンクション306(1)ないし306(n)がどのように振る舞うと想定されるかを記述する仕様
304 ファンクション308(1)ないし308(m)がどのように振る舞うと想定されるかを記述する仕様
306 ファンクション
308 ファンクション
310 物理アドレス空間
312 Curtained Memory
400 メモリ
402 TLB
404 アドレス変換マップ
406 物理ターゲット・ロケーション
Claims (8)
- 複数のマッピング・キャッシュであって、それぞれが、コンピューティング装置の複数の処理装置のうちの対応する1つに関連付けられ、仮想アドレスを物理アドレスに変換するために使用され、アドレス変換マップに基づいてマッピングを記憶する、前記複数のマッピング・キャッシュのうちの第1のマッピング・キャッシュから古くなったエントリをクリアする方法であって、当該方法は、
カウンタを保持すること、
前記複数のマッピング・キャッシュのうちの前記第1のマッピング・キャッシュをフラッシュするたびに前記カウンタを更新すること、
前記アドレス変換マップ中の変更に応答して前記カウンタ値を記録し、記録されたカウンタ値を格納すること、
前記カウンタ値と前記記録済みのカウンタ値との比較に基づいて、前記アドレス変換マップ中の前記変更が行われて以来、前記複数のマッピング・キャッシュのうちの前記第1のマッピング・キャッシュが必ずしも確実にフラッシュされていないことを決定すること、および
前記複数のマッピング・キャッシュのうちの前記第1のマッピング・キャッシュをフラッシュすること
を備え、この方法ではポリシーがメモリに対する許容可能なアクセスを定義し、前記方法は、さらに、
エンティティが前記ポリシーに違反して前記メモリにアクセスできるようにする仮想アドレス・マッピングを、前記アドレス変換マップが前記エンティティに対してさらされないように前記アドレス変換マップのコンテンツを制御することを備え、
前記変更は、
前記ポリシーに一致する前記マップを置くかあるいは保持する、前記アドレス変換マップに対する修正、あるいは
前記マップに対する前記エンティティの書込みアクセスを制限する、前記アドレス変換マップに対する修正
を備えることを特徴とする方法。 - 前記アドレス変換マップは、前記メモリの一部分に対するリンクを備え、前記アドレス変換マップのコンテンツを制御することは、前記メモリの前記一部分を前記エンティティからアクセス不可能にすることを備え、前記変更は、前記メモリの前記一部分に対するすべてのリンクを前記アドレス変換マップから取り除くことを備えることを特徴とする請求項1に記載の方法。
- マッピング・キャッシュおよびそれに関連するカウンタを有する複数のプロセッサと、
前記各マッピング・キャッシュがそれに基づいてマッピングを格納するアドレス変換マップを格納するメモリであって、該メモリに対するアクセスを管理するポリシーが存在し、該ポリシーに違反して前記メモリへのアクセスを可能にするマッピングについての露出を防止するように、そのコンテンツが制御される、前記アドレス変換マップ、を記憶するメモリと、
前記マッピング・キャッシュのうちの第1のマッピング・キャッシュをフラッシュし、前記マッピング・キャッシュのうちの前記第1のマッピング・キャッシュがフラッシュされると前記カウンタのうちの第1のカウンタを増分する、第1のロジックと、
前記アドレス変換マップ中または前記アドレス変換マップに関するプロパティ中の変更に応答して前記第1のカウンタの値を記録する第2のロジックであって、前記記録済みのカウンタ値が前記変更に関連して記憶される第2のロジックと、
前記記録済みのカウンタ値を前記第1のカウンタの現在の値と比較し、前記比較により、前記変更以来、前記マッピング・キャッシュのうちの前記第1のマッピング・キャッシュがフラッシュされていないことが示される場合には、前記マッピング・キャッシュのうちの前記第1のマッピング・キャッシュをフラッシュするようにする第3のロジックと
を備えることを特徴とするアドレス・マッピング・キャッシュの使用を管理するシステム。 - 前記各マッピング・キャッシュは、複数のカウンタのうちの異なるカウンタに関連付けられ、前記第1のロジックは、所与のマッピング・キャッシュがフラッシュされるときに前記所与のマッピング・キャッシュに対応する前記カウンタを増分することを特徴とする請求項3に記載のシステム。
- 前記変更は、前記メモリの第1のページに対するすべてのリンクが前記アドレス変換マップから取り除かれる状態に前記アドレス変換マップを置くことを備えることを特徴とする請求項3に記載のシステム。
- 前記変更は、前記メモリの第1のページに対する書込み可能リンクがない状態に前記アドレス変換マップを置くことを備えることを特徴とする請求項3に記載のシステム。
- 前記第3のロジックは、前記変更の結果を使用すべきことを検出するのに応答して呼び出されることを特徴とする請求項3に記載のシステム。
- 前記変更は、前記メモリの第1のページに対するすべてのリンクが前記アドレス変換マップから取り除かれる状態に前記アドレス変換マップを置くことを備え、前記検出は、仮想アドレスが前記第1のページ上のロケーションに変換されていることに基づくものであることを特徴とする請求項7に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/723,823 US7069389B2 (en) | 2003-11-26 | 2003-11-26 | Lazy flushing of translation lookaside buffers |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005158040A JP2005158040A (ja) | 2005-06-16 |
JP2005158040A5 JP2005158040A5 (ja) | 2006-12-28 |
JP3944504B2 true JP3944504B2 (ja) | 2007-07-11 |
Family
ID=34465717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004304748A Expired - Fee Related JP3944504B2 (ja) | 2003-11-26 | 2004-10-19 | 変換索引バッファのレイジー・フラッシング |
Country Status (12)
Country | Link |
---|---|
US (2) | US7069389B2 (ja) |
EP (1) | EP1536341B1 (ja) |
JP (1) | JP3944504B2 (ja) |
KR (1) | KR100918530B1 (ja) |
CN (1) | CN100424657C (ja) |
AT (1) | ATE457495T1 (ja) |
AU (1) | AU2004218704B2 (ja) |
BR (1) | BRPI0404015B1 (ja) |
CA (1) | CA2483938C (ja) |
DE (1) | DE602004025442D1 (ja) |
MX (1) | MXPA04011270A (ja) |
RU (1) | RU2361267C2 (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283566A1 (en) * | 2003-09-29 | 2005-12-22 | Rockwell Automation Technologies, Inc. | Self testing and securing ram system and method |
US7334159B1 (en) | 2003-09-29 | 2008-02-19 | Rockwell Automation Technologies, Inc. | Self-testing RAM system and method |
US7533133B1 (en) * | 2004-04-28 | 2009-05-12 | Symantec Operating Corporation | Externally managed file versions |
US7249241B1 (en) * | 2004-04-29 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for direct virtual memory address caching |
US7363463B2 (en) * | 2005-05-13 | 2008-04-22 | Microsoft Corporation | Method and system for caching address translations from multiple address spaces in virtual machines |
US7398371B2 (en) * | 2005-06-23 | 2008-07-08 | Qualcomm Incorporated | Shared translation look-aside buffer and method |
GB0513375D0 (en) | 2005-06-30 | 2005-08-03 | Retento Ltd | Computer security |
US7472227B2 (en) * | 2005-08-11 | 2008-12-30 | International Business Machines Corporation | Invalidating multiple address cache entries |
US8909946B2 (en) | 2005-11-15 | 2014-12-09 | Microsoft Corporation | Efficient power management of a system with virtual machines |
US7913057B2 (en) * | 2006-01-27 | 2011-03-22 | Graphics Properties Holdings, Inc. | Translation lookaside buffer checkpoint system |
US8479174B2 (en) | 2006-04-05 | 2013-07-02 | Prevx Limited | Method, computer program and computer for analyzing an executable computer file |
US7555628B2 (en) * | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
US8615643B2 (en) | 2006-12-05 | 2013-12-24 | Microsoft Corporation | Operational efficiency of virtual TLBs |
US8694712B2 (en) * | 2006-12-05 | 2014-04-08 | Microsoft Corporation | Reduction of operational costs of virtual TLBs |
US7631147B2 (en) * | 2006-12-06 | 2009-12-08 | Microsoft Corporation | Efficient flushing of translation lookaside buffers in a multiprocessor environment |
US7788464B2 (en) * | 2006-12-22 | 2010-08-31 | Microsoft Corporation | Scalability of virtual TLBs for multi-processor virtual machines |
US7774658B2 (en) * | 2007-01-11 | 2010-08-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus to search for errors in a translation look-aside buffer |
US8868844B2 (en) * | 2008-06-25 | 2014-10-21 | International Business Machines Corporation | System and method for a software managed cache in a multiprocessing environment |
US20090327750A1 (en) * | 2008-06-29 | 2009-12-31 | Tse-Hong Wu | Security system for code dump protection and method thereof |
US8918601B2 (en) * | 2009-12-14 | 2014-12-23 | International Business Machines Corporation | Deferred page clearing in a multiprocessor computer system |
US8510511B2 (en) | 2009-12-14 | 2013-08-13 | International Business Machines Corporation | Reducing interprocessor communications pursuant to updating of a storage key |
US8930635B2 (en) * | 2009-12-14 | 2015-01-06 | International Business Machines Corporation | Page invalidation processing with setting of storage key to predefined value |
US8209491B2 (en) * | 2010-04-27 | 2012-06-26 | Symantec Corporation | Techniques for directory server integration |
KR101155127B1 (ko) * | 2010-12-24 | 2012-06-11 | 서울대학교산학협력단 | 멀티코어 시스템의 메모리 관리 장치 및 방법 |
US20120260304A1 (en) | 2011-02-15 | 2012-10-11 | Webroot Inc. | Methods and apparatus for agent-based malware management |
US9916257B2 (en) * | 2011-07-26 | 2018-03-13 | Intel Corporation | Method and apparatus for TLB shoot-down in a heterogeneous computing system supporting shared virtual memory |
AU2011369945B2 (en) * | 2011-10-27 | 2015-06-25 | Huawei Technologies Co., Ltd. | Method for Controlling Cache Mapping and Cache System |
US9081707B2 (en) * | 2012-12-29 | 2015-07-14 | Intel Corporation | Apparatus and method for tracking TLB flushes on a per thread basis |
US9411745B2 (en) | 2013-10-04 | 2016-08-09 | Qualcomm Incorporated | Multi-core heterogeneous system translation lookaside buffer coherency |
US9262337B2 (en) * | 2013-10-09 | 2016-02-16 | Microsoft Technology Licensing, Llc | Dynamically determining a translation lookaside buffer flush promotion threshold value |
RU2547636C1 (ru) * | 2013-12-30 | 2015-04-10 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" | Устройство для преобразования виртуальных адресов в физические адреса |
KR102168169B1 (ko) | 2014-01-07 | 2020-10-20 | 삼성전자주식회사 | 비휘발성 메모리 시스템의 메모리 맵핑 방법 및 이를 제공하는 시스템 |
US9886391B2 (en) | 2014-03-20 | 2018-02-06 | International Business Machines Corporation | Selective purging of PCI I/O address translation buffer |
US11281481B2 (en) | 2014-07-25 | 2022-03-22 | Intel Corporation | Using a plurality of conversion tables to implement an instruction set agnostic runtime architecture |
EP3172665A4 (en) * | 2014-07-25 | 2018-03-28 | INTEL Corporation | Using a conversion look aside buffer to implement an instruction set agnostic runtime architecture |
US11288205B2 (en) * | 2015-06-23 | 2022-03-29 | Advanced Micro Devices, Inc. | Access log and address translation log for a processor |
CN107615244B (zh) | 2015-06-26 | 2021-07-13 | 英特尔公司 | 在虚拟机上运行一个或多个容器的技术 |
US9898226B2 (en) * | 2015-10-28 | 2018-02-20 | International Business Machines Corporation | Reducing page invalidation broadcasts in virtual storage management |
US10942683B2 (en) | 2015-10-28 | 2021-03-09 | International Business Machines Corporation | Reducing page invalidation broadcasts |
US10261916B2 (en) * | 2016-03-25 | 2019-04-16 | Advanced Micro Devices, Inc. | Adaptive extension of leases for entries in a translation lookaside buffer |
US10078588B2 (en) * | 2016-03-25 | 2018-09-18 | Advanced Micro Devices, Inc. | Using leases for entries in a translation lookaside buffer |
US10067870B2 (en) | 2016-04-01 | 2018-09-04 | Intel Corporation | Apparatus and method for low-overhead synchronous page table updates |
US10120814B2 (en) * | 2016-04-01 | 2018-11-06 | Intel Corporation | Apparatus and method for lazy translation lookaside buffer (TLB) coherence |
KR102611292B1 (ko) | 2016-06-22 | 2023-12-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10082969B2 (en) * | 2017-01-26 | 2018-09-25 | Reduxio Systems Ltd. | System and method for managing a storage system |
US10552338B2 (en) * | 2017-02-21 | 2020-02-04 | Arm Limited | Technique for efficient utilisation of an address translation cache |
US10120813B2 (en) * | 2017-03-08 | 2018-11-06 | Arm Limited | Address translation |
US10540291B2 (en) * | 2017-05-10 | 2020-01-21 | Intel Corporation | Tracking and managing translation lookaside buffers |
US10725932B2 (en) | 2017-11-29 | 2020-07-28 | Qualcomm Incorporated | Optimizing headless virtual machine memory management with global translation lookaside buffer shootdown |
CN110392084B (zh) * | 2018-04-20 | 2022-02-15 | 伊姆西Ip控股有限责任公司 | 在分布式系统中管理地址的方法、设备和计算机程序产品 |
CN109828932B (zh) * | 2019-02-18 | 2020-12-18 | 华夏芯(北京)通用处理器技术有限公司 | 一种地址微调加速系统 |
US11275697B2 (en) * | 2019-05-31 | 2022-03-15 | Apple Inc. | Translation lookaside buffer invalidation for merged invalidation requests across power boundaries |
CN113296685B (zh) * | 2020-05-29 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、计算机可读存储介质 |
US11995459B2 (en) * | 2020-08-25 | 2024-05-28 | VMware LLC | Memory copy during virtual machine migration in a virtualized computing system |
US11620235B1 (en) * | 2021-10-04 | 2023-04-04 | International Business Machines Corporation | Validation of store coherence relative to page translation invalidation |
US11853574B1 (en) * | 2022-06-21 | 2023-12-26 | Dell Products L.P. | Container flush ownership assignment |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5642072B2 (ja) | 1975-02-21 | 1981-10-02 | ||
US4053948A (en) | 1976-06-21 | 1977-10-11 | Ibm Corporation | Look aside array invalidation mechanism |
US4779188A (en) * | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
JPS6324337A (ja) | 1986-07-01 | 1988-02-01 | Yokogawa Hewlett Packard Ltd | キャッシュ・メモリ管理方式 |
JP2931636B2 (ja) | 1990-06-08 | 1999-08-09 | 富士通株式会社 | データ処理装置 |
US5317705A (en) * | 1990-10-24 | 1994-05-31 | International Business Machines Corporation | Apparatus and method for TLB purge reduction in a multi-level machine system |
JPH05225063A (ja) | 1992-02-14 | 1993-09-03 | Nec Corp | バッファメモリのクリア方式 |
US5428757A (en) * | 1992-04-29 | 1995-06-27 | International Business Machines Corporation | Method for reducing translation look aside buffer purges in a multitasking system |
US5455922A (en) * | 1992-07-28 | 1995-10-03 | International Business Machines Corporation | Dynamic validity facility for fast purging of translation bypass buffers |
US5437017A (en) * | 1992-10-09 | 1995-07-25 | International Business Machines Corporation | Method and system for maintaining translation lookaside buffer coherency in a multiprocessor data processing system |
JPH06243043A (ja) | 1993-02-19 | 1994-09-02 | Kofu Nippon Denki Kk | アドレス変換バッファのエントリクリア装置 |
ATE419586T1 (de) * | 1995-02-13 | 2009-01-15 | Intertrust Tech Corp | Systeme und verfahren zur gesicherten transaktionsverwaltung und elektronischem rechtsschutz |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5787476A (en) * | 1995-05-05 | 1998-07-28 | Silicon Graphics, Inc. | System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer |
US5721858A (en) * | 1995-12-12 | 1998-02-24 | International Business Machines Corporation | Virtual memory mapping method and system for memory management of pools of logical partitions for bat and TLB entries in a data processing system |
JP2916421B2 (ja) * | 1996-09-09 | 1999-07-05 | 株式会社東芝 | キャッシュフラッシュ装置およびデータ処理方法 |
JP2000067009A (ja) | 1998-08-20 | 2000-03-03 | Hitachi Ltd | 主記憶共有型マルチプロセッサ |
US6393525B1 (en) * | 1999-05-18 | 2002-05-21 | Intel Corporation | Least recently used replacement method with protection |
US6510508B1 (en) * | 2000-06-15 | 2003-01-21 | Advanced Micro Devices, Inc. | Translation lookaside buffer flush filter |
TWI230897B (en) * | 2001-04-20 | 2005-04-11 | Ibm | Method for sharing a translation lookaside buffer between CPUs |
US7565509B2 (en) * | 2002-04-17 | 2009-07-21 | Microsoft Corporation | Using limits on address translation to control access to an addressable entity |
US6986006B2 (en) * | 2002-04-17 | 2006-01-10 | Microsoft Corporation | Page granular curtained memory via mapping control |
US7058768B2 (en) * | 2002-04-17 | 2006-06-06 | Microsoft Corporation | Memory isolation through address translation data edit control |
US7478235B2 (en) * | 2002-06-28 | 2009-01-13 | Microsoft Corporation | Methods and systems for protecting data in USB systems |
-
2003
- 2003-11-26 US US10/723,823 patent/US7069389B2/en not_active Expired - Fee Related
-
2004
- 2004-08-13 AT AT04019312T patent/ATE457495T1/de not_active IP Right Cessation
- 2004-08-13 EP EP04019312A patent/EP1536341B1/en not_active Not-in-force
- 2004-08-13 DE DE602004025442T patent/DE602004025442D1/de active Active
- 2004-09-16 BR BRPI0404015A patent/BRPI0404015B1/pt not_active IP Right Cessation
- 2004-10-04 CA CA2483938A patent/CA2483938C/en not_active Expired - Fee Related
- 2004-10-07 KR KR1020040079969A patent/KR100918530B1/ko active IP Right Grant
- 2004-10-08 AU AU2004218704A patent/AU2004218704B2/en not_active Ceased
- 2004-10-18 CN CNB200410088261XA patent/CN100424657C/zh not_active Expired - Fee Related
- 2004-10-19 JP JP2004304748A patent/JP3944504B2/ja not_active Expired - Fee Related
- 2004-11-12 MX MXPA04011270A patent/MXPA04011270A/es active IP Right Grant
- 2004-11-25 RU RU2004134452/09A patent/RU2361267C2/ru not_active IP Right Cessation
-
2006
- 2006-02-03 US US11/346,635 patent/US7287124B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050114607A1 (en) | 2005-05-26 |
KR100918530B1 (ko) | 2009-09-21 |
BRPI0404015A (pt) | 2005-07-12 |
EP1536341B1 (en) | 2010-02-10 |
MXPA04011270A (es) | 2005-05-30 |
CN1622060A (zh) | 2005-06-01 |
DE602004025442D1 (de) | 2010-03-25 |
US7069389B2 (en) | 2006-06-27 |
RU2361267C2 (ru) | 2009-07-10 |
AU2004218704A1 (en) | 2005-06-09 |
EP1536341A2 (en) | 2005-06-01 |
CA2483938C (en) | 2015-05-12 |
RU2004134452A (ru) | 2006-05-10 |
ATE457495T1 (de) | 2010-02-15 |
KR20050051540A (ko) | 2005-06-01 |
CN100424657C (zh) | 2008-10-08 |
AU2004218704B2 (en) | 2010-02-18 |
CA2483938A1 (en) | 2005-05-26 |
US20060161734A1 (en) | 2006-07-20 |
BRPI0404015B1 (pt) | 2017-01-31 |
EP1536341A3 (en) | 2006-10-25 |
JP2005158040A (ja) | 2005-06-16 |
US7287124B2 (en) | 2007-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3944504B2 (ja) | 変換索引バッファのレイジー・フラッシング | |
US7287140B1 (en) | System and technique for fine-grained computer memory protection | |
US7930513B2 (en) | Writing to asymmetric memory | |
JP4772795B2 (ja) | 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上 | |
US8028341B2 (en) | Providing extended memory protection | |
US8209510B1 (en) | Secure pool memory management | |
US7543131B2 (en) | Controlling an I/O MMU | |
US7516247B2 (en) | Avoiding silent data corruption and data leakage in a virtual environment with multiple guests | |
US7480784B2 (en) | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) | |
KR20070052334A (ko) | 계층적 변환 테이블을 이용하는 입력/출력 장치들을 위한어드레스 변환 | |
JP5583274B2 (ja) | コンピュータ・メモリを管理する方法、対応するコンピュータ・プログラム製品、およびそのためのデータ・ストレージ・デバイス | |
GB2260006A (en) | Memory management unit having cross-domain control | |
JP5115332B2 (ja) | エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 | |
US10909045B2 (en) | System, method and apparatus for fine granularity access protection | |
KR20220156028A (ko) | 메모리 액세서 무효화 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061110 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061110 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20061110 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20061127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070226 |
|
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: 20070309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070409 |
|
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: 20110413 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |