JP2016521425A - ページ・テーブル・データ管理 - Google Patents

ページ・テーブル・データ管理 Download PDF

Info

Publication number
JP2016521425A
JP2016521425A JP2016513430A JP2016513430A JP2016521425A JP 2016521425 A JP2016521425 A JP 2016521425A JP 2016513430 A JP2016513430 A JP 2016513430A JP 2016513430 A JP2016513430 A JP 2016513430A JP 2016521425 A JP2016521425 A JP 2016521425A
Authority
JP
Japan
Prior art keywords
page
write
permission flag
access
write permission
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
Application number
JP2016513430A
Other languages
English (en)
Other versions
JP6314212B2 (ja
Inventor
グリセンスウェイト、リチャード、ロイ
エヴァンス、マシュー、ルシアン
Original Assignee
エイアールエム リミテッド
エイアールエム リミテッド
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 エイアールエム リミテッド, エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2016521425A publication Critical patent/JP2016521425A/ja
Application granted granted Critical
Publication of JP6314212B2 publication Critical patent/JP6314212B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine

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)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

メモリ・アドレス空間内の各ページに対するページ・テーブル・データは、書き込み許可フラグ及びダーティ・ビット修飾フラグを含む。書き込み許可フラグは、書き込みアクセスが許可されていないことを示す値に初期化される。書き込みアクセスが発生した場合、ダーティ・ビット修飾フラグは、書き込み許可フラグの動作が無効にされ得るか否かを示す。書き込み許可フラグの動作が無効にされ得る場合、書き込みアクセスが許可され、且つ、書き込み許可フラグが、書き込みアクセスがこれ以降許可されることを示すように変更される。書き込み許可フラグが、書き込みが許可されていることを示すページは、ダーティ・ページである。

Description

本発明は、データ処理システムの分野に関する。より詳細には、本発明は、このようなデータ処理システム内のページ・テーブル・データの管理に関する。
メモリの領域を管理するためにページ・テーブル・データをデータ処理システムに提供することが知られている。例えば、このようなページ・テーブル・データは、仮想アドレスと物理アドレス間の対応付け、データのページヘのアクセス権限、及びページがキャッシュ可能か否かなどといった、データのページについてのその他のプロパティを指定することができる。作業メモリ内に、例えばハードディスクなどの不揮発性記憶装置からコピーされた後にデータのページが変更されていることを示すダーティ・ビット情報をページ・テーブル・データ内に含むことが知られている。このようなダーティ・ビット情報は、データのページが作業用メモリから除去され、且つ不揮発性記憶装置へ返却される場合に、このページに対するダーティ・ビットが、ページが変更されていないことを示している場合、このデータのページを不揮発性記憶装置にコピーする必要がないので有益である。さらに、このようなダーティ・ビット情報は、データの新規ページのページイン(不揮発性記憶装置から作業用メモリへのコピー)が望まれる場合に、ページアウト(作業用メモリから不揮発性記憶装置へのコピーバック)されるべき有力な候補を特定するために使用され得る。
このようなダーティ・ビット情報を管理する1つの方法は、最初の書き込みアクセスがメモリのページ内のメモリ・アドレスに対してなされた時に、メモリのページに関するダーティ・ビット情報を更新する能力を備えたメモリ管理ユニット・ハードウェアを提供することである。このようなページ・テーブル・データ内のダーティ・ビット情報のハードウェア・ベースの更新は、速度面の利点を有するが、ハードウェアの複雑さを増加させる。
メモリ・アドレス空間内のメモリのページのダーティ状態の管理のための別の手法は、ソフトウェア・ベースの管理を使用することである。この技術では、ページインされるそれぞれの新規ページは、読み取り専用としてマークされる。このページに対して書き込みが行われようとすると、ソフトウェア例外が発生する。そこで、ソフトウェア例外処理プログラムは、このページが書き込みを許可されているか否かを決定することができる。書き込みが許可される場合、ページの状態は、書き込み許可に変更され、且つページは、ダーティとマークされる。このページへの書き込みが許可されていない場合、さらに、書き込み許可失敗例外が通常の方法で処理される。このようなソフトウェア・ベースの管理技術は、データのページへの最初の書き込みを捕捉し、ページにダーティとマークする働きをする。その後、ページは、例外を発生することなく書き込みを許可するようにマークされ、したがって、その後の書き込み動作が遅くなることはない。この手法に伴う問題は、例外を引き起こす書き込みを発生させる処理回路が、通常、ソフトウェア例外処理要求を実行する能力を備えている必要があるということである。例外処理コードの実行を回路自体が取り扱うこの能力を備えていない処理回路は、代わりとなって例外処理を実行することになる異なる処理回路に対する割り込みを引き起こすことになろう。しかしながら、この手法は低速である。
従来技術の更なる問題は、同一のページ・テーブル・データを共有するシステム、例えば、共有仮想メモリ・システム内に、ダーティ状態のハードウェア・ベースの管理とダーティ状態のソフトウェア・ベースの管理とを組み合わせることができないということである。ハードウェア・ベースの手法は、該当ページに対する最初の書き込み時に行われたダーティ状態へのハードウェア・ベースの更新によって、ページが最初から書き込みが許可されているものと適切にマークされていることに依存している。これに対して、ソフトウェア・ベースの手法は、ページが最初に作業用メモリに置かれた時、ページが、書き込みが許可されていないとマークされていることに依存し、この状態は、例外を引き起こし、且つ書き込みが許可されているとマークされているページに変更するために使用され、且つダーティ状態は、当該ページに最初にアクセスした時に設定される。このように、ページ・テーブル・データの使用は、これらの2つの手法間で互換性がない。
本発明は、ある態様から見ると、データを処理するための装置であって、
メモリ・アドレス空間内のメモリのページに関連したアクセス管理パラメータ指定するページ・テーブル・データを管理するように構成された処理回路を備え、
各メモリのページに対して、前記アクセス管理パラメータが、
書き込みアクセスが前記ページに対して許可されているか否かを示す書き込み許可フラグと、
前記書き込み許可フラグが書き込みアクセスが前記ページに対して許可されていないことを示す場合、前記ページに対する書き込みアクセスを許可し、且つ、書き込みアクセスが前記ページに対して許可されていることを示すように前記書き込み許可フラグを変更するために、前記書き込み許可フラグの動作を無効にすることが許可されるか否かを示すダーティ・ビット修飾フラグと、
を含む、装置を提供する。
本技術は、共有されたページ・テーブル・データ内のダーティ状態のソフトウェア・ベースの管理及び共有されたページ・テーブル・データ内のダーティ状態のハードウェア・ベースの管理の両者を用いる異種混合システムをサポートすることが可能であることが望ましいことを認識している。これらの手法の両者を同時にサポートするために、本技術は、書き込み許可フラグそれ自身は、書き込みアクセスが許可されていないことを示す場合、書き込み許可フラグの動作が書き込みアクセスを許可するために無効にされ得て、且つ、書き込みアクセスが許可されていることを示す書き込み許可フラグを変更することを示すダーティ・ビット修飾フラグを追加している。このように、ダーティ・ビット修飾フラグは、書き込み許可フラグを修飾し、書き込み許可が本当に許可されていないか否か、又はページヘの最初のアクセスを捕捉すること、したがって、ページのダーティ状態のソフトウェア・ベースの管理を許可する目的が許可されていないか否かを示す。
通常、ページのダーティ状態のハードウェア・ベースの管理を実行するメモリ管理ユニット、すなわちハードウェア更新メモリ管理回路は、ダーティ・ビット修飾フラグを利用するために修正が必要となる。具体的には、このようなハードウェア更新メモリ管理回路は、書き込み許可フラグに関連したダーティ・ビット修飾フラグを読み出し、且つダーティ・ビット修飾フラグが書き込み許可フラグの動作が無効にされ得ることを示す場合、実行されるべき書き込みアクセスを許可すること、及びハードウェア制御動作として(すなわち、何らのソフトウェアの実行も要求しない)書き込みアクセスが許可されることを示すように書き込み許可フラグを変更することにより、書き込みアクセスが許可されていないことを示す書き込み許可を持つページに対する書き込みアクセスの発生に応答するように形成される。
ページ・テーブル・データの整合性を保護するためには、ハードウェア更新メモリ管理ユニットが、ダーティ・ビット修飾子及び書き込み許可フラグを含むページ・テーブル・データの読み込み、及び変更された書き込み許可フラグを持つページ・テーブル・データをアトミック操作として書き込むことを実行する、すなわち、如何なるエージェントも読み込みと書き込みの間にページ・テーブル・データを修正することができないように2つの動作が同時に完了するように構成されることが望ましい。このようなアトミック操作は、例えば、書き込み許可フラグ及びダーティ・ビット修飾フラグを含むページ・テーブル・データを更新するためにリード・モディファイ・ライト操作を使用することにより強制される。
このようなハードウェア更新メモリ管理回路と関連付けられ得る処理回路は、多様な異なる形態を取り得ることが理解されるであろう。このような形態の処理回路の実例には、ソフトウェア制御のもとで処理操作を実行するように構成され、且つハードウェア更新管理回路を使用してハードウェア制御データ管理を実行するように構成される汎用プロセッサが含まれる。その他の実例には、それぞれハードウェア制御ページ・テーブル・データ管理を実行するように構成された、グラフィック処理ユニット及び/又はダイレクト・メモリ・アクセス・ユニットが含まれる。
他の実施例では、1つ又は複数のソフトウェア更新メモリ管理回路のインスタンスをハードウェア更新メモリ管理回路の替わりに、又は組み合わせて利用することができる。このようなソフトウェア更新メモリ管理回路は、ソフトウェア管理の例外処理が書き込み許可フラグの変更を含むソフトウェア管理の例外処理を起動することにより、書き込みアクセスが許可されていないことを示す書き込み許可フラグを有するページに対する書き込みアクセスに応答する。このようなソフトウェア管理の例外処理は、ソフトウェアが、書き込み許可フラグが変更されるべきであるか否かを示すその他の情報にアクセスすることができるので、書き込み許可フラグが変更されるべきであるか否かを決定するためにダーティ・ビット修飾フラグを読み込むことも、読み込まないこともできる。しかしながら、ダーティ・ビット修飾フラグの読み込みは、ソフトウェア更新メモリ管理回路が、書き込み許可フラグが変更され、且つ書き込みが許可されるべきであるか否かを決定するための高速な方法であろう。ソフトウェア更新メモリ管理回路は、書き込み許可フラグを修正し、且つ、それによってページのダーティ状態を捕捉することに関する限りは、少なくとも部分的には、ページ・テーブル・データの更新を管理するソフトウェアを実行する汎用目的プロセッサを含むことができる。
いくつかの実施例では、ページ・テーブル・データを管理する処理回路は、上記の技術に従って書き込み許可フラグ及びダーティ・ビット修飾フラグを管理する能力含むオペレーティング・システム・プログラムを実行することができる。このような処理回路は、ソフトウェア制御の基で処理操作を実行して、これらの処理操作がソフトウェア制御のページ・テーブル・データ管理を含むように構成された汎用目的プロセッサを備えることができる。
前述のように、本技術は、ハードウェア更新メモリ管理回路の1つ又は複数のインスタンス、ソフトウェア更新メモリ管理回路の1つ又は複数のインスタンス、或いはこれらの混在したものを含むシステム内で用いられ得るであろう。仮想アドレス空間を共有し、したがってページ・テーブル・データを共有することが望ましいその他の回路素子と混在され得る、様々な異なるシステム・オン・チップ集積回路内に展開され得る、単一設計の回路ブロック有することが望ましいので、システムが異種混合(すなわち、ハードウェア更新メモリ管理回路及びソフトウェア更新メモリ管理回路の混在したものを含むシステム)ではない場合にも本技術を利用する利点がある。さらに、均質なシステムでは、本技術は、異種混在システムとのソフトウェア互換性を改善することができる。
本技術の特有の利点は、同一のページ・テーブル・データを共有するソフトウェア更新メモリ管理回路及びハードウェア更新メモリ管理回路両者の組合せを利用する実施例において生起する。このような実施例では、ソフトウェア更新メモリ管理回路を用い、したがってプログラム命令を実行する能力を有する処理回路は、共有メモリ内のページ・テーブル・データを初期化する責任があって、この初期化が、一般に最も簡便に、初期ブート上といったソフトウェア・タスクとして実行されるということは、便利なことが多い。
書き込み許可フラグは、様々な異なる形態を取ることができ、フラグの意味に結び付けられた付加的な情報を有することができる。いくつかの実施例において、書き込み許可フラグは、ページヘの「読み取り専用」アクセス許可、又はページヘの「読み取り且つ書き込み」アクセス許可のいずれか1つを示すことができる。
本技術は、ページ・テーブル・データを使用してメモリ管理(変換)の所与の段階、例えば、オペレーティング・システム・プログラム及び等価的ハードウェア・ベースの制御を利用する段階に関連して使用され得る。本技術は、1つ又は複数のゲスト・オペレーティング・システムによるアクセスを管理するためのハイパーバイザー・ページ・テーブル・データ及びこれらの1つ又は複数のゲスト・オペレーティング・システムによる使用のためのオペレーティング・システム・ページ・テーブル・データ両者を含むシステム等の、複数段階のページ・テーブル・データを利用するシステム内で用いることができる。
ハイパーバイザー・ページ・テーブル・データを使用するシステムという文脈において、ハイパーバイザー・ページ・テーブル・データは、読み取りアクセスがページに対して許可されているか否かと独立にページヘの書き込みが許可されているか否かを示すために働くハイパーバイザー書き込み許可フラグを含むことができる。ハイパーバイザーという文脈において、ページヘの書き込みアクセスを提供するが、このページヘの読み取りアクセスは提供しないことが適切であり得る状況がある。
これまでに論じたように、ページ・テーブル・データは、管理されるべきデータのページに関する様々なその他の情報を提供する働きをすることができる。いくつかの実施例では、このページ・テーブル・データは、仮想メモリ・アドレス空間内のページの仮想アドレスと物理アドレス・ページ内のページの物理アドレスと間の対応付けをページに対して指定することができる。このことは、共有仮想アドレス・メモリとして、メモリ回路を支援する際に有用である。
本発明は、別の態様から見ると、データ処理のための装置であって、
メモリ・アドレス空間内のメモリのページに関連したアクセス管理パラメータを指定するページ・テーブル・データを管理するための手段を備え、
メモリの各ページに対して、前記アクセス管理パラメータが、
書き込みアクセスが前記ページに対して許可されているか否かを示す書き込み許可フラグと、
前記書き込み許可フラグが前記ページに対して書き込みアクセスが許可されていないことを示す場合に、前記ページに対する書き込みアクセスを許可し、且つ、書き込みアクセスが前記ページに対して許可されていることを示すように前記書き込み許可フラグを変更するために、前記書き込み許可フラグの動作を無効にすることが許可されているか否かを示すダーティ・ビット修飾フラグと、
を含む、装置を提供する。
本発明は、さらに別の態様から見ると、データを処理する方法であって、
ページに関連したアクセス管理パラメータを指定するページ・テーブル・データを使用してメモリ・アドレス空間内のメモリの前記ページへのアクセスを管理するステップを含み、
各メモリのページに対して、前記アクセス管理パラメータが、
書き込みアクセスが前記ページに対して許可されているか否かを示す書き込み許可フラグと、
前記書き込み許可フラグが前記ページに対して書き込みアクセスが許可されていないことを示す場合に、前記ページに対する書き込みアクセスを許可し、且つ、書き込みアクセスが前記ページに対して許可されていることを示すように前記書き込み許可フラグを変更するために、前記書き込み許可フラグの動作を無効にすることが許可されているか否かを示すダーティ・ビット修飾フラグと、
を含む、方法を提供する。
本発明は、添付の図面に説明される実施例を参照して、例としてのみ、さらに説明する。
共有ページ・テーブル・データを用いて仮想メモリ・アドレス空間を共有する処理回路の複数のインスタンスを含むデータ処理システムを示す図である。 ページ・テーブル・データのエントリを示す図である。 ハードウェア更新メモリ管理回路の複数のインスタンスを含むデータ処理システムを示す図である。 それぞれのページ・テーブル・データにより管理される複数段階の変換を用いるシステム内のハイパーバイザーとゲスト・オペレーティング・システムとアプリケーション・プログラムとの関係を示す図である。 ハイパーバイザー・ページ・テーブル・データの実例を示す図である。 ソフトウェア更新メモリ管理回路の動作を示す流れ図である。 ハードウェア更新メモリ管理回路の動作を示す流れ図である。 ページがダーティであるか否かを照会する場合に実行される処理を示す流れ図である。
図1は、汎用目的プロセッサ4、ダイレクト・メモリ・アクセス・ユニット6及びグラフィック処理ユニット8を備える複数インスタンスの処理回路を含むデータ処理システム2を示す図である。汎用目的プロセッサ4、ダイレクト・メモリ・アクセス・ユニット6及びグラフィック処理ユニット8は、汎用目的プロセッサ4、ダイレクト・メモリ・アクセス・ユニット6及びグラフィック処理ユニット8のそれぞれにより、共有のページ・テーブル・データ24を使用して仮想的にアドレス付けされる作業用メモリ10を共有する。
汎用目的プロセッサ4は、アプリケーション・プログラム14、16に代わってメモリ・アドレス空間のページへのアクセスを管理するオペレーティング・システム12を走行させるためにソフトウェア・プログラム命令を実行する。汎用目的プロセッサ4は、ソフトウェア更新メモリ管理回路18に供給される仮想メモリ・アドレス空間内の仮想アドレスを生成する。ソフトウェア更新メモリ管理回路18は、仮想対物理アドレス変換並びに実行されるべきメモリ・アクセスに関係した権限の検査を実行する。これらの権限は、書き込みアクセスが許可されているか否かを含むことができる。ソフトウェア更新メモリ管理回路18は、作業用メモリ10の物理アドレス空間内の物理アドレスを生成し、且つキャッシュ20へこのアドレスを引き渡す。メモリ・アクセスは、キャッシュ20から提供され得る、又は通常の技術に従ってメモリ10から提供され得る。作業用メモリ10は、ハードディスク・ドライブなどの不揮発性記憶装置22に結合されて、データのページは作業用メモリ10にハードディスク・ドライブ22からページイン及びページアウトされ得る。作業用メモリ10は、処理回路4、6、8のインスタンスのそれぞれにより共有されるページ・テーブル・データ24を格納する。
ダイレクト・メモリ・アクセス・ユニット6は、ハードウェア更新メモリ管理回路26により物理アドレスに変換される仮想アドレスを生成する。グラフィック処理ユニット8は、ハードウェア更新メモリ管理回路28により物理アドレスに変換されて、物理アドレスはキャッシュ・メモリ30を介して作業用メモリ10に引き渡される仮想アドレスを使用したメモリ・アクセスを生成する。書き込みアクセス要求に応答して、ハードウェア更新メモリ管理回路26、28のそれぞれは、以下に説明するように、書き込み許可フラグ及びダーティ・ビット修飾フラグに対してアトミック・ハードウェア更新操作を実行する。このようなアトミック操作は、操作の異なる部分が分割されない、例えば、ダーティ・ビット修飾子及び書き込み許可フラグを含むページ・テーブル・データの読み出し、並びに、変更された書き込み許可フラグを有するページ・テーブル・データの書き込みが、アトミック操作として実行される、すなわち、何らのエージェントも読み取り及び書き込みの間にページ・テーブル・データを修正できないように、2つの動作が同時に完了するというように、異なる部分の操作がすべて実行される、又は異なる部分の操作がすべて実行されないというものである。このようなアトミック操作の実装例は、リード・モディファイ・ライト操作である。ハードウェア更新メモリ管理回路26、28は、書き込み許可フラグ及びダーティ・ビット修飾フラグを読み出し、書き込み許可フラグを修正し、次いで書き込み許可フラグをページ・テーブル・データ24に書き戻す。これらの処理は、読み出しと書き込みとの間のページ・テーブル・データ変更の可能性を避けるために自動的に取り扱われる必要がある。
ソフトウェア更新メモリ管理回路18は、書き込みアクセスが実行されるべき場合、関係したデータのページに対する書き込み許可フラグを読み取る。この書き込み許可フラグを含むページ・テーブル・データは、作業用メモリ10から読み出される、又は、ソフトウェア更新メモリ管理回路18内に(例えば、トランスレーション・ルックアサイド・バッファ内に)キャッシュされ得る。書き込み許可フラグが、書き込みアクセスが許可されていないことを示している場合、ソフトウェア更新メモリ管理回路18は、ソフトウェア管理の例外処理を実行するために汎用目的プロセッサ4を起動するソフトウェア例外を発生させる。ソフトウェア管理の例外処理が、書き込みアクセスが適切になされるべきものである、すなわち、書き込み許可フラグが、書き込みアクセスが最初の書き込みアクセスを捕捉し、且つダーティ状態を設定する目的のために許可されていなかったと判定した場合、ソフトウェア管理の例外処理は、自動的に書き込みアクセスがそれ以降許可されることを示すように書き込み許可フラグを更新し、且つ、関係した書き込みアクセスを進めることができる。要求された書き込みアクセスが、純粋に進行させるべきではないものである場合、このような状況に応答する通常の例外処理が続けられる。オペレーティング・システム12は、このような例外処理を取り扱うことができる。ソフトウェア管理の例外処理は、書き込み許可フラグの動作が、書き込みアクセスを進めること許可し、且つ、書き込み許可フラグの更新を引き起こすように無効にされ得るか否かを判定するためにダーティ・ビット修飾フラグを利用することができる。或いは、ソフトウェア管理の例外処理は、書き込み許可フラグがその他のデータ又は機構を使用して無効にされ得るか否かを判定することができる。ダーティ・ビット修飾フラグは、必要に応じてこのような指示に対して迅速なアクセスを提供する。
ハードウェア更新メモリ管理回路26、28は、ダイレクト・アクセス・ユニット6及びグラフィック処理ユニット8のそれぞれ一方により、書き込みアクセスが求められているデータのページの書き込み許可フラグに関連したダーティ・ビット修飾フラグを読み取ることにより書き込みアクセスの発生に応答する。書き込み許可フラグが、書き込みアクセスが許可されていないことを示している場合、ダーティ・ビット修飾フラグに対して読み取られた値は、この書き込み許可フラグの動作が無効にされ得るか否かを示す。書き込み許可フラグの動作が無効にされるべきである場合、書き込みアクセスは許可され、且つハードウェア更新メモリ管理回路26、28は、将来のこのページに対する書き込みアクセスが許可されることを示すように書き込み許可フラグを変更する。このように、ダーティ・ビット修飾フラグは、ハードウェア更新メモリ管理回路26、28に対して、書き込み許可フラグが、ページヘの最初の書き込みアクセスを捕捉し、したがってページのダーティ状態を書き留める目的のために書き込みが許可されていないことを示すために設定されている、又は書き込みアクセスが、最初の書き込みの試み及びすべての後続の書き込みアクセスの試みの両者に対して書き込み許可フラグが変更されるまで当該ページに対して純粋に許可されるべきではないことから、そのように設定されているのか否かを示すように働く。
ページ・テーブル・データ内の書き込み許可フラグ及びダーティ・ビット修飾フラグの使用は、ソフトウェア更新メモリ管理回路18及びハードウェア更新メモリ管理回路26、28両者が、データ処理システム2内に同時に存在し、且つページ・テーブル・データ4を共有することを可能とすると共に、書き込みアクセスがソフトウェア更新メモリ管理回路18を介して、又はハードウェア更新メモリ管理回路26、28を介して発生するか否かに関わりなくページのダーティ状態を追跡し、且つ書き留める能力を維持することを許可する。
図2は、オペレーティング・システム12により初期化されるページ・テーブル・データのエントリを示す。このページ・テーブル・データのエントリは、仮想対物理アドレスの対応付けデータ32及びアクセス制御データ34などのデータを含む。アクセス制御データは、書き込み許可フラグAP[2]を含む。この書き込み許可フラグが「1」の値を有する場合、これはページに対する読み取り専用アクセスを示す。この書き込み許可フラグが「0」の値を有する場合、これは読み取り及び書き込みアクセスがページに対して許可されていることを示す。
また、アクセス制御データ34は、ダーティ・ビット修飾フラグDBMを含む。ダーティ・ビット修飾フラグが、「1」の値を有する場合、これは、書き込み許可フラグAP[2]の動作が無効にされ、且つ、書き込み許可フラグAP[2]の値が「1」であっても、書き込みアクセスが許可され得ることを示す。ダーティ・ビット修飾フラグの値が「0」である場合、書き込み許可フラグの動作の無効化は、許可されない。
図3は、各々がそれぞれハードウェア更新メモリ管理回路42、44を有し、これらによって通信が共有ページ・テーブル・データ48を含む共有メモリ46に対して行われる2つの汎用目的プロセッサ38、40を含むデータ処理システム36を示す。この例示的な実施例では、メモリの各ページに対するページ・テーブル・データ48は、これまでに説明したように、書き込み許可フラグ及びダーティ・ビット修飾フラグの両者を含む。書き込み許可フラグ及びダーティ・ビット修飾フラグの両者を含むページ・テーブル・データを利用することができるその他の形態のデータ処理システムは、ソフトウェア更新メモリ管理回路のみ、ハードウェア更新メモリ管理回路のみ、又は両者の混在を含むデータ処理システムを含む。
図4は、ハイパーバイザー50と2つのゲスト・オペレーティング・システム52、54とそれぞれのアプリケーション・プログラム56、58、60、62、64との間の関係を示す。ゲスト・オペレーティング・システム52、54は、ゲスト・オペレーティング・システムそれぞれのアプリケーション・プログラム56から64までの代わりにメモリのページへのアクセスを管理するためにオペレーティング・システムのページ・テーブル・データを使用する。このオペレーティング・システムのページ・テーブル・データは、仮想アドレスを物理アドレスに対応付けるデータ、並びにアクセス権限及びその他のメモリのページの特性を制御するデータを含む。
ハイパーバイザー50は、それぞれのゲスト・オペレーティング・システム52、54のためのメモリのページへのアクセスを管理するためにハイパーバイザー・ページ・テーブル・データを使用することができる。このハイパーバイザー・ページ・テーブル・データは、図5に示されており、オペレーティング・システム物理アドレスをハイパーバイザー物理アドレスへ対応付けるマッピング・データ66を含むことができる。ハイパーバイザー・ページ・テーブル・データ内のアクセス制御データ68は、ハイパーバイザー書き込み許可フラグHAP[2]を含む。ハイパーバイザー書き込み許可フラグが「1」の値を有する場合、これは、書き込みが関係するページに対して許可されていることを示す。ハイパーバイザー書き込み許可フラグの値が「0」であれば、これは、書き込みが該当ページに対して許可されていないことを示す。ハイパーバイザー書き込み許可フラグHAP[2]の動作は、(別のフラグで示され得る)読み取りアクセスが該当ページに対して許可されているか否かと無関係である。ハイパーバイザー・ページ・テーブル・データはまた、ハイパーバイザー書き込み許可フラグに関連したダーティ・ビット修飾フラグDBMを含む。ダーティ・ビット修飾フラグが「1」の値を有する場合、これは、ハイパーバイザー書き込み許可フラグの動作が無効にされ得ることを示す。同様に、ダーティ・ビット修飾フラグが「0」の値を有する場合、これは、ハイパーバイザー書き込み許可フラグの動作が無効にできないことを示す。
図6は、ソフトウェア更新メモリ管理回路18の動作を示す流れ図である。ステップ70において、処理は、ページヘの書き込みアクセスが受信されるまで待機する。次いで、ステップ72は、関係するデータのページに対する書き込み許可フラグを読み取る。ステップ74は、書き込み許可フラグが、書き込みが許可されていることを示しているか否かを判定する。書き込み許可フラグが、書き込みが許可されていることを示している場合、ステップ76は、この書き込みを実行し、処理はステップ70に戻る。書き込み許可フラグが、書き込みが許可されていないことを示している場合、ステップ78は、ソフトウェア例外を起動し、図1の汎用目的プロセッサ4などの、関連した処理回路が、ソフトウェア例外処理を実行するために起動される。ステップ80において、ソフトウェア例外処理は、任意選択で、ステップ72で得た書き込み許可フラグと関連したダーティ・ビット修飾フラグを読み出す。ステップ82は、書き込み許可フラグによって示された書き込み許可の無効化が許可されているか否かを判定する。無効にすることが許可されていない場合、ステップ84は、標準的技術に従って許可エラーとして処理を続行する。ステップ82が、無効にすることが許可されていることを示す場合、ステップ86は、書き込みが許可されていることを示すように書き込み許可フラグを変更する働きをし、書き込みアクセスが実行されるステップ76に進む。
図6の処理の全体的な動作は、ページ・テーブル・データが初期化された時、すべてのページに対する書き込み許可フラグが、読み出しアクセスのみが継続的にこれらのページに有効であることを意図しているか否かに関わりなく読み取り専用に設定されることである。最初の書き込みアクセスがページに対して発生した時、設定されたデフォルトの読み取り専用の許可は、呼び出されるべき図6のソフトウェア例外処理を起動する。このソフトウェア例外処理は、ダーティ・ビット修飾フラグ(又はその他のデータ)から、関係するメモリのページが、書き込み許可が真にブロックされるべきである、又は書き込み許可フラグが最初の書き込みアクセスを捕捉し、そこでページをダーティ(すなわち、ページが少なくとも1回の書き込みアクセスがそのページに対してなされた)として書き留める目的のために読み取り専用に設定されているものであるか否かを判定する。
図7は、ハードウェア更新メモリ管理回路26、28、42、44の動作を示す流れ図である。ステップ88において、処理はページヘの書き込みアクセスがなされるまで待機する。ステップ90において当該ページに対する書き込み許可フラグが読み取られる。ステップ92は、書き込み許可フラグが、書き込みが当該ページに対して許可されていることを示しているか否かを判定する。書き込みが許可されている場合、ステップ94は、書き込みを実行する。書き込みが、書き込み許可フラグにより示されるように許可されていない場合、ステップ95は、ページに対する対応するダーティ・ビット修飾フラグを読み取る。次いで、ステップ96は、ダーティ・ビット修飾フラグに基づいて、書き込み許可フラグの動作の無効化が許可されているか否かを判定する。無効にすることが許可されていない場合、ステップ98において、このような真の許可エラーを処理することができる汎用目的プロセッサに対する割り込みを起動することによるといった、許可エラーを起動する。
ステップ96における判定が、書き込み許可フラグの動作を無効にすることが許可されているということである場合、ステップ100は、該当ページに対する書き込み許可フラグを、書き込みが許可されていることを示すようにアトミックに設定されるように働き、次いで、処理は書き込みが実行されるステップ94に渡される。書き込みが許可されていることを示すための書き込み許可フラグのアトミック設定は、書き込み許可フラグの設定がダーティ・ビット修飾フラグの読み出し94と別々に実行され得ないというような態様で実行される。ハードウェア更新メモリ管理回路の動作のアトミックな特質は、リード・モディファイ・ライト操作を使用することによって達成され得る。
図8は、ページのダーティ状態を判定することができる方法を示す流れ図である。ステップ102は、ページのダーティ状態を照会する要求が受信されるまで待機する。次いで、ステップ104は、該当ページに対する書き込み許可フラグの値を判定する。書き込み許可フラグが、ステップ106において判定されて、書き込みが許可されていないことを示す場合、ステップ108は、ページがクリーンであるという表示を返送する。書き込み許可フラグが、書き込みが許可されていないことを示す値に初期化されたデフォルトと同じである場合、書き込み許可フラグが、書き込みが許可されていないことを示したままであるいずれのページも、書き込みがなされたことがないものである。最初の書き込みがページに対して実行されるたびに、最初の書き込みは、書き込みが許可されていないことを示す値から書き込みが許可されていることを示す値に、書き込み許可フラグを変更させる。したがって、少なくとも1回の書き込みが発生したページはいずれも、書き込みが許可されていることを示す書き込み許可フラグを有することになり、このことは、ステップ106において判定され、且つステップ110において報告される。

Claims (19)

  1. データを処理するための装置であって、
    メモリ・アドレス空間内のメモリのページに関連したアクセス管理パラメータを指定するページ・テーブル・データを管理するように構成された処理回路を備え、
    各メモリのページに対して、前記アクセス管理パラメータが、
    書き込みアクセスが前記ページに対して許可されているか否かを示す書き込み許可フラグと、
    前記書き込み許可フラグが書き込みアクセスが前記ページに対して許可されていないことを示す場合、前記ページに対する書き込みアクセスを許可し、且つ、書き込みアクセスが前記ページに対して許可されていることを示すように前記書き込み許可フラグを変更するために、前記書き込み許可フラグの動作を無効にすることが許可されるか否かを示す、ダーティ・ビット修飾フラグと、
    を含む、前記装置。
  2. 前記処理回路に結合されたハードウェア更新メモリ管理回路を備え、前記ハードウェア更新メモリ管理回路が、書き込みアクセスが前記ページに対して許可されていないことを示す書き込み許可フラグを有するページに対する前記処理回路による書き込みの発生に対して、前記書き込み許可フラグに関連した前記ダーティ・ビット修飾フラグを読み出し、且つ前記ダーティ・ビット修飾フラグが前記書き込み許可フラグの動作が無効にされることを許可されていることを示している場合に前記書き込みアクセスを許可し、且つハードウェア制御動作として前記書き込み許可フラグの前記変更を実行することにより、応答するように構成される、請求項1に記載の装置。
  3. 前記ハードウェア更新メモリ管理回路が、前記ダーティ・ビット修飾フラグの前記読み出し及び前記書き込み許可フラグの変更をアトミック操作として実行するように構成される、請求項2に記載の装置。
  4. 前記処理回路が、ハードウェア制御のページ・テーブル・データ管理を実行するように構成される、請求項2又は3に記載の装置。
  5. 前記処理回路が、
    ソフトウェア制御の下で処理動作を実行し、且つハードウェア制御のページ・テーブル・データ管理を実行するように構成された汎用目的プロセッサと、
    ハードウェア制御のページ・テーブル・データ管理を実行するように構成されたグラフィック処理ユニットと、
    ハードウェア制御のページ・テーブル・データ管理を実行するように構成されたダイレクト・メモリ・アクセス・ユニットと、
    の内の1つである、請求項2から4までのいずれか一項に記載の装置。
  6. 前記処理回路に結合されたソフトウェア更新メモリ管理回路を備え、前記ソフトウェア更新メモリ管理回路が、書き込みアクセスがページに対して許可されていないことを示す書き込み許可フラグを有する前記ページに対する前記処理回路による書き込みアクセスの発生に対して、ソフトウェア管理の例外処理を前記処理回路により起動することにより応答するように構成され、前記ソフトウェア管理の例外処理が前記書き込み許可フラグの前記変更を含む、請求項1から5までのいずれか一項に記載の装置。
  7. 処理回路が、前記書き込み許可フラグ及びダーティ・ビット修飾フラグを含む前記ページ・テーブル・データを管理するオペレーティング・システム・プログラムを実行するように構成される、請求項6に記載の装置。
  8. 前記処理回路が、ソフトウェア制御のページ・テーブル・データ管理を実行するように構成される、請求項6又は7に記載の装置。
  9. 前記処理回路が、ソフトウェア制御のページ・テーブル・データ管理を含むソフトウェア制御の下で処理動作を実行するように構成された汎用目的プロセッサを備える、請求項6から8までのいずれか一項に記載の装置。
  10. 前記処理回路が、第1の処理回路及び第2の処理回路を備え、
    前記第1の処理回路に結合されたソフトウェア更新メモリ管理回路であって、書き込みアクセスが前記ページに対して許可されていないことを示す書き込み許可フラグを有するページに対する前記処理回路による書き込みアクセスの発生に対して、前記書き込み許可フラグの前記変更を含む前記ソフトウェア管理の例外処理を前記処理回路により起動することにより応答するように構成されたソフトウェア更新メモリ管理回路と、
    前記第2の処理回路に結合されたハードウェア更新メモリ管理回路であって、書き込みアクセスが前記ページに対して許可されていないことを示す書き込み許可フラグを有するページに対する前記処理回路による書き込みアクセスの発生に対して、前記書き込み許可フラグに関連した前記ダーティ・ビット修飾フラグを読み出し、且つ、前記ダーティ・ビット修飾子が前記書き込み許可フラグの動作が無効にされることを許可されていることを示す場合に前記書き込みアクセスを許可し、且つハードウェア制御動作として前記書き込み許可フラグの前記変更を実行することにより、応答するように構成されたハードウェア更新メモリ管理回路と、
    を備える、請求項1から9までのいずれか一項に記載の装置。
  11. 前記第1の処理回路及び前記第2の処理回路により共有される共有メモリを備え、且つ、前記ページ・テーブル・データが前記共有メモリ内に格納される、請求項10に記載の装置。
  12. 前記第1の処理回路が、前記共有メモリ内の前記ページ・テーブル・データを初期化するように構成される、請求項11に記載の装置。
  13. 前記書き込み許可フラグの異なる値が、それぞれ、
    読み取り専用アクセス許可が前記ページに対して許可されていることと、
    読み取り及び書き込みアクセス許可が前記ページに対して許可されていることと、
    の内の1つを示す、請求項1から12までのいずれか一項に記載の装置。
  14. 前記ページ・テーブル・データが、1つ又は複数のオペレーティング・システムによるアクセスを管理するためのハイパーバイザー・ページ・テーブル・データ及び前記1つ又は複数のオペレーティング・システムのそれぞれのためのオペレーティング・システム・ページ・テーブル・データを含む、請求項1から13までのいずれか一項に記載の装置。
  15. 前記ハイパーバイザー・ページ・テーブル・データが、ハイパーバイザー書き込み許可フラグを含み、前記ハイパーバイザー書き込み許可フラグの異なる値が、それぞれ、
    書き込みアクセスが、読み取りアクセスが前記ページに対して許可されているか否かに関係なく前記ページに対して許可されていないことと、
    書き込みアクセスが、読み取りアクセスが前記ページに対して許可されているか否かに関係なく前記ページに対して許可されていることと、
    の内の1つを示す、請求項14に記載の装置。
  16. 前記ページ・テーブル・データが、前記ページに対して仮想メモリ・アドレス空間内の前記ページの仮想アドレスと物理アドレス空間内の前記ページの物理アドレスとの間の対応付けを指定する、請求項1から15までのいずれか一項に記載の装置。
  17. 共有仮想アドレス・メモリとして働くメモリ回路を備える、請求項16に記載の装置。
  18. データを処理するための装置であって、
    メモリ・アドレス空間内のメモリのページに関連したアクセス管理パラメータを指定するページ・テーブル・データを管理するための処理手段を備え、
    各メモリのページに対して、前記アクセス管理パラメータが、
    書き込みアクセスが前記ページに対して許可されているか否かを示す書き込み許可フラグと、
    前記書き込み許可フラグが書き込みアクセスが前記ページに対して許可されていないことを示す場合、前記ページに対する書き込みアクセスを許可し、且つ、書き込みアクセスが前記ページに対して許可されていることを示すように前記書き込み許可フラグを変更するために、前記書き込み許可フラグの動作を無効にすることが許可されるか否かを示すダーティ・ビット修飾フラグと、
    を含む、前記装置。
  19. データを処理する方法であって、
    ページに関連したアクセス管理パラメータを指定するページ・テーブル・データを使用したメモリ・アドレス空間内のメモリの前記ページへのアクセスを管理するステップを含み、
    各メモリのページに対して、前記アクセス管理パラメータが、
    書き込みアクセスが前記ページに対して許可されているか否かを示す書き込み許可フラグと、
    前記書き込み許可フラグが書き込みアクセスが前記ページに対して許可されていないことを示す場合、前記ページに対する書き込みアクセスを許可し、且つ、書き込みアクセスが前記ページに対して許可されていることを示すように前記書き込み許可フラグを変更するために、前記書き込み許可フラグの動作を無効にすることが許可されるか否かを示すダーティ・ビット修飾フラグと、
    を含む、前記方法。
JP2016513430A 2013-05-13 2014-03-12 ページ・テーブル・データ管理 Active JP6314212B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1308507.1 2013-05-13
GB1308507.1A GB2514107B (en) 2013-05-13 2013-05-13 Page table data management
US13/926,140 US9218302B2 (en) 2013-05-13 2013-06-25 Page table management
US13/926,140 2013-06-25
PCT/GB2014/050724 WO2014184515A1 (en) 2013-05-13 2014-03-12 Page table data management

Publications (2)

Publication Number Publication Date
JP2016521425A true JP2016521425A (ja) 2016-07-21
JP6314212B2 JP6314212B2 (ja) 2018-04-18

Family

ID=48672183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016513430A Active JP6314212B2 (ja) 2013-05-13 2014-03-12 ページ・テーブル・データ管理

Country Status (10)

Country Link
US (1) US9218302B2 (ja)
EP (1) EP2997477B1 (ja)
JP (1) JP6314212B2 (ja)
KR (1) KR102294562B1 (ja)
CN (1) CN105190571B (ja)
AR (1) AR096255A1 (ja)
GB (1) GB2514107B (ja)
IL (1) IL242154B (ja)
TW (1) TWI603195B (ja)
WO (1) WO2014184515A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3060992B1 (en) 2013-10-27 2019-11-27 Advanced Micro Devices, Inc. Input/output memory map unit and northbridge
US9785577B2 (en) * 2014-05-28 2017-10-10 Red Hat, Inc. Kernel key handling
US10558375B2 (en) * 2014-11-13 2020-02-11 Netapp, Inc. Storage level access control for data grouping structures
US20160179662A1 (en) * 2014-12-23 2016-06-23 David Pardo Keppel Instruction and logic for page table walk change-bits
US9619396B2 (en) 2015-03-27 2017-04-11 Intel Corporation Two level memory full line writes
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
GB2539433B8 (en) * 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
GB2539428B (en) * 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539429B (en) 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
US9817976B2 (en) * 2015-12-24 2017-11-14 Intel Corporation Techniques for detecting malware with minimal performance degradation
US10664183B1 (en) 2016-07-25 2020-05-26 Oracle International Corporation Method and apparatus for storing memory attributes
US10114768B2 (en) * 2016-08-29 2018-10-30 Intel Corporation Enhance memory access permission based on per-page current privilege level
GB2554442B (en) * 2016-09-28 2020-11-11 Advanced Risc Mach Ltd Apparatus and method for providing an atomic set of data accesses
GB2563009B (en) * 2017-05-25 2019-12-25 Advanced Risc Mach Ltd An apparatus and method for interpreting permissions associated with a capability
US20190050342A1 (en) * 2017-08-08 2019-02-14 Honeywell International Inc. Selective page tracking for process controller redundancy
CN109144432A (zh) * 2018-10-08 2019-01-04 郑州云海信息技术有限公司 一种非易失性内存储器页分配方法与装置
US10969980B2 (en) * 2019-03-28 2021-04-06 Intel Corporation Enforcing unique page table permissions with shared page tables
US11620233B1 (en) * 2019-09-30 2023-04-04 Amazon Technologies, Inc. Memory data migration hardware
US12114025B2 (en) * 2020-07-31 2024-10-08 Charter Communications Operating, Llc Video client management of video service feature flags
US11593275B2 (en) * 2021-06-01 2023-02-28 International Business Machines Corporation Operating system deactivation of storage block write protection absent quiescing of processors
US12013791B2 (en) * 2021-06-01 2024-06-18 International Business Machines Corporation Reset dynamic address translation protection instruction

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63193230A (ja) * 1987-01-22 1988-08-10 ナショナル・セミコンダクター・コーポレーション 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法
JPH0223458A (ja) * 1988-07-13 1990-01-25 Fujitsu Ltd アドレス変換テーブルのアクセス制御方式
JPH05250262A (ja) * 1991-07-29 1993-09-28 Motorola Inc マスキングされた保護間接ページ記述子を用いたデ−タ・プロセッサにおけるアドレス変換の方法および装置
US6073243A (en) * 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
JP2004527044A (ja) * 2001-03-30 2004-09-02 ミップス テクノロジーズ インコーポレイテッド コンピュータメモリ保護方式の拡張機構
US20070126756A1 (en) * 2005-12-05 2007-06-07 Glasco David B Memory access techniques providing for override of page table attributes
US20100162038A1 (en) * 2008-12-24 2010-06-24 Jared E Hulbert Nonvolatile/Volatile Memory Write System and Method
JP2012068741A (ja) * 2010-09-21 2012-04-05 Fujitsu Ltd メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504137B2 (ja) * 1988-09-27 1996-06-05 日本電気株式会社 メモリ書き込みプロテクト回路
DE19735948C1 (de) * 1997-08-19 1998-10-01 Siemens Nixdorf Inf Syst Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung
US6907600B2 (en) * 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US6854046B1 (en) 2001-08-03 2005-02-08 Tensilica, Inc. Configurable memory management unit
US20040268084A1 (en) * 2003-06-30 2004-12-30 Steve Longerbeam Protected RAM filesystem
US7353361B2 (en) * 2005-06-06 2008-04-01 International Business Machines Corporation Page replacement policy for systems having multiple page sizes
US7930513B2 (en) * 2006-11-04 2011-04-19 Virident Systems Inc. Writing to asymmetric memory
WO2009063536A1 (ja) * 2007-11-16 2009-05-22 Netcleus Systems Corporation タスク処理装置
WO2011140673A1 (en) 2010-05-11 2011-11-17 Intel Corporation Recording dirty information in software distributed shared memory systems
US8954959B2 (en) * 2010-09-16 2015-02-10 Red Hat Israel, Ltd. Memory overcommit by using an emulated IOMMU in a computer system without a host IOMMU
US9256552B2 (en) * 2011-11-21 2016-02-09 Cisco Technology, Inc. Selective access to executable memory
CN102591702B (zh) * 2011-12-31 2015-04-15 华为技术有限公司 虚拟化处理方法及相关装置和计算机系统
US9354916B2 (en) * 2012-11-29 2016-05-31 Red Hat Israel, Ltd. Detection of guest disk cache

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63193230A (ja) * 1987-01-22 1988-08-10 ナショナル・セミコンダクター・コーポレーション 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法
JPH0223458A (ja) * 1988-07-13 1990-01-25 Fujitsu Ltd アドレス変換テーブルのアクセス制御方式
JPH05250262A (ja) * 1991-07-29 1993-09-28 Motorola Inc マスキングされた保護間接ページ記述子を用いたデ−タ・プロセッサにおけるアドレス変換の方法および装置
US6073243A (en) * 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
JP2004527044A (ja) * 2001-03-30 2004-09-02 ミップス テクノロジーズ インコーポレイテッド コンピュータメモリ保護方式の拡張機構
US20070126756A1 (en) * 2005-12-05 2007-06-07 Glasco David B Memory access techniques providing for override of page table attributes
US20100162038A1 (en) * 2008-12-24 2010-06-24 Jared E Hulbert Nonvolatile/Volatile Memory Write System and Method
JP2012068741A (ja) * 2010-09-21 2012-04-05 Fujitsu Ltd メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置

Also Published As

Publication number Publication date
WO2014184515A1 (en) 2014-11-20
TW201502780A (zh) 2015-01-16
KR20160007549A (ko) 2016-01-20
EP2997477A1 (en) 2016-03-23
IL242154B (en) 2018-10-31
EP2997477B1 (en) 2021-09-01
TWI603195B (zh) 2017-10-21
AR096255A1 (es) 2015-12-16
KR102294562B1 (ko) 2021-08-27
US9218302B2 (en) 2015-12-22
CN105190571A (zh) 2015-12-23
GB2514107B (en) 2020-07-29
CN105190571B (zh) 2018-10-12
JP6314212B2 (ja) 2018-04-18
US20140337585A1 (en) 2014-11-13
GB2514107A (en) 2014-11-19
GB201308507D0 (en) 2013-06-19

Similar Documents

Publication Publication Date Title
JP6314212B2 (ja) ページ・テーブル・データ管理
US11074191B2 (en) Linear to physical address translation with support for page attributes
CN109564522B (zh) 控制对计算装置的存储器中的页的访问
RU2602793C2 (ru) Способ модификации разрешений на доступ к памяти в защищенной процессорной среде
JP5234794B2 (ja) データ処理装置および処理回路上で実行される仮想機械によるセキュア・メモリへのアクセス制御方法
US8127098B1 (en) Virtualization of real mode execution
US7783838B1 (en) Maintaining coherency of derived data in a computer system
US10169244B2 (en) Controlling access to pages in a memory in a computing device
TWI790242B (zh) 位址轉譯資料的無效化
US8458438B2 (en) System, method and computer program product for providing quiesce filtering for shared memory
EP4315079A1 (en) Migrating pages of memory accessible by input-output devices
US20200167291A1 (en) Dynamic remapping of virtual address ranges using remap vector
IL263204A (en) Confirmation control for teaching conditional memory access software
WO2013088818A1 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
EP4272081A1 (en) Migrating pages of memory accessible by input-output devices
CN116249972A (zh) 一种内存保护方法及保护代理控制装置
US11009841B2 (en) Initialising control data for a device
US20240220417A1 (en) Segmented non-contiguous reverse map table
KR100677621B1 (ko) 미리 구성된 tlb를 이용한 부팅 속도 개선 방법 및 장치
Bhattacharjee et al. Heterogeneity and Virtualization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180326

R150 Certificate of patent or registration of utility model

Ref document number: 6314212

Country of ref document: JP

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250