JP5690024B2 - I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット - Google Patents
I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット Download PDFInfo
- Publication number
- JP5690024B2 JP5690024B2 JP2014532070A JP2014532070A JP5690024B2 JP 5690024 B2 JP5690024 B2 JP 5690024B2 JP 2014532070 A JP2014532070 A JP 2014532070A JP 2014532070 A JP2014532070 A JP 2014532070A JP 5690024 B2 JP5690024 B2 JP 5690024B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- management unit
- memory access
- devices
- address translation
- 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
- 230000015654 memory Effects 0.000 title claims description 295
- 238000013519 translation Methods 0.000 claims description 61
- 238000006243 chemical reaction Methods 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 45
- 230000002093 peripheral effect Effects 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims 1
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/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/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
- G06F21/79—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 in semiconductor storage media, e.g. directly-addressable memories
-
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Description
Claims (28)
- 複数のI/Oデバイスからのメモリアクセス要求を受信し、保護モードを実行するように構成されたメモリ管理ユニットを備え、
前記メモリ管理ユニットは、前記保護モードで実行する間、前記メモリアクセス要求の各々を、メモリアドレス変換データの同じセットにマッピングすることによって、前記複数のI/Oデバイスによるメモリアクセスを阻止するように構成されており、
前記メモリ管理ユニットは、前記保護モードで実行していない間、異なるメモリアクセス要求を、メモリアドレス変換データのそれぞれ異なるセットにマッピングすることによって、前記複数のI/Oデバイスからのメモリアクセス要求を許可するように構成されている、
装置。 - 前記メモリアドレス変換データの少なくとも一部は、一つ以上のメモリアドレス変換テーブルを用いてメモリに記憶されており、又は、ハードウェアレジスタに記憶されている、請求項1に記載の装置。
- 前記メモリ管理ユニットは、前記メモリ管理ユニットの保護フラグを設定するソフトウェアに応じて、前記保護モードに移行するように設定可能である、請求項1に記載の装置。
- 前記メモリアクセス要求をメモリアドレス変換データの前記同じセットにマッピングすることは、デバイス識別子のデフォルト値を用いて、前記メモリアクセス要求をタグ付けすることを含む、請求項1に記載の装置。
- 前記デバイス識別子のデフォルト値は、デバイステーブルの制限エントリに対応し、前記制限エントリは、前記I/Oデバイスによるシステムメモリへのアクセスが許可されていないことを示す、請求項4に記載の装置。
- 前記デバイス識別子のデフォルト値は、デバイステーブルの制限エントリに対応し、前記制限エントリは、前記メモリ管理ユニットが、全てのメモリアドレスをシステムメモリの同じ制限部分にマッピングするアドレス変換データを用いて、前記I/Oデバイスからのメモリアクセス要求を変換するように示している、請求項4に記載の装置。
- 前記システムメモリの制限部分はゼロサイズである、請求項6に記載の装置。
- 前記システムメモリの制限部分は、信頼されたブート手順を実行するために用いられる部分以外の部分である、請求項6に記載の装置。
- 前記メモリ管理ユニットは、一つの前記I/Oデバイスからメモリアクセス要求を受信したことに応じてエラーコードを返すことによって、前記メモリアクセスを阻止するように構成されている、請求項1に記載の装置。
- 処理システムのメモリ管理ユニットを用いてメモリを保護するコンピュータ実行方法であって、
前記メモリ管理ユニットが、保護モードで実行する間、
メモリアクセス要求をI/Oデバイスから受信するステップと、
前記メモリアクセス要求の受信に応じて、前記メモリアクセス要求の各々をメモリアドレス変換データの同じセットにマッピングすることによって、前記要求されたメモリアクセスを阻止するステップと、
前記メモリ管理ユニットが、非保護モードで実行する間、
他のメモリアクセス要求を二つ以上の前記I/Oデバイスから受信するステップと、
前記二以上のI/Oデバイスの各々について、メモリアドレス変換データのセットを決定するステップと、
前記他のメモリアクセス要求ごとに、前記他のメモリアクセス要求を、前記他のメモリアクセス要求を行った前記I/Oデバイスに対応する前記メモリアドレス変換データのセットにマッピングするステップと、を含む、
方法。 - 前記メモリアドレス変換データの少なくとも一部は、一つ以上のメモリアドレス変換テーブルを用いてメモリに記憶されており、又は、ハードウェアレジスタに記憶されている、請求項10に記載の方法。
- 前記メモリ管理ユニットが、前記メモリ管理ユニットの保護フラグを設定するソフトウェアに応じて、前記保護モードに移行するステップをさらに含む、請求項10に記載の方法。
- 前記メモリアクセス要求を前記メモリアドレス変換データの同じセットにマッピングすることは、デバイス識別子のデフォルト値を用いて、前記メモリアクセス要求をタグ付けすることを含む、請求項10に記載の方法。
- 前記デバイス識別子のデフォルト値は、デバイステーブルの制限エントリに対応し、前記制限エントリは、前記I/Oデバイスによるシステムメモリへのアクセスが許可されていないことを示す、請求項13に記載の方法。
- 前記デバイス識別子のデフォルト値は、デバイステーブルの制限エントリに対応し、前記制限エントリは、前記メモリ管理ユニットが、全てのメモリアドレスをシステムメモリの同じ制限部分にマッピングするアドレス変換データを用いて、前記I/Oデバイスからのメモリアクセス要求を変換するように示している、請求項13に記載の方法。
- 前記システムメモリの制限部分はゼロサイズである、請求項15に記載の方法。
- 前記システムメモリの制限部分は、信頼されたブート手順を実行するために用いられる部分以外の部分である、請求項15に記載の方法。
- 信頼された初期化手順を実行するために、コンピュータシステムによって実行可能なプログラム命令を記憶したコンピュータ可読記憶媒体であって、
前記信頼された初期化手順は、メモリ管理ユニットを保護モードで実行させるように設定することを含み、
前記メモリ管理ユニットは、前記保護モードの間、複数のI/Oデバイスからのメモリアクセス要求をメモリアドレス変換データの同じセットにマッピングすることによって、前記複数のI/Oデバイスによるメモリアクセスを阻止し、前記保護モードではない間、前記複数のI/OデバイスからのI/O要求を、メモリアドレス変換データのそれぞれ異なるセットにマッピングするように構成されている、
コンピュータ可読記憶媒体。 - 前記メモリアドレス変換データの少なくとも一部は、一つ以上のメモリアドレス変換テーブルを用いてメモリに記憶されており、又は、ハードウェアレジスタに記憶されている、請求項18に記載のコンピュータ可読記憶媒体。
- 前記信頼された初期化手順は、
一つ以上の周辺デバイスによる直接的なメモリアクセスからシステムメモリの一部を保護するために、セキュアカーネルの初期化命令を実行することと、
前記システムメモリの保護された部分内に一つ以上のアドレス変換テーブルの前記セットを作成することと、をさらに含む、請求項18に記載のコンピュータ可読記憶媒体。 - 前記信頼された初期化手順を実行可能な前記プログラム命令は、オペレーティングシステム、ゲストオペレーティングシステム又は仮想マシンモニタの一部である、請求項18に記載のコンピュータ可読記憶媒体。
- 前記メモリ管理ユニットを前記保護モードで実行するように設定することは、前記メモリ管理ユニットの保護フラグを設定することを含む、請求項18に記載のコンピュータ可読記憶媒体。
- 信頼された初期化手順を実行するコンピュータ実行方法であって、
複数のI/Oデバイスによる直接的なメモリアクセスからシステムメモリの一部を保護するために、セキュアカーネルの初期化命令を実行するステップと、
前記システムメモリの保護された部分内に一つ以上のアドレス変換テーブルのセットを作成するステップであって、前記一つ以上のメモリアドレス変換テーブルのセットは、メモリアクセスを阻止する、ステップと、
メモリ管理ユニットを保護モードで実行するように設定するステップとを含み、
前記メモリ管理ユニットは、前記保護モードの間、前記複数のI/Oデバイスからのメモリアクセス要求を、メモリアクセスを阻止する前記一つ以上のメモリアドレス変換テーブルのセットにマッピングすることによって、前記複数のI/Oデバイスによるメモリアクセスを阻止し、前記保護モードでない間、前記複数のI/OデバイスからのI/O要求を一つ以上のメモリアドレス変換テーブルのそれぞれ異なるセットにマッピングするように構成されている、
方法。 - 前記メモリアクセス要求を前記メモリアドレス変換テーブルのセットにマッピングすることは、デバイステーブルの制限エントリに対応するデバイス識別子のデフォルト値を用いて前記メモリアクセス要求をタグ付けすることを含み、前記制限エントリは、前記I/Oデバイスによるシステムメモリへのアクセスが許可されていないことを示している、請求項23に記載の方法。
- 前記メモリアクセス要求を前記メモリアドレス変換データのセットにマッピングすることは、デバイステーブルの制限エントリに対応するデバイス識別子のデフォルト値を用いて前記メモリアクセス要求をタグ付けすることを含み、前記制限エントリは、前記メモリ管理ユニットが、全てのメモリアドレスをシステムメモリの同じ制限部分にマッピングするアドレス変換データを用いて、前記I/Oデバイスからのメモリアクセス要求を変換するように示している、請求項23に記載の方法。
- 前記システムメモリの制限部分はゼロサイズである、請求項25に記載の方法。
- 前記システムメモリの制限部分は、信頼されたブート手順を実行するために用いられる部分以外の部分である、請求項25に記載の方法。
- 前記メモリ管理ユニットを保護モードで実行するように設定するステップは、前記メモリ管理ユニットの保護フラグを設定するステップを含む、請求項23に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/244,571 | 2011-09-25 | ||
US13/244,571 US8631212B2 (en) | 2011-09-25 | 2011-09-25 | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
PCT/US2012/056898 WO2013044223A1 (en) | 2011-09-25 | 2012-09-24 | Input/output memory management unit with protection mode for preventing memory access by i/o devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014531672A JP2014531672A (ja) | 2014-11-27 |
JP5690024B2 true JP5690024B2 (ja) | 2015-03-25 |
Family
ID=47023085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014532070A Active JP5690024B2 (ja) | 2011-09-25 | 2012-09-24 | I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット |
Country Status (6)
Country | Link |
---|---|
US (1) | US8631212B2 (ja) |
EP (1) | EP2758884B1 (ja) |
JP (1) | JP5690024B2 (ja) |
KR (1) | KR101471108B1 (ja) |
CN (1) | CN103842976B (ja) |
WO (1) | WO2013044223A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200115125A (ko) * | 2019-03-25 | 2020-10-07 | 주식회사 엘지화학 | 차량 전기 시스템을 위한 진단 시스템 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152570B2 (en) * | 2012-02-27 | 2015-10-06 | Vmware, Inc. | System and method for supporting finer-grained copy-on-write page sizes |
US10223506B2 (en) * | 2012-04-04 | 2019-03-05 | Rackspace Us, Inc. | Self-destructing files in an object storage system |
US9323932B2 (en) * | 2012-12-19 | 2016-04-26 | Advanced Micro Devices, Inc. | Protecting memory contents during boot process |
WO2014098839A1 (en) * | 2012-12-19 | 2014-06-26 | Hewlett-Packard Development Company | Nvram path selection |
US9015374B2 (en) | 2013-07-09 | 2015-04-21 | Advanced Micro Devices, Inc. | Virtual interrupt filter |
US9734341B1 (en) * | 2014-04-18 | 2017-08-15 | Symantec Corporation | Systems and methods for protecting computing systems from peripheral devices |
US9632953B2 (en) | 2014-06-03 | 2017-04-25 | Qualcomm Incorporated | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers |
US9690720B2 (en) | 2014-06-03 | 2017-06-27 | Qualcomm Incorporated | Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device |
EP2983088A1 (en) | 2014-08-06 | 2016-02-10 | Airbus Defence and Space GmbH | Memory protection unit |
US10552619B2 (en) * | 2015-07-20 | 2020-02-04 | Intel Corporation | Technologies for secure trusted I/O access control |
US9626300B2 (en) * | 2015-07-27 | 2017-04-18 | Google Inc. | Address caching in switches |
US10055136B2 (en) | 2015-07-29 | 2018-08-21 | Red Hat Israel, Ltd. | Maintaining guest input/output tables in swappable memory |
US10102391B2 (en) * | 2015-08-07 | 2018-10-16 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US9767320B2 (en) | 2015-08-07 | 2017-09-19 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US10664179B2 (en) | 2015-09-25 | 2020-05-26 | Intel Corporation | Processors, methods and systems to allow secure communications between protected container memory and input/output devices |
US9927984B2 (en) * | 2015-10-14 | 2018-03-27 | Samsung Electronics Co., Ltd. | Electronic system with interface control mechanism and method of operation thereof |
CN107038128B (zh) * | 2016-02-03 | 2020-07-28 | 华为技术有限公司 | 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 |
US10678702B2 (en) * | 2016-05-27 | 2020-06-09 | Advanced Micro Devices, Inc. | Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations |
US10140214B2 (en) | 2016-08-29 | 2018-11-27 | Red Hat Israel, Ltd. | Hypervisor translation bypass by host IOMMU with virtual machine migration support |
US10176122B2 (en) * | 2016-10-19 | 2019-01-08 | Advanced Micro Devices, Inc. | Direct memory access authorization in a processing system |
KR20180066601A (ko) | 2016-12-09 | 2018-06-19 | 삼성전자주식회사 | 메모리 시스템의 구동 방법 |
EP3602376B1 (en) | 2017-03-29 | 2022-03-30 | Advanced Micro Devices, Inc. | Monitoring of memory page transitions between a hypervisor and a virtual machine |
US11119947B2 (en) | 2017-10-30 | 2021-09-14 | Hewlett-Packard Development Company, L.P. | Secure hardware initialization |
US10860474B2 (en) * | 2017-12-14 | 2020-12-08 | Micron Technology, Inc. | Multilevel addressing |
CN108446137B (zh) * | 2018-02-26 | 2024-08-23 | 国民技术股份有限公司 | 通道寄存器初始化方法、装置及dma设备、终端 |
US11157635B2 (en) * | 2018-04-08 | 2021-10-26 | Qualcomm Incorporated | Secure interface disablement |
US10929302B2 (en) | 2018-06-08 | 2021-02-23 | International Business Machines Corporation | MMIO addressing using a translation table |
US11321240B2 (en) | 2018-06-08 | 2022-05-03 | International Business Machines Corporation | MMIO addressing using a translation lookaside buffer |
US11392511B2 (en) * | 2019-09-25 | 2022-07-19 | Intel Corporation | Secure address translation services using a permission table |
US11100010B2 (en) * | 2019-09-26 | 2021-08-24 | Arm Limited | Apparatus and method for handling memory access requests |
GB2593716B (en) * | 2020-03-31 | 2022-08-10 | Advanced Risc Mach Ltd | Controlling memory access in a data processing systems with multiple subsystems |
KR102348256B1 (ko) * | 2020-05-11 | 2022-01-07 | 한국과학기술원 | 정형 검증을 이용한 i/o 커널 구현의 강화 |
US20220100532A1 (en) * | 2020-09-25 | 2022-03-31 | Intel Corporation | Technology for transferring iommu ownership to a new version of system software |
US11526451B2 (en) * | 2020-12-23 | 2022-12-13 | Intel Corporation | Secure address translation services using bundle access control |
US11860792B2 (en) * | 2021-05-04 | 2024-01-02 | Red Hat, Inc. | Memory access handling for peripheral component interconnect devices |
US12067275B1 (en) | 2022-06-30 | 2024-08-20 | Apple Inc. | Memory bank with subdomains |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR119649A (ja) | 1975-03-24 | |||
US4550368A (en) | 1982-07-02 | 1985-10-29 | Sun Microsystems, Inc. | High-speed memory and memory management system |
JPS61206043A (ja) | 1985-03-11 | 1986-09-12 | Hitachi Ltd | 仮想計算機システムにおける割込制御方法 |
US4802085A (en) | 1987-01-22 | 1989-01-31 | National Semiconductor Corporation | Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor |
JP2510605B2 (ja) | 1987-07-24 | 1996-06-26 | 株式会社日立製作所 | 仮想計算機システム |
JP3369580B2 (ja) | 1990-03-12 | 2003-01-20 | ヒューレット・パッカード・カンパニー | 直接メモリアクセスを行うためのインターフェース装置及び方法 |
JP3307085B2 (ja) | 1993-12-10 | 2002-07-24 | ソニー株式会社 | 通信方法及び電子機器 |
US6631435B1 (en) | 1996-02-02 | 2003-10-07 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US5826084A (en) | 1997-03-25 | 1998-10-20 | Texas Instruments Incorporated | Microprocessor with circuits, systems, and methods for selectively bypassing external interrupts past the monitor program during virtual program operation |
US5987557A (en) | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
JP3264319B2 (ja) | 1997-06-30 | 2002-03-11 | 日本電気株式会社 | バスブリッジ |
US5949436A (en) | 1997-09-30 | 1999-09-07 | Compaq Computer Corporation | Accelerated graphics port multiple entry gart cache allocation system and method |
US5956516A (en) | 1997-12-23 | 1999-09-21 | Intel Corporation | Mechanisms for converting interrupt request signals on address and data lines to interrupt message signals |
US6119204A (en) | 1998-06-30 | 2000-09-12 | International Business Machines Corporation | Data processing system and method for maintaining translation lookaside buffer TLB coherency without enforcing complete instruction serialization |
US6065088A (en) | 1998-08-31 | 2000-05-16 | International Business Machines Corporation | System and method for interrupt command queuing and ordering |
US6938094B1 (en) | 1999-09-17 | 2005-08-30 | Advanced Micro Devices, Inc. | Virtual channels and corresponding buffer allocations for deadlock-free computer system operation |
US6888843B2 (en) | 1999-09-17 | 2005-05-03 | Advanced Micro Devices, Inc. | Response virtual channel for handling all responses |
US6412043B1 (en) * | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6553460B1 (en) * | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6598128B1 (en) * | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6629207B1 (en) * | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method for loading instructions or data into a locked way of a cache memory |
EP1139222A1 (en) | 2000-03-31 | 2001-10-04 | Texas Instruments Incorporated | Prefetch for TLB cache |
US6622193B1 (en) | 2000-11-16 | 2003-09-16 | Sun Microsystems, Inc. | Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system |
US20020083254A1 (en) | 2000-12-22 | 2002-06-27 | Hummel Mark D. | System and method of implementing interrupts in a computer processing system having a communication fabric comprising a plurality of point-to-point links |
US6886171B2 (en) | 2001-02-20 | 2005-04-26 | Stratus Technologies Bermuda Ltd. | Caching for I/O virtual address translation and validation using device drivers |
JP3594082B2 (ja) | 2001-08-07 | 2004-11-24 | 日本電気株式会社 | 仮想アドレス間データ転送方式 |
US8051301B2 (en) * | 2001-11-13 | 2011-11-01 | Advanced Micro Devices, Inc. | Memory management system and method providing linear address based memory access security |
US6804741B2 (en) | 2002-01-16 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Coherent memory mapping tables for host I/O bridge |
US7058768B2 (en) * | 2002-04-17 | 2006-06-06 | Microsoft Corporation | Memory isolation through address translation data edit control |
US6986006B2 (en) | 2002-04-17 | 2006-01-10 | Microsoft Corporation | Page granular curtained memory via mapping control |
US6725289B1 (en) | 2002-04-17 | 2004-04-20 | Vmware, Inc. | Transparent address remapping for high-speed I/O |
DE60322366D1 (de) * | 2002-04-18 | 2008-09-04 | Advanced Micro Devices Inc | Rechnersystem mit einem für einen sicheren ausführungsmodus geeigneten cpu und einem sicherheitsdienst-prozessor die über einen gesicherten kommunikationsweg miteinander verbunden sind |
EP1495401B1 (en) | 2002-04-18 | 2007-01-24 | Advanced Micro Devices, Inc. | Initialization of a computer system including a secure execution mode-capable processor |
US7155379B2 (en) | 2003-02-25 | 2006-12-26 | Microsoft Corporation | Simulation of a PCI device's memory-mapped I/O registers |
US7010633B2 (en) * | 2003-04-10 | 2006-03-07 | International Business Machines Corporation | Apparatus, system and method for controlling access to facilities based on usage classes |
US7281075B2 (en) | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US7073043B2 (en) | 2003-04-28 | 2006-07-04 | International Business Machines Corporation | Multiprocessor system supporting multiple outstanding TLBI operations per partition |
US7177967B2 (en) | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US7552436B2 (en) | 2003-11-25 | 2009-06-23 | International Business Machines | Memory mapped input/output virtualization |
US7209994B1 (en) | 2004-05-11 | 2007-04-24 | Advanced Micro Devices, Inc. | Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests |
US7444493B2 (en) | 2004-09-30 | 2008-10-28 | Intel Corporation | Address translation for input/output devices using hierarchical translation tables |
US8843727B2 (en) | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
JP2006133889A (ja) | 2004-11-02 | 2006-05-25 | Sharp Corp | プログラムを更新するための方法、プログラムおよび装置 |
DE112005002949T5 (de) * | 2004-11-24 | 2007-12-27 | Discretix Technologies Ltd. | System, Verfahren und Vorrichtung zur Sicherung eines Betriebssystems |
US20060195848A1 (en) | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | System and method of virtual resource modification on a physical adapter that supports virtual resources |
US20060200616A1 (en) | 2005-03-02 | 2006-09-07 | Richard Maliszewski | Mechanism for managing resources shared among virtual machines |
US7428626B2 (en) | 2005-03-08 | 2008-09-23 | Microsoft Corporation | Method and system for a second level address translation in a virtual machine environment |
US7260663B2 (en) | 2005-04-07 | 2007-08-21 | International Business Machines Corporation | System and method for presenting interrupts |
US7487327B1 (en) | 2005-06-01 | 2009-02-03 | Sun Microsystems, Inc. | Processor and method for device-specific memory address translation |
US7225287B2 (en) | 2005-06-01 | 2007-05-29 | Microsoft Corporation | Scalable DMA remapping on a computer bus |
US20060288130A1 (en) | 2005-06-21 | 2006-12-21 | Rajesh Madukkarumukumana | Address window support for direct memory access translation |
US20060294277A1 (en) | 2005-06-24 | 2006-12-28 | Tetrick Raymond S | Message signaled interrupt redirection |
US7793067B2 (en) | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
US7543131B2 (en) | 2005-08-12 | 2009-06-02 | Advanced Micro Devices, Inc. | Controlling an I/O MMU |
US7516247B2 (en) | 2005-08-12 | 2009-04-07 | Advanced Micro Devices, Inc. | Avoiding silent data corruption and data leakage in a virtual environment with multiple guests |
US7480784B2 (en) | 2005-08-12 | 2009-01-20 | Advanced Micro Devices, Inc. | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) |
US20070067505A1 (en) | 2005-09-22 | 2007-03-22 | Kaniyur Narayanan G | Method and an apparatus to prevent over subscription and thrashing of translation lookaside buffer (TLB) entries in I/O virtualization hardware |
US7447820B2 (en) | 2005-09-30 | 2008-11-04 | Intel Corporation | Retargeting of platform interrupts |
US7548999B2 (en) | 2006-01-17 | 2009-06-16 | Advanced Micro Devices, Inc. | Chained hybrid input/output memory management unit |
US7653803B2 (en) | 2006-01-17 | 2010-01-26 | Globalfoundries Inc. | Address translation for input/output (I/O) devices and interrupt remapping for I/O devices in an I/O memory management unit (IOMMU) |
US7849287B2 (en) | 2006-11-13 | 2010-12-07 | Advanced Micro Devices, Inc. | Efficiently controlling special memory mapped system accesses |
US7873770B2 (en) | 2006-11-13 | 2011-01-18 | Globalfoundries Inc. | Filtering and remapping interrupts |
US7707383B2 (en) | 2006-11-21 | 2010-04-27 | Intel Corporation | Address translation performance in virtualized environments |
US8307360B2 (en) | 2008-01-22 | 2012-11-06 | Advanced Micro Devices, Inc. | Caching binary translations for virtual machine guest |
US8578483B2 (en) * | 2008-07-31 | 2013-11-05 | Carnegie Mellon University | Systems and methods for preventing unauthorized modification of an operating system |
US8386745B2 (en) | 2009-07-24 | 2013-02-26 | Advanced Micro Devices, Inc. | I/O memory management unit including multilevel address translation for I/O and computation offload |
-
2011
- 2011-09-25 US US13/244,571 patent/US8631212B2/en active Active
-
2012
- 2012-09-24 EP EP12773164.4A patent/EP2758884B1/en active Active
- 2012-09-24 KR KR1020147010694A patent/KR101471108B1/ko active IP Right Grant
- 2012-09-24 JP JP2014532070A patent/JP5690024B2/ja active Active
- 2012-09-24 CN CN201280046643.9A patent/CN103842976B/zh active Active
- 2012-09-24 WO PCT/US2012/056898 patent/WO2013044223A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200115125A (ko) * | 2019-03-25 | 2020-10-07 | 주식회사 엘지화학 | 차량 전기 시스템을 위한 진단 시스템 |
KR102221086B1 (ko) | 2019-03-25 | 2021-02-25 | 주식회사 엘지화학 | 차량 전기 시스템을 위한 진단 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR101471108B1 (ko) | 2014-12-09 |
CN103842976B (zh) | 2016-01-20 |
JP2014531672A (ja) | 2014-11-27 |
US20130080726A1 (en) | 2013-03-28 |
EP2758884B1 (en) | 2018-07-25 |
KR20140057405A (ko) | 2014-05-12 |
WO2013044223A1 (en) | 2013-03-28 |
US8631212B2 (en) | 2014-01-14 |
CN103842976A (zh) | 2014-06-04 |
EP2758884A1 (en) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5690024B2 (ja) | I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット | |
Olson et al. | Border control: Sandboxing accelerators | |
CN109643290B (zh) | 用于具用扩展分段的面向对象的存储器管理的技术 | |
US9720843B2 (en) | Access type protection of memory reserved for use by processor logic | |
US10324863B2 (en) | Protected memory view for nested page table access by virtual machine guests | |
US8386745B2 (en) | I/O memory management unit including multilevel address translation for I/O and computation offload | |
US9335943B2 (en) | Method and apparatus for fine grain memory protection | |
US8074274B2 (en) | User-level privilege management | |
US20130080714A1 (en) | I/o memory translation unit with support for legacy devices | |
JP5433349B2 (ja) | データプロセッサ | |
JP2021512400A (ja) | メモリ・アクセスにおける保護タグ・チェックの制御 | |
Allievi et al. | Windows internals, part 2 | |
US20230409494A1 (en) | Technique for constraining access to memory using capabilities | |
US20240202139A1 (en) | Technique for constraining access to memory using capabilities | |
EP4384928A1 (en) | Technique for handling sealed capabilities | |
JP2021157766A (ja) | シャドウスタックを効率的に管理および処理するための装置および方法 | |
Shepherd et al. | Background Material | |
TW202340955A (zh) | 使用能力約束記憶體存取之技術 | |
JP2024538674A (ja) | 封止されたケイパビリティを操作するための技法 | |
EP4330813A1 (en) | Technique for constraining access to memory using capabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141203 |
|
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: 20150106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5690024 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 |
|
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 |