JP2018523210A - 共有ページ - Google Patents
共有ページ Download PDFInfo
- Publication number
- JP2018523210A JP2018523210A JP2017564099A JP2017564099A JP2018523210A JP 2018523210 A JP2018523210 A JP 2018523210A JP 2017564099 A JP2017564099 A JP 2017564099A JP 2017564099 A JP2017564099 A JP 2017564099A JP 2018523210 A JP2018523210 A JP 2018523210A
- Authority
- JP
- Japan
- Prior art keywords
- predetermined
- page
- ownership
- memory area
- owned
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/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/1425—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 physical, e.g. cell, word, block
- G06F12/1433—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 physical, e.g. cell, word, block for a module or a part of a module
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Abstract
Description
所定のメモリ領域が、特権レベルに関わらず、複数のプロセスの中から指定された所定の所有プロセスを有し、所定の所有プロセスが、所定のメモリ領域へのアクセスを制御する排他的な権利を有する、物理メモリアドレス空間内のメモリ領域の所有権利を行使する所有権回路を備え、
所定の所有プロセスが、所定のメモリ領域を、
所定の所有プロセスに対してプライベートであること、及び
所定の所有プロセスと、メモリアクセス要求の少なくとも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 (8)
- 所定のメモリ領域が、特権レベルに関わらず、複数のプロセスの中から指定された所定の所有プロセスを有し、前記所定の所有プロセスが、前記所定のメモリ領域へのアクセスを制御する排他的な権利を有する、物理メモリアドレス空間内のメモリ領域の所有権利を行使する所有権回路を備え、
前記所定の所有プロセスが、前記所定のメモリ領域を、
前記所定の所有プロセスに対してプライベートであること、及び
前記所定の所有プロセスと、メモリアクセス要求の少なくとも1つの更なるソースとの間で共有されること、
のうちの1つとして指定する、データを処理する装置。 - 前記所定の所有プロセスと、
メモリ領域内にマッピングされしかも前記所定の所有プロセスによって所有される1つ以上のバスマスタリング装置、
前記所定のメモリ領域の所有権を前記所定の所有プロセスに移した親プロセス、
前記所定の所有プロセスによる前記所定のメモリ領域の所有権より前の、前記所定のメモリ領域の所有権を移した前記所定の所有プロセスの先祖プロセス、及び
任意の他のプロセス、
のうちの1つとの間で共有されるものの1つとして共有される場合に、前記所定の所有プロセスが前記所定のメモリ領域を指定する、請求項1に記載の装置。 - 前記所有権回路が、前記所定の所有プロセスよりも高い特権レベルを有するプロセスによる前記所定のメモリ領域へのアクセスを前記所定の所有プロセスが拒否することを許可する、請求項1又は2に記載の装置。
- 前記所定のメモリ領域を新たな所定の所有プロセスに割り当てることには、前記新たな所定の所有プロセスが前記排他的な権利を取得する前に、前記所定のメモリ領域内に格納されたデータを破壊的に上書きすることが含まれる、請求項1〜3のいずれか一項に記載の装置。
- 前記破壊的な上書きが前記新たな所定の所有プロセスによって行われ、前記新たな所有者が前記排他的な権利を取得する前に前記上書きが確実に完了するように、上書き追跡ハードウェアが前記上書きの完了を追跡する、請求項4に記載の装置。
- 前記複数のプロセスのうちどれがメモリのどの領域を制御する排他的な権利を有するのかを示す所有権データを格納する所有権テーブルを備える、請求項1〜5のいずれか一項に記載の装置。
- 所定のメモリ領域が、特権レベルに関わらず、複数のプロセスの中から指定された所定の所有プロセスを有し、前記所定の所有プロセスが、前記所定のメモリ領域へのアクセスを制御する排他的な権利を有する、物理メモリアドレス空間内のメモリ領域の所有権利を行使する所有権手段を備え、
前記所定の所有プロセスが、前記所定のメモリ領域を、
前記所定の所有プロセスに対してプライベートであること、及び
前記所定の所有プロセスと、メモリアクセス要求の少なくとも1つの更なるソースとの間で共有されること、
のうちの1つとして指定する、データを処理する装置。 - 所定のメモリ領域が、特権レベルに関わらず、複数のプロセスの中から指定された所定の所有プロセスを有し、前記所定の所有プロセスが、前記所定のメモリ領域へのアクセスを制御する排他的な権利を有する、物理メモリアドレス空間内のメモリ領域の所有権利を行使することを含み、
前記所定の所有プロセスが、前記所定のメモリ領域を、
前記所定の所有プロセスに対してプライベートであること、及び
前記所定の所有プロセスと、メモリアクセス要求の少なくとも1つの更なるソースとの間で共有されること、
のうちの1つとして指定する、データを処理する方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1510533.1 | 2015-06-16 | ||
GB1510533.1A GB2539435B8 (en) | 2015-06-16 | 2015-06-16 | Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level |
PCT/GB2016/051168 WO2016203190A1 (en) | 2015-06-16 | 2016-04-26 | Shared pages |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018523210A true JP2018523210A (ja) | 2018-08-16 |
JP6913636B2 JP6913636B2 (ja) | 2021-08-04 |
Family
ID=53784799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017564099A Active JP6913636B2 (ja) | 2015-06-16 | 2016-04-26 | 共有ページ |
Country Status (9)
Country | Link |
---|---|
US (1) | US10802729B2 (ja) |
EP (1) | EP3311282A1 (ja) |
JP (1) | JP6913636B2 (ja) |
KR (1) | KR102517506B1 (ja) |
CN (1) | CN107771323B (ja) |
GB (1) | GB2539435B8 (ja) |
IL (1) | IL255546B (ja) |
TW (1) | TWI740825B (ja) |
WO (1) | WO2016203190A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022503972A (ja) * | 2018-10-19 | 2022-01-12 | アーム・リミテッド | 信頼される仲介レルム |
JP2022503952A (ja) * | 2018-10-19 | 2022-01-12 | アーム・リミテッド | レルム・セキュリティ構成パラメータのためのパラメータ署名 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10649678B2 (en) * | 2017-01-13 | 2020-05-12 | Arm Limited | Partitioning of memory system resources or performance monitoring |
US10268379B2 (en) | 2017-01-13 | 2019-04-23 | Arm Limited | Partitioning of memory system resources or performance monitoring |
US10394454B2 (en) | 2017-01-13 | 2019-08-27 | 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 |
US10664306B2 (en) | 2017-01-13 | 2020-05-26 | Arm Limited | Memory partitioning |
GB2563883B (en) | 2017-06-28 | 2019-10-09 | Advanced Risc Mach Ltd | Invalidation of a target realm in a realm hierarchy |
GB2563881B (en) * | 2017-06-28 | 2019-12-25 | Advanced Risc Mach Ltd | Realm execution context masking and saving |
GB2563886B (en) * | 2017-06-28 | 2019-12-25 | Advanced Risc Mach Ltd | Realm management unit-private memory regions |
GB2563888B (en) * | 2017-06-28 | 2020-03-18 | Advanced Risc Mach Ltd | Sub-realms |
GB2563887B (en) * | 2017-06-28 | 2019-12-25 | Advanced Risc Mach Ltd | Masking of architectural state associated with a realm |
US10445009B2 (en) * | 2017-06-30 | 2019-10-15 | Intel Corporation | Systems and methods of controlling memory footprint |
US10664400B2 (en) | 2017-07-11 | 2020-05-26 | Arm Limited | Address translation cache partitioning |
US11687654B2 (en) * | 2017-09-15 | 2023-06-27 | Intel Corporation | Providing isolation in virtualized systems using trust domains |
GB2569358B (en) * | 2017-12-15 | 2020-01-29 | Advanced Risc Mach Ltd | Code realms |
GB2570474B (en) | 2018-01-26 | 2020-04-15 | Advanced Risc Mach Ltd | Region fusing |
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 |
US11487906B2 (en) | 2019-03-08 | 2022-11-01 | International Business Machines Corporation | Storage sharing between a secure domain and a non-secure entity |
US11531627B2 (en) | 2019-03-08 | 2022-12-20 | International Business Machines Corporation | Secure storage isolation |
US11640361B2 (en) | 2019-03-08 | 2023-05-02 | International Business Machines Corporation | Sharing secure memory across multiple security domains |
US11256625B2 (en) | 2019-09-10 | 2022-02-22 | Arm Limited | Partition identifiers for page table walk memory transactions |
EP4083837A4 (en) * | 2020-01-14 | 2023-01-04 | Huawei Technologies Co., Ltd. | SAFETY ISOLATION METHOD AND DEVICE, AND COMPUTER SYSTEM |
US20240106824A1 (en) * | 2022-09-23 | 2024-03-28 | Qualcomm Incorporated | Hardware identity impersonation for target access control |
Family Cites Families (82)
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 |
US6751710B2 (en) * | 2000-06-10 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Scalable multiprocessor system and cache coherence method |
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 |
US7284061B2 (en) * | 2001-11-13 | 2007-10-16 | Canon Kabushiki Kaisha | Obtaining temporary exclusive control of a device |
US6854039B1 (en) | 2001-12-05 | 2005-02-08 | Advanced Micro Devices, Inc. | Memory management system and method providing increased memory access security |
US7149857B2 (en) * | 2002-05-14 | 2006-12-12 | Micron Technology, Inc. | Out of order DRAM sequencer |
US6829762B2 (en) * | 2002-10-10 | 2004-12-07 | International Business Machnies Corporation | Method, apparatus and system for allocating and accessing memory-mapped facilities within a data processing system |
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 |
CA2536610C (en) * | 2004-02-05 | 2013-04-30 | Research In Motion Limited | Debugging port security interface |
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 |
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 |
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 |
US8683143B2 (en) * | 2005-12-30 | 2014-03-25 | Intel Corporation | Unbounded transactional memory systems |
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 |
US7950020B2 (en) | 2006-03-16 | 2011-05-24 | Ntt Docomo, Inc. | Secure operating system switching |
US8074026B2 (en) * | 2006-05-10 | 2011-12-06 | Intel Corporation | Scatter-gather intelligent memory architecture for unstructured streaming data on multiprocessor systems |
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 |
KR101396831B1 (ko) * | 2007-03-30 | 2014-05-21 | 삼성전자주식회사 | 메모리 접근 제어 방법 |
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 |
US8099541B2 (en) * | 2008-01-22 | 2012-01-17 | Globalfoundries Inc. | Minivisor entry point in virtual machine monitor address space |
GB2460393B (en) * | 2008-02-29 | 2012-03-28 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry |
US8006055B2 (en) * | 2008-03-04 | 2011-08-23 | Microsoft Corporation | Fine granularity hierarchiacal memory protection |
JP4643702B2 (ja) | 2008-10-27 | 2011-03-02 | 株式会社東芝 | マイクロプロセッサ |
US9077654B2 (en) | 2009-10-30 | 2015-07-07 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging managed server SOCs |
CN101667144B (zh) * | 2009-09-29 | 2013-02-13 | 北京航空航天大学 | 一种基于共享内存的虚拟机通信方法 |
GB2474666B (en) * | 2009-10-21 | 2015-07-15 | Advanced Risc Mach Ltd | Hardware resource management within a data processing system |
US20110289294A1 (en) | 2009-12-14 | 2011-11-24 | Manabu Maeda | Information processing apparatus |
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 |
GB2483907A (en) | 2010-09-24 | 2012-03-28 | Advanced Risc Mach Ltd | Privilege level switching for data processing circuitry when in a debug mode |
GB2483906C (en) | 2010-09-24 | 2019-10-09 | Advanced Risc Mach Ltd | Selection of debug instruction set for debugging of a data processing apparatus |
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 | パナソニック株式会社 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路 |
WO2013032442A1 (en) * | 2011-08-30 | 2013-03-07 | Hewlett-Packard Development Company , L.P. | Virtual high privilege mode for a system management request |
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 |
WO2014100279A1 (en) | 2012-12-18 | 2014-06-26 | Dynavisor, Inc. | Dynamic device virtualization |
EP2954419B1 (en) | 2013-02-05 | 2017-03-29 | ARM Limited | Virtualisation supporting guest operating systems using memory protection units |
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 |
JP5362145B1 (ja) | 2013-03-29 | 2013-12-11 | 株式会社東芝 | 論理アドレスと物理アドレスとの間のマッピングを管理するストレージシステム、ストレージコントローラ及び方法 |
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 |
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 |
GB2539436B (en) * | 2015-06-16 | 2019-02-06 | Advanced Risc Mach Ltd | Secure initialisation |
-
2015
- 2015-06-16 GB GB1510533.1A patent/GB2539435B8/en active Active
-
2016
- 2016-04-26 EP EP16720487.4A patent/EP3311282A1/en active Pending
- 2016-04-26 CN CN201680033361.3A patent/CN107771323B/zh active Active
- 2016-04-26 US US15/574,549 patent/US10802729B2/en active Active
- 2016-04-26 KR KR1020187000520A patent/KR102517506B1/ko active IP Right Grant
- 2016-04-26 WO PCT/GB2016/051168 patent/WO2016203190A1/en active Application Filing
- 2016-04-26 JP JP2017564099A patent/JP6913636B2/ja active Active
- 2016-05-13 TW TW105114831A patent/TWI740825B/zh active
-
2017
- 2017-11-09 IL IL255546A patent/IL255546B/en active IP Right Grant
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022503972A (ja) * | 2018-10-19 | 2022-01-12 | アーム・リミテッド | 信頼される仲介レルム |
JP2022503952A (ja) * | 2018-10-19 | 2022-01-12 | アーム・リミテッド | レルム・セキュリティ構成パラメータのためのパラメータ署名 |
JP7431225B2 (ja) | 2018-10-19 | 2024-02-14 | アーム・リミテッド | 信頼される仲介レルム |
JP7431224B2 (ja) | 2018-10-19 | 2024-02-14 | アーム・リミテッド | レルム・セキュリティ構成パラメータのためのパラメータ署名 |
Also Published As
Publication number | Publication date |
---|---|
US10802729B2 (en) | 2020-10-13 |
IL255546A (en) | 2018-01-31 |
CN107771323B (zh) | 2022-07-22 |
EP3311282A1 (en) | 2018-04-25 |
TWI740825B (zh) | 2021-10-01 |
GB2539435A (en) | 2016-12-21 |
GB2539435B8 (en) | 2018-02-21 |
IL255546B (en) | 2020-02-27 |
KR102517506B1 (ko) | 2023-04-04 |
TW201710913A (zh) | 2017-03-16 |
GB2539435B (en) | 2017-11-15 |
JP6913636B2 (ja) | 2021-08-04 |
WO2016203190A1 (en) | 2016-12-22 |
US20180150251A1 (en) | 2018-05-31 |
CN107771323A (zh) | 2018-03-06 |
GB201510533D0 (en) | 2015-07-29 |
KR20180017093A (ko) | 2018-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6966333B2 (ja) | 安全な初期化 | |
JP6913636B2 (ja) | 共有ページ | |
JP6893479B2 (ja) | 所有権テーブルを用いたデータ処理装置及び方法 | |
JP6738354B2 (ja) | アドレス変換 | |
JP2018523211A (ja) | 保護された例外処理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210121 |
|
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: 20210618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210712 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6913636 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |