JP6738354B2 - アドレス変換 - Google Patents
アドレス変換 Download PDFInfo
- Publication number
- JP6738354B2 JP6738354B2 JP2017564105A JP2017564105A JP6738354B2 JP 6738354 B2 JP6738354 B2 JP 6738354B2 JP 2017564105 A JP2017564105 A JP 2017564105A JP 2017564105 A JP2017564105 A JP 2017564105A JP 6738354 B2 JP6738354 B2 JP 6738354B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- page
- target
- physical address
- entry
- 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
Links
- 230000008859 change Effects 0.000 title claims description 14
- 238000000034 method Methods 0.000 claims description 299
- 230000008569 process Effects 0.000 claims description 262
- 238000012545 processing Methods 0.000 claims description 50
- 238000013507 mapping Methods 0.000 claims description 24
- 238000013519 translation Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 2
- 238000012790 confirmation Methods 0.000 description 8
- 230000001066 destructive effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012508 change request Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 208000002343 primary orthostatic tremor Diseases 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 230000002747 voluntary effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- 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]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- 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/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- 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/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/681—Multi-level TLB, e.g. microTLB and main TLB
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)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
第1アドレスを、データストア内の対応するロケーションを直接的に識別する物理アドレスへと変換するアドレス変換回路と、
物理アドレスによってインデックスされた1つ以上のエントリを含むテーブルとを備えるデータ処理装置であって、
エントリの少なくとも1つが、アドレス変換回路によって対応する物理アドレスに変換された第1アドレスを識別する、データ処理装置が提供される。
第1アドレスを、データストア内の対応するロケーションを直接的に識別する物理アドレスへと変換する手段と、
物理アドレスによってインデックスされた1つ以上のエントリを格納する手段とを備えるデータ処理装置であって、
エントリの少なくとも1つが、変換する手段によって対応する物理アドレスに変換された第1アドレスを指定するデータ処理装置が提供される。
対象第1アドレスを指定するアクセス要求に応じて、対象第1アドレスを、データストア内の対応するロケーションを直接的に識別する対象物理アドレスへと変換することと、
それぞれが物理アドレスに対応する1つ以上のエントリを含むテーブルにアクセスして、アドレス変換回路によって対応する物理アドレスに変換された第1アドレスを識別することと、
アクセス要求によって指定される対象第1アドレスと、対象物理アドレスに対応するテーブルのエントリ内で指定される第1アドレスとの間に不一致があるかどうかを判断することとを含むデータ処理方法が提供される。
・無効(Invalid):このBDIDにはまだブラインドドメインが設定されていない。
・消去(Scrub):BDIDはセキュリティコンプレックス28によって請求されている(後述のように、これには、事前に同じBDIDを使用したプロセスと関連付けられたメモリ34内の任意のデータを上書きする上書き手続きを行うことが含まれてもよい)。
・準備(Prepare):セキュリティコンプレックス28は、そのBDIDと関連付けられたBDを初期化して、BDを実行する準備をしている。
・実行(Execute):BDは初期化されていて、実行の準備が完了しているか既に実行されている。
例えば、BDDT42は各BDIDに対して2ビットの状態フィールドを指定して、対応するブラインドドメインの状態を識別してもよい。ブラインドドメインの状態のライフサイクルを以下により詳しく説明する。ASIDによって識別されたアプリケーションに対するBDDTエントリは、所定の仮想マシン4のVMIDを、その仮想マシン4の下で実行されるアプリケーション6のASIDにマッピングするVMID‐ASID間接テーブル(VMID-to-ASID indirection table)を用いて追跡されてもよい。なお、BDDT42が、上記の状態識別子だけでなく、所定のBDと関連付けられた他の情報も含んでもよいことが理解されよう。
・対応する物理ページを所有するBDのBDIDを指定する所有者BDIDフィールド54。
・対応する物理ページへのアクセスを制御する1つ以上の属性を指定する属性フィールド(attribute field)56。これらの属性は、BDIDフィールド54内で識別される所有者BDによって設定される。
・アドレスフィールド58。その所有者BDが仮想アドレス又は中間物理アドレスを使用するページ(例えばアプリケーション6及び12や仮想マシン4)に対して、そのページが所有者BDによって請求されたときに、アドレスフィールド58は、対応する物理ページの物理アドレスにマッピングされるVA又はIPAを指定する。
・(図2には示されていない)ページ状態フィールド。対応するページの状態を示す。例えば、各物理ページは以下の状態の1つであってもよい。
○無効(Invalid):どのBDにも所有されていない。
○請求(Claiming):BDIDフィールド54内で示されるBDによって請求されているプロセス内にあるが、まだ所有が有効でない。
○有効(Valid):BDIDフィールド54内で示されるBDによる所有が有効である。
・任意で、ページの所有権を請求した場合に行われる上書きプロセスの際に上書きされたページの行数を追跡する(以下により詳しく説明される)請求カウントフィールド(claim count field)60。
また、CPU24又はGPU25のレジスタ内又はメモリ34内のスタック構造内といった異なるロケーション内に請求カウンター(claim counter)60を格納することも可能であり、これによって、必要に応じて、請求カウントフィールド60をPOT50から省略できる。
・所有者BDID以外のどのプロセスがページにアクセスできるかを示す共有属性。例えば、共有属性は以下のページのタイプの1つを指定できる。
○プライベート(Private):BDIDフィールド54内で識別された所有者BDのみがページにアクセスできる。
○IO:BDIDフィールド54内で識別された所有者BD及び、所有者BDによって請求されている任意の装置26のみがページにアクセスできる(後述の装置所有権の請求を参照)。
○共有(Shared):所有者BD及び1つ以上の選択された他のBDがページにアクセスできるが、その他のBDはいずれもアクセスできない。選択された他のBDは、属性フィールド56の更なる属性、又はページ所有権テーブル50とは別に格納された制御データによって識別できる。
○グローバル(Global):どのBDもページにアクセスできる。
・所有者BD以外のBDがページへのアクセスを許可された場合、そのBDがページに対する読み取り専用のアクセスを有しているか、読み取り/書き込みアクセスのどちらも有しているかを示す、読み取り/書き込み属性。
・対応する物理ページに書き込まれるデータに適用される暗号のレベルを示す暗号属性。
・BDMU60は現在のコンテキストBD(そこからトランザクションが生成されたBD)がBDDT42内の有効コンテキストであるかどうかを確認する。例えば、BDDT60は、VMID74及びASID73から現在のコンテキストBDのBDIDを形成して、対応するBDIDがBDDT42内で「実行」状態としてマークされているかどうかを確認する。
・BDMU60は、現在のコンテキストBDが、物理アドレス76に対応するPOTエントリ52内で所有者BD54として示されているかどうかを確認する。
・現在のコンテキストBDが所有者BDでない場合、BDMU60は、(上記の共有属性を用いて)現在のコンテキストBDがページにアクセスするのを所有者BDに許可されているかどうかを確認する。
・現在のコンテキストBDが所有者BDでない場合、BDMU60は、対応するPOTエントリの読み取り/書き込み属性を確認して、属性72で指定されたタイプのトランザクションが所有者BDに許可されているかどうかを判断する。
・現在のコンテキストBDが所有者BDである場合、BDMU60は、入力トランザクションが行われたVA70又はIPA75が、対応するPOTエントリ52のアドレスフィールド58内のVA/IPAと合致するかどうかを確認する。
・また、BDMU60は、現在のアクセスに対してS1ページテーブルエントリ内で指定された想定の共有属性が、対応するPOTエントリ内で指定された実際の共有属性と合致するかどうかも確認する。
これらのうちいずれかの確認が取れなかった場合、アクセスは拒否され、アクセス違反が生じる。それ以外の場合は、物理的アドレストランザクションは承認され、システムバス30へと出力される。なお、上記の確認が任意の順序で行われたり、少なくとも部分的に並列に行われたりしてもよいことが理解されよう。
IPA PA
IPA4 PA1
IPA9 PA0
そして、仮想マシン4は、以下のように、これらの両方のページの所有権を得て、POT50内の共有属性を設定できる。
PA 共有?
PA0 グローバル
PA1 プライベート
IPA PA
IPA4 PA0
IPA9 PA8
PA 共有? IPA
PA0 グローバル IPA9
PA1 プライベート IPA4
BD.Page.Invalidate(VA1)//broadcast page invalidate
BD.Page.Claim.Start(VA1)//requires an invalid page
line=(*64byte_ptr)VA1
do while(line<(VA1+PAGESIZE))
DCZ.WT(line++)//ordered zeroing of page
BD.Page.Claim.End(VA1)//make page valid
Claims (25)
- 第1アドレスを、データストア内の対応するロケーションを直接的に識別する物理アドレスへと変換するアドレス変換回路と、
前記物理アドレスによってインデックスされた1つ以上のエントリを含むテーブルとを備えるデータ処理装置であって、
前記エントリの少なくとも1つが、前記アドレス変換回路によって前記対応する物理アドレスに変換された第1アドレスを識別し、
前記アドレス変換回路によって対象物理アドレスへと変換される対象第1アドレスを指定するアクセス要求に応じて、前記対象第1アドレスと前記対象物理アドレスに対応する前記テーブルの前記エントリによって指定される前記第1アドレスとの間に不一致があるかどうかを判断する制御回路を備える、データ処理装置。 - 関連事象に応じて、所定の物理アドレスに対応する前記テーブルの前記エントリ内に、前記アドレス変換回路によって前記所定の物理アドレスへと現在変換されている前記第1アドレスを記録する処理回路を備える、請求項1に記載の装置。
- 前記関連事象は、前記所定の物理アドレスに関して前記テーブルのエントリの割り当てを含む、請求項2に記載の装置。
- 前記関連事象は、前記所定の物理アドレスに関して前記テーブルの前記エントリ内における少なくとも幾つかの情報の更新を含む、請求項2又は3に記載の装置。
- 前記関連事象は、所定の種類の命令の実行を含む、請求項2〜4のいずれか一項に記載の装置。
- 前記関連事象は、前記データ処理装置の動作モードに対しての所定の変更を含む、請求項2〜5のいずれか一項に記載の装置。
- 各エントリが少なくとも1つの属性を識別し、
前記アドレス変換回路によって対象物理アドレスへと変換される対象第1アドレスを指定するアクセス要求に応じて、前記アクセス要求に対する想定の属性と前記対象物理アドレスに対応する前記テーブルの前記エントリによって指定される前記少なくとも1つの属性のうちの1つとの間に不一致があるかどうかを判断する制御回路を備える、請求項1〜6のいずれか一項に記載の装置。 - 前記想定の属性が、前記対象第1アドレスを前記対象物理アドレスへと変換するのに用いられるページテーブルエントリ内で指定される情報に依存する、請求項7に記載の装置。
- 前記制御回路が、前記不一致があると判断された場合は前記アクセス要求を拒否するように構成される、請求項1〜8のいずれか一項に記載の装置。
- 前記制御回路が、前記不一致があると判断された場合はエラーを知らせるように構成される、請求項1〜9のいずれか一項に記載の装置。
- 前記第1アドレスに仮想アドレスが含まれる、請求項1〜10のいずれか一項に記載の装置。
- 前記第1アドレスに中間アドレスが含まれ、
仮想アドレスを前記中間アドレスへと変換する更なるアドレス変換回路を備える、請求項1〜11のいずれか一項に記載の装置。 - 複数のプロセスを実行する処理回路を備える、請求項1〜12のいずれか一項に記載の装置。
- 前記テーブルは、前記1つ以上のエントリのそれぞれが、物理アドレスの対応するブロックについて、前記複数のプロセスのうちのどのプロセスが物理アドレスの前記対応するブロックへのアクセスを排他的に制御する所有者プロセスかを示す所有権テーブルが含まれる、請求項13に記載の装置。
- 前記複数のプロセスの要求プロセスが、対象第1アドレスに対応する物理アドレスの対象ブロックに対する前記所有者プロセスになることを要求する所有権要求に応じて、前記アドレス変換回路が、前記対象第1アドレスを対象物理アドレスへと変換するように構成され、前記処理回路が、前記要求プロセスが物理アドレスの前記対象ブロックの前記所有者プロセスであることを示すために前記所有権テーブルを更新するように構成される、請求項14に記載の装置。
- 前記処理回路が、前記所有権要求に応じて、前記対象第1アドレスを前記対象物理アドレスに対応する前記所有権テーブルの前記エントリに書き込むように構成される、請求項15に記載の装置。
- 前記所有権テーブルの各エントリが、対象アドレスの前記対応するブロックへのアクセスを制御するために前記所有者プロセスによって設定される少なくとも1つの属性を含む、請求項14〜16のいずれか一項に記載の装置。
- 前記少なくとも1つの属性が、
前記所有者プロセス以外の他のプロセスが、前記対応するブロックにアクセスすることを許可されているかどうか、
前記他のプロセスが、前記対応するブロックに対する読み取り又は書き込みを許可されているかどうか、及び
前記対応するブロックに格納されたデータに適用される暗号化のレベル、のうちの1つ以上を指定する、請求項17に記載の装置。 - 対象物理アドレスに対応する前記所有権テーブルの前記エントリによって、アクセス要求を出した前記プロセスが前記対象物理アドレスにアクセスすることを前記所有者プロセスが許可していない旨が示された場合に、前記アドレス変換回路によって前記対象物理アドレスへと変換される対象第1アドレスを指定する前記アクセス要求を拒否する制御回路を備える、請求項14〜18のいずれか一項に記載の装置。
- 前記制御回路が、前記所有者プロセスによって前記アクセス要求が出されて、前記対象第1アドレスと前記対象物理アドレスに対応する前記所有権テーブルの前記エントリ内で指定される前記第1アドレスとの間に不一致がある場合には、前記アクセス要求を拒否するように構成される、請求項19に記載の装置。
- 前記複数のプロセスが複数の異なる特権レベルのプロセスを含み、
低い特権レベルを有するプロセスが前記所有者プロセスである物理アドレスの少なくとも1つのブロックに対して、前記所有権テーブルの対応するエントリが、高い特権レベルを有するプロセスが対象アドレスのそのブロックにアクセスすることを許可されているかどうかを指定する、請求項14〜20のいずれか一項に記載の装置。 - 前記アドレス変換回路が、仮想アドレスを中間アドレスへと変換する第1アドレス変換回路と、前記中間アドレスを前記物理アドレスへと変換する第2アドレス変換回路とを備え、
第1の種類の所有者プロセスを指定する前記所有権テーブルのエントリでは、前記第1アドレスに前記仮想アドレスが含まれ、
第2の種類の所有者プロセスを指定する前記所有権テーブルのエントリでは、前記第1アドレスに前記中間アドレスが含まれる、請求項14〜21のいずれか一項に記載の装置。 - 前記アドレス変換回路が、前記複数のプロセスの所定のプロセスの制御下で設定されたアドレスマッピングデータに基づいて、前記第1アドレスを前記物理アドレスへと変換するように構成される、請求項13〜22のいずれか一項に記載の装置。
- 第1アドレスを、データストア内の対応するロケーションを直接的に識別する物理アドレスへと変換する手段と、
前記物理アドレスによってインデックスされた1つ以上のエントリを格納する手段とを備えるデータ処理装置であって、
前記エントリの少なくとも1つが、前記変換する手段によって前記対応する物理アドレスに変換された第1アドレスを指定し、
前記変換する手段によって対象物理アドレスへと変換される対象第1アドレスを指定するアクセス要求に応じて、前記対象第1アドレスと前記対象物理アドレスに対応する前記格納する手段の前記エントリによって指定される前記第1アドレスとの間に不一致があるかどうかを判断する手段を備える、データ処理装置。 - 対象第1アドレスを指定するアクセス要求に応じて、前記対象第1アドレスを、データストア内の対応するロケーションを直接的に識別する対象物理アドレスへと変換することと、
それぞれが物理アドレスに対応する1つ以上のエントリを含むテーブルにアクセスして、アドレス変換回路によって前記対応する物理アドレスに変換された第1アドレスを識別することと、
前記アクセス要求によって指定される前記対象第1アドレスと、前記対象物理アドレスに対応する前記テーブルの前記エントリ内で指定される前記第1アドレスとの間に不一致があるかどうかを判断することとを含むデータ処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1510527.3 | 2015-06-16 | ||
GB1510527.3A GB2539429B (en) | 2015-06-16 | 2015-06-16 | Address translation |
PCT/GB2016/051199 WO2016203192A1 (en) | 2015-06-16 | 2016-04-28 | Address translation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018524691A JP2018524691A (ja) | 2018-08-30 |
JP6738354B2 true JP6738354B2 (ja) | 2020-08-12 |
Family
ID=53784793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017564105A Active JP6738354B2 (ja) | 2015-06-16 | 2016-04-28 | アドレス変換 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10936504B2 (ja) |
EP (1) | EP3311281B1 (ja) |
JP (1) | JP6738354B2 (ja) |
KR (1) | KR102694074B1 (ja) |
CN (1) | CN107690629B (ja) |
GB (1) | GB2539429B (ja) |
IL (1) | IL255680B (ja) |
TW (1) | TWI713522B (ja) |
WO (1) | WO2016203192A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2546742B (en) * | 2016-01-26 | 2019-12-11 | Advanced Risc Mach Ltd | Memory address translation management |
US10514943B2 (en) * | 2016-11-17 | 2019-12-24 | Qualcomm Incorporated | Method and apparatus for establishing system-on-chip (SOC) security through memory management unit (MMU) virtualization |
US10649678B2 (en) | 2017-01-13 | 2020-05-12 | Arm Limited | Partitioning of memory system resources or performance monitoring |
US20180203807A1 (en) | 2017-01-13 | 2018-07-19 | Arm Limited | Partitioning tlb or cache allocation |
US10268379B2 (en) | 2017-01-13 | 2019-04-23 | Arm Limited | Partitioning of memory system resources or performance monitoring |
US10664306B2 (en) | 2017-01-13 | 2020-05-26 | Arm Limited | Memory partitioning |
US10394454B2 (en) | 2017-01-13 | 2019-08-27 | Arm Limited | Partitioning of memory system resources or performance monitoring |
US10664400B2 (en) | 2017-07-11 | 2020-05-26 | Arm Limited | Address translation cache partitioning |
US10846239B2 (en) * | 2018-11-29 | 2020-11-24 | Marvell Asia Pte, Ltd. | Managing translation lookaside buffer entries based on associativity and page size |
US10740239B2 (en) * | 2018-12-11 | 2020-08-11 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
US11461244B2 (en) * | 2018-12-20 | 2022-10-04 | Intel Corporation | Co-existence of trust domain architecture with multi-key total memory encryption technology in servers |
US10949357B2 (en) * | 2019-01-24 | 2021-03-16 | Texas Instruments Incorporated | Real time input/output address translation for virtualized systems |
US10872458B1 (en) * | 2019-09-06 | 2020-12-22 | Apple Inc. | Graphics surface addressing |
US11256625B2 (en) | 2019-09-10 | 2022-02-22 | Arm Limited | Partition identifiers for page table walk memory transactions |
KR20220032808A (ko) | 2020-09-08 | 2022-03-15 | 삼성전자주식회사 | 프로세싱-인-메모리, 메모리 액세스 방법 및 메모리 액세스 장치 |
CN113656331A (zh) * | 2021-10-20 | 2021-11-16 | 北京微核芯科技有限公司 | 基于高低位的确定访问地址的方法和装置 |
US11775444B1 (en) | 2022-03-15 | 2023-10-03 | International Business Machines Corporation | Fetch request arbiter |
WO2024172950A1 (en) * | 2023-02-14 | 2024-08-22 | Qualcomm Incorporated | Compressing translation lookaside buffer (tlb) tags using a tlb metadata buffer in processor-based devices |
Family Cites Families (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3454854B2 (ja) | 1992-01-16 | 2003-10-06 | 株式会社東芝 | メモリ管理装置及び方法 |
JP2007280421A (ja) | 1994-09-09 | 2007-10-25 | Renesas Technology Corp | データ処理装置 |
US5623632A (en) | 1995-05-17 | 1997-04-22 | International Business Machines Corporation | System and method for improving multilevel cache performance in a multiprocessing system |
US5815701A (en) | 1995-06-29 | 1998-09-29 | Philips Electronics North America Corporation | Computer method and apparatus which maintains context switching speed with a large number of registers and which improves interrupt processing time |
US5754762A (en) | 1997-01-13 | 1998-05-19 | Kuo; Chih-Cheng | Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU |
US6085296A (en) | 1997-11-12 | 2000-07-04 | Digital Equipment Corporation | Sharing memory pages and page tables among computer processes |
JP2000276405A (ja) | 1999-01-19 | 2000-10-06 | Matsushita Electric Ind Co Ltd | アドレス変換装置及びこのアドレス変換装置を有するコンピュータシステム |
JP2001297035A (ja) | 2000-04-11 | 2001-10-26 | Hitachi Ltd | 情報処理装置 |
US6886085B1 (en) | 2000-04-19 | 2005-04-26 | International Business Machines Corporation | Method and apparatus for efficient virtual memory management |
US6859867B1 (en) * | 2000-05-31 | 2005-02-22 | Intel Corporation | Translation and protection table and method of using the same to validate access requests |
US6742103B2 (en) * | 2000-08-21 | 2004-05-25 | Texas Instruments Incorporated | Processing system with shared translation lookaside buffer |
US6789156B1 (en) | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
US6745307B2 (en) * | 2001-10-31 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method and system for privilege-level-access to memory within a computer |
US6854039B1 (en) * | 2001-12-05 | 2005-02-08 | Advanced Micro Devices, Inc. | Memory management system and method providing increased memory access security |
US7278030B1 (en) | 2003-03-03 | 2007-10-02 | Vmware, Inc. | Virtualization system for computers having multiple protection mechanisms |
US7503049B2 (en) | 2003-05-29 | 2009-03-10 | Panasonic Corporation | Information processing apparatus operable to switch operating systems |
US7356665B2 (en) | 2003-12-17 | 2008-04-08 | International Business Machines Corporation | Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines |
US9152785B2 (en) | 2004-01-30 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Providing a flexible protection model in a computer system by decoupling protection from computer privilege level |
TWI258662B (en) | 2004-03-03 | 2006-07-21 | Faraday Tech Corp | Method and apparatus of determining whether a virtual address corresponds to a physical address in a translation lookaside buffer |
JP2005275629A (ja) | 2004-03-23 | 2005-10-06 | Nec Corp | マルチプロセッサシステム、及び、メモリアクセス方法 |
US7401230B2 (en) | 2004-03-31 | 2008-07-15 | Intel Corporation | Secure virtual machine monitor to tear down a secure execution environment |
US7206915B2 (en) * | 2004-06-03 | 2007-04-17 | Emc Corp | Virtual space manager for computer having a physical address extension feature |
US7330942B2 (en) * | 2004-07-31 | 2008-02-12 | Hewlett-Packard Development Company, L.P. | Method for efficient virtualization of physical memory in a virtual-machine monitor |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7334076B2 (en) | 2005-03-08 | 2008-02-19 | Microsoft Corporation | Method and system for a guest physical address virtualization in a virtual machine environment |
US20060294288A1 (en) | 2005-06-24 | 2006-12-28 | Rohit Seth | System and method for using protection keys to emulate a large region identifier space |
JP2007004661A (ja) | 2005-06-27 | 2007-01-11 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
US8423747B2 (en) | 2008-06-30 | 2013-04-16 | Intel Corporation | Copy equivalent protection using secure page flipping for software components within an execution environment |
US7545381B2 (en) | 2005-11-10 | 2009-06-09 | Via Technologies, Inc. | Interruptible GPU and method for context saving and restoring |
US7657754B2 (en) * | 2005-12-08 | 2010-02-02 | Agere Systems Inc | Methods and apparatus for the secure handling of data in a microcontroller |
US7809903B2 (en) * | 2005-12-15 | 2010-10-05 | Intel Corporation | Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions |
US7702743B1 (en) | 2006-01-26 | 2010-04-20 | Symantec Operating Corporation | Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes |
US7739474B2 (en) * | 2006-02-07 | 2010-06-15 | International Business Machines Corporation | Method and system for unifying memory access for CPU and IO operations |
US7950020B2 (en) | 2006-03-16 | 2011-05-24 | Ntt Docomo, Inc. | Secure operating system switching |
US7870336B2 (en) | 2006-11-03 | 2011-01-11 | Microsoft Corporation | Operating system protection against side-channel attacks on secrecy |
US8380987B2 (en) | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
US8001336B2 (en) | 2007-03-02 | 2011-08-16 | International Business Machines Corporation | Deterministic memory management in a computing environment |
KR100874948B1 (ko) | 2007-06-18 | 2008-12-19 | 한국전자통신연구원 | 권한 수준 위반 프로세스 관리 장치 및 방법 |
WO2009001153A1 (en) * | 2007-06-28 | 2008-12-31 | Nokia Corporation | Memory protection unit in a virtual processing environment |
US7856536B2 (en) | 2007-10-05 | 2010-12-21 | International Business Machines Corporation | Providing a process exclusive access to a page including a memory address to which a lock is granted to the process |
US8195912B2 (en) | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US7966453B2 (en) | 2007-12-12 | 2011-06-21 | International Business Machines Corporation | Method and apparatus for active software disown of cache line's exlusive rights |
JP4643702B2 (ja) | 2008-10-27 | 2011-03-02 | 株式会社東芝 | マイクロプロセッサ |
CN101782954B (zh) * | 2009-01-20 | 2013-05-01 | 联想(北京)有限公司 | 一种异常进程的检测装置及方法 |
CN102460376B (zh) | 2009-06-26 | 2016-05-18 | 英特尔公司 | 无约束事务存储器(utm)系统的优化 |
US9077654B2 (en) | 2009-10-30 | 2015-07-07 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging managed server SOCs |
GB2474666B (en) | 2009-10-21 | 2015-07-15 | Advanced Risc Mach Ltd | Hardware resource management within a data processing system |
WO2011074168A1 (ja) | 2009-12-14 | 2011-06-23 | パナソニック株式会社 | 情報処理装置 |
CN102117184B (zh) * | 2010-01-05 | 2017-06-27 | 联想(北京)有限公司 | 用于多存储器的控制器、终端设备及其启动和访问方法 |
US8793439B2 (en) | 2010-03-18 | 2014-07-29 | Oracle International Corporation | Accelerating memory operations using virtualization information |
JP5612681B2 (ja) | 2010-05-24 | 2014-10-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 仮想計算機システム、領域管理方法、及びプログラム |
GB2481232A (en) | 2010-06-16 | 2011-12-21 | Advanced Risc Mach Ltd | Cache for a multiprocessor system which can treat a local access operation as a shared access operation |
US8392628B2 (en) | 2010-07-16 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Sharing memory spaces for access by hardware and software in a virtual machine environment |
US10013058B2 (en) | 2010-09-21 | 2018-07-03 | Apple Inc. | Touch-based user interface with haptic feedback |
GB2483906C (en) | 2010-09-24 | 2019-10-09 | Advanced Risc Mach Ltd | Selection of debug instruction set for debugging of a data processing apparatus |
GB2483907A (en) | 2010-09-24 | 2012-03-28 | Advanced Risc Mach Ltd | Privilege level switching for data processing circuitry when in a debug mode |
US9152573B2 (en) | 2010-11-16 | 2015-10-06 | Vmware, Inc. | Sharing memory pages having regular expressions within a virtual machine |
WO2012117465A1 (ja) | 2011-03-02 | 2012-09-07 | パナソニック株式会社 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路 |
US20130070513A1 (en) | 2011-09-16 | 2013-03-21 | Advanced Micro Devices, Inc. | Method and apparatus for direct backup of memory circuits |
US8788763B2 (en) | 2011-10-13 | 2014-07-22 | International Business Machines Corporation | Protecting memory of a virtual guest |
US9170940B2 (en) | 2011-12-07 | 2015-10-27 | Intel Corporation | Techniques to prelink software to improve memory de-duplication in a virtual system |
GB2497736A (en) | 2011-12-16 | 2013-06-26 | St Microelectronics Ltd | Hardware monitor with context selector for selecting from multiple contexts |
WO2013101053A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Non-volatile ram disk |
WO2013101208A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Hardware enforced memory access permissions |
DE102012201225A1 (de) | 2012-01-27 | 2013-08-01 | Continental Automotive Gmbh | Rechnersystem |
TWI480733B (zh) | 2012-03-29 | 2015-04-11 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
JP5914145B2 (ja) | 2012-05-01 | 2016-05-11 | ルネサスエレクトロニクス株式会社 | メモリ保護回路、処理装置、およびメモリ保護方法 |
US9037558B2 (en) | 2012-05-25 | 2015-05-19 | International Business Machines Corporation | Management of long-running locks and transactions on database tables |
US8825550B2 (en) | 2012-08-23 | 2014-09-02 | Amazon Technologies, Inc. | Scaling a virtual machine instance |
US9330017B2 (en) * | 2012-11-02 | 2016-05-03 | International Business Machines Corporation | Suppressing virtual address translation utilizing bits and instruction tagging |
WO2014100279A1 (en) | 2012-12-18 | 2014-06-26 | Dynavisor, Inc. | Dynamic device virtualization |
US9747052B2 (en) * | 2013-02-05 | 2017-08-29 | Arm Limited | Virtualisation supporting guest operating systems using memory protection units to determine permission of a memory access operation for a physical address |
US9183399B2 (en) | 2013-02-14 | 2015-11-10 | International Business Machines Corporation | Instruction set architecture with secure clear instructions for protecting processing unit architected state information |
JP6048710B2 (ja) * | 2013-02-28 | 2016-12-21 | パナソニックIpマネジメント株式会社 | 暗号化記録装置、および暗号化記録方法 |
CN104246721B (zh) | 2013-03-29 | 2017-02-22 | 株式会社东芝 | 存储系统、存储控制器及存储控制方法 |
GB2514107B (en) | 2013-05-13 | 2020-07-29 | Advanced Risc Mach Ltd | Page table data management |
GB2515536A (en) | 2013-06-27 | 2014-12-31 | Ibm | Processing a guest event in a hypervisor-controlled system |
GB2519108A (en) | 2013-10-09 | 2015-04-15 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling performance of speculative vector operations |
US20150268985A1 (en) | 2014-03-24 | 2015-09-24 | Freescale Semiconductor, Inc. | Low Latency Data Delivery |
US9575778B2 (en) | 2014-05-20 | 2017-02-21 | Via Alliance Semiconductor Co., Ltd. | Dynamically configurable system based on cloud-collaborative experimentation |
US9589105B2 (en) | 2015-03-25 | 2017-03-07 | International Business Machines Corporation | Securing protected health information based on software designation |
-
2015
- 2015-06-16 GB GB1510527.3A patent/GB2539429B/en active Active
-
2016
- 2016-04-28 KR KR1020187000524A patent/KR102694074B1/ko active IP Right Grant
- 2016-04-28 CN CN201680033441.9A patent/CN107690629B/zh active Active
- 2016-04-28 EP EP16720505.3A patent/EP3311281B1/en active Active
- 2016-04-28 US US15/579,665 patent/US10936504B2/en active Active
- 2016-04-28 WO PCT/GB2016/051199 patent/WO2016203192A1/en active Application Filing
- 2016-04-28 JP JP2017564105A patent/JP6738354B2/ja active Active
- 2016-05-13 TW TW105114807A patent/TWI713522B/zh active
-
2017
- 2017-11-15 IL IL255680A patent/IL255680B/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
IL255680B (en) | 2020-02-27 |
IL255680A (en) | 2018-01-31 |
TW201701159A (zh) | 2017-01-01 |
KR102694074B1 (ko) | 2024-08-12 |
GB201510527D0 (en) | 2015-07-29 |
CN107690629A (zh) | 2018-02-13 |
JP2018524691A (ja) | 2018-08-30 |
US20180173641A1 (en) | 2018-06-21 |
EP3311281A1 (en) | 2018-04-25 |
GB2539429B (en) | 2017-09-06 |
TWI713522B (zh) | 2020-12-21 |
CN107690629B (zh) | 2022-01-18 |
KR20180017096A (ko) | 2018-02-20 |
WO2016203192A1 (en) | 2016-12-22 |
GB2539429A (en) | 2016-12-21 |
EP3311281B1 (en) | 2019-05-22 |
US10936504B2 (en) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6738354B2 (ja) | アドレス変換 | |
JP6966333B2 (ja) | 安全な初期化 | |
JP6893479B2 (ja) | 所有権テーブルを用いたデータ処理装置及び方法 | |
JP6913636B2 (ja) | 共有ページ | |
KR102592377B1 (ko) | 보호된 예외 핸들링 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190422 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200501 |
|
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: 20200624 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200717 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6738354 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |