JP2013519965A - Tlbサポート設計のiommu - Google Patents
Tlbサポート設計のiommu Download PDFInfo
- Publication number
- JP2013519965A JP2013519965A JP2012553997A JP2012553997A JP2013519965A JP 2013519965 A JP2013519965 A JP 2013519965A JP 2012553997 A JP2012553997 A JP 2012553997A JP 2012553997 A JP2012553997 A JP 2012553997A JP 2013519965 A JP2013519965 A JP 2013519965A
- Authority
- JP
- Japan
- Prior art keywords
- address translation
- cache
- management unit
- translation information
- memory management
- 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
- 238000013461 design Methods 0.000 title description 5
- 238000013519 translation Methods 0.000 claims abstract description 163
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000011161 development Methods 0.000 abstract description 5
- 230000006399 behavior Effects 0.000 abstract description 4
- 230000014616 translation Effects 0.000 description 129
- 230000002093 peripheral effect Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 7
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- 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/654—Look-ahead translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
実施形態は、ページテーブルの構造及びフォーマットに依存しない改良されたトランスレーション挙動を有する入力/出力メモリ管理ユニット(IOMMU)のより小さくより単純なハードウエア実装を可能にする。実施形態はまた、デバイスに依存しない構造及び実装の方法を提供し、ソフトウエアのより大きな一般性を可能にする(より少ない特定のソフトウエアバージョンは同時に開発コストを低減する)。
【選択図】図10
Description
ここに説明される実施形態は、IOMMU実装(製品)の製品化までの時間を改善することができ、新たなIOMMUハードウエアを開発し、試験し及びサポートするのに要求される努力を低減することができ、そしてソフトウエアがグローバル的に最適なポリシー決定を行ってそれが適用可能なハードウエアによるローカル的に最適なポリシー決定を改善するのを可能にするメカニズムを提供することができる。実施形態はまた、サイドTLBを利用してソフトウエア管理の「迅速パス(quick path)」トランスレーション特徴を可能にする。IOメモリ管理ユニットの機能がより効率的に実装され得る(より少ないシリコン面積)し、またIOはそのようなシステムでより高速に動作することができる。提案される強化の有無にかかわらず、多重IOMMUが互換性の理由からシステム内に共存することができ、即ち新旧チップ設計がシステム設計において混在し得る。幾つかの実施形態はページウォーカーハードウエアを必要としないので、この場合におけるIOMMUは小型化が可能でありまたより小さなFPGAを取り付けることができる。実施形態は、IOMMUが特定のページテーブルのフォーマットをハードウエア配線することを必要としないので、実施形態は種々のページテーブルフォーマット(例えば非x86プロセッサ及びフォーマットを伴う)と協働することができる。
Claims (25)
- メモリ管理ユニットを含むコンピュータシステムの資源状態を決定することと、
決定された資源状態に基づいてアドレストランスレーション情報を前記メモリ管理ユニットに関連付けられるキャッシュで選択的に記憶することと、を備える方法。 - 前記アドレストランスレーション情報はプリフェッチ即時コマンド内に含まれる請求項1の方法。
- 前記アドレストランスレーション情報は、(i)仮想アドレス、及び(ii)前記仮想アドレスに関連付けられるトランスレートされた物理アドレス、を含む請求項1の方法。
- 前記メモリ管理ユニットは入力/出力(I/O)メモリ管理ユニット(IOMMU)である請求項1の方法。
- 前記キャッシュはI/Oトランスレーションルックアサイドバッファ(IOTLB)である請求項1の方法。
- 前記キャッシュは前記IOTLBに関連付けられるトランスレーションキャッシュ動作から隔離されたサイドトランスレーションバッファを更に備える請求項5の方法。
- 前記キャッシュに記憶されていないアドレストランスレーション情報に対する要求に応答してイベントログエントリを作成することと、
当該要求されたアドレストランスレーション情報を前記イベントログエントリに応答して前記キャッシュ内へと挿入することと、を更に備える請求項1の方法。 - 前記キャッシュに記憶されていないアドレストランスレーション情報に対する要求に応答して、前記メモリ管理ユニットに関連付けられるページテーブルウォーカーを用いてページテーブルウォークを行うことと、
前記ページテーブルウォーカーを用いて前記コンピュータシステムのシステムメモリ内のトランスレーションテーブルから当該要求されたアドレストランスレーション情報を取得することと、
前記要求されたアドレストランスレーション情報を、前記メモリ管理ユニットに関連付けられるキャッシュ置換メカニズムを用いて前記キャッシュ内へと挿入することと、を更に備える請求項1の方法。 - 前記アドレストランスレーション情報を前記キャッシュに関連付けられる1つ以上の指定されたスロット内へと挿入することにより、前記メモリ管理ユニットに関連付けられるキャッシュ置換メカニズムをバイパスすることを更に備える請求項1の方法。
- 前記メモリ管理ユニットに関連付けられる無効化メカニズムを用いて、前記キャッシュに関連付けられるロケーションを無効化することを更に備え、
前記無効化することは、(i)1つ以上のアドレスエントリ、及び(ii)1つ以上のスロット、の少なくとも1つを指定する無効化コマンドに応答する請求項1の方法。 - 指定されたアドレストランスレーション情報に関連付けられる既に記憶されたいかなるアドレストランスレーション情報にもかかわらず、無効化表示に応答して前記指定されたアドレストランスレーション情報を記憶することを更に備える請求項1の方法。
- 少なくとも前記資源状態に基づいて割り込み再マッピング情報を前記メモリ管理ユニットに関連付けられる割り込み再マッピングバッファで選択的に記憶することを更に備える請求項1の方法。
- メモリ管理ユニットを備えるコンピュータシステムであって、
前記メモリ管理ユニットは、前記コンピュータシステムの資源状態を決定すると共に決定された資源状態に基づいてアドレストランスレーション情報を前記メモリ管理ユニットに関連付けられるキャッシュで選択的に記憶するように構成されるコンピュータシステム。 - 前記アドレストランスレーション情報はプリフェッチ即時コマンド内に含まれる請求項13のシステム。
- 前記アドレストランスレーション情報は、(i)仮想アドレス、及び(ii)前記仮想アドレスに関連付けられるトランスレートされた物理アドレス、を含む請求項13のシステム。
- 前記メモリ管理ユニットは入力/出力(I/O)メモリ管理ユニット(IOMMU)である請求項13のシステム。
- 前記キャッシュはI/Oトランスレーションルックアサイドバッファ(IOTLB)である請求項13のシステム。
- 前記キャッシュは前記IOTLBに関連付けられるトランスレーションキャッシュ動作から隔離されたサイドトランスレーションバッファを更に備える請求項17のシステム。
- 前記メモリ管理ユニットは、
前記キャッシュに記憶されていないアドレストランスレーション情報に対する要求に応答してイベントログエントリを作成することと、
当該要求されたアドレストランスレーション情報を前記イベントログエントリに応答して前記キャッシュ内へと挿入することと、を行うように更に構成される請求項13のシステム。 - 前記メモリ管理ユニットは、
前記キャッシュに記憶されていないアドレストランスレーション情報に対する要求に応答して、前記メモリ管理ユニットに関連付けられるページテーブルウォーカーを用いてページテーブルウォークを行うことと、
前記ページテーブルウォーカーを用いて前記コンピュータシステムのシステムメモリ内のトランスレーションテーブルから当該要求されたアドレストランスレーション情報を取得することと、
前記要求されたアドレストランスレーション情報を、前記メモリ管理ユニットに関連付けられるキャッシュ置換メカニズムを用いて前記キャッシュ内へと挿入することと、を行うように更に構成される請求項13のシステム。 - 前記メモリ管理ユニットは、
前記アドレストランスレーション情報を前記キャッシュに関連付けられる1つ以上の指定されたスロット内へと挿入することにより、前記メモリ管理ユニットに関連付けられるキャッシュ置換メカニズムをバイパスするように更に構成される請求項13のシステム。 - 前記メモリ管理ユニットは、
(i)1つ以上のアドレスエントリ、及び(ii)1つ以上のスロット、の少なくとも1つを指定する無効化コマンドに応答して、前記メモリ管理ユニットに関連付けられる無効化メカニズムを用いて、前記キャッシュに関連付けられるロケーションを無効化するように更に構成される請求項13のシステム。 - 前記メモリ管理ユニットは、
指定されたアドレストランスレーション情報に関連付けられる既に記憶されたいかなるアドレストランスレーション情報にもかかわらず、無効化表示に応答して前記指定されたアドレストランスレーション情報を記憶するように更に構成される請求項13のシステム。 - 前記メモリ管理ユニットに関連付けられる割り込み再マッピングバッファであって、少なくとも前記資源状態に基づいて割り込み再マッピング情報を選択的に記憶するように構成される再マッピングバッファを更に備える請求項13のシステム。
- コンピュータ実行可能命令が記憶された有形的コンピュータ可読媒体であって、前記コンピュータ実行可能命令は、コンピューティングデバイスによって実行される場合に、
メモリ管理ユニットを含むコンピュータシステムの資源状態を決定することと、
決定された資源状態に基づいてアドレストランスレーション情報を前記メモリ管理ユニットに関連付けられるキャッシュで選択的に記憶することと、を備える方法を前記コンピューティングデバイスに行わさせる有形的コンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/707,341 US8244978B2 (en) | 2010-02-17 | 2010-02-17 | IOMMU architected TLB support |
US12/707,341 | 2010-02-17 | ||
PCT/US2011/025075 WO2011103184A2 (en) | 2010-02-17 | 2011-02-16 | Iommu architected tlb support |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013519965A true JP2013519965A (ja) | 2013-05-30 |
JP2013519965A5 JP2013519965A5 (ja) | 2014-04-03 |
JP5650766B2 JP5650766B2 (ja) | 2015-01-07 |
Family
ID=44041567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012553997A Active JP5650766B2 (ja) | 2010-02-17 | 2011-02-16 | Tlbサポート設計のiommu |
Country Status (6)
Country | Link |
---|---|
US (1) | US8244978B2 (ja) |
EP (2) | EP3486788A1 (ja) |
JP (1) | JP5650766B2 (ja) |
KR (1) | KR101623514B1 (ja) |
CN (1) | CN103026348B (ja) |
WO (1) | WO2011103184A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190002473A (ko) * | 2016-05-27 | 2019-01-08 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 가상 어드레스를 물리적 어드레스로 번역을 수행하기 위해 입력-출력 메모리 관리 유닛내 다수의 메모리 소자들 사용 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
US8719464B2 (en) * | 2011-11-30 | 2014-05-06 | Advanced Micro Device, Inc. | Efficient memory and resource management |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9152571B2 (en) * | 2012-07-31 | 2015-10-06 | Ati Technologies Ulc | All invalidate approach for memory management units |
US9740624B2 (en) | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Selectable address translation mechanisms within a partition |
US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
US9355032B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Supporting multiple types of guests by a hypervisor |
US9280488B2 (en) | 2012-10-08 | 2016-03-08 | International Business Machines Corporation | Asymmetric co-existent address translation structure formats |
US9355040B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Adjunct component to provide full virtualization using paravirtualized hypervisors |
US9348757B2 (en) | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
US9064030B2 (en) | 2012-11-29 | 2015-06-23 | International Business Machines Corporation | Tree traversal in a memory device |
US9645934B2 (en) | 2013-09-13 | 2017-05-09 | Samsung Electronics Co., Ltd. | System-on-chip and address translation method thereof using a translation lookaside buffer and a prefetch buffer |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
CN105095108A (zh) * | 2014-05-06 | 2015-11-25 | 展讯通信(上海)有限公司 | 输入输出存储器管理单元及控制方法、装置 |
US9798728B2 (en) | 2014-07-24 | 2017-10-24 | Netapp, Inc. | System performing data deduplication using a dense tree data structure |
US9323701B2 (en) | 2014-07-29 | 2016-04-26 | Netapp, Inc. | Technique for synchronizing IOMMU memory de-registration and incoming I/O data |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
US9671960B2 (en) | 2014-09-12 | 2017-06-06 | Netapp, Inc. | Rate matching technique for balancing segment cleaning and I/O workload |
US9542332B2 (en) * | 2014-11-13 | 2017-01-10 | Via Alliance Semiconductor Co., Ltd. | System and method for performing hardware prefetch tablewalks having lowest tablewalk priority |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
US11782601B2 (en) | 2015-01-20 | 2023-10-10 | Ultrata, Llc | Object memory instruction set |
CN112214424B (zh) | 2015-01-20 | 2024-04-05 | 乌尔特拉塔有限责任公司 | 对象存储器结构、处理节点、存储器对象存储和管理方法 |
WO2016118564A1 (en) * | 2015-01-20 | 2016-07-28 | Ultrata Llc | Universal single level object memory address space |
US9720601B2 (en) | 2015-02-11 | 2017-08-01 | Netapp, Inc. | Load balancing technique for a storage array |
US9762460B2 (en) | 2015-03-24 | 2017-09-12 | Netapp, Inc. | Providing continuous context for operational information of a storage system |
KR101994952B1 (ko) * | 2015-03-27 | 2019-07-01 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 데이터 처리 방법, 메모리 관리 유닛, 및 메모리 제어 장치 |
US9792215B2 (en) | 2015-03-28 | 2017-10-17 | Qualcomm Incorporated | Command-driven translation pre-fetch for memory management units |
US9710317B2 (en) | 2015-03-30 | 2017-07-18 | Netapp, Inc. | Methods to identify, handle and recover from suspect SSDS in a clustered flash array |
US9971542B2 (en) | 2015-06-09 | 2018-05-15 | Ultrata, Llc | Infinite memory fabric streams and APIs |
US9886210B2 (en) | 2015-06-09 | 2018-02-06 | Ultrata, Llc | Infinite memory fabric hardware implementation with router |
US10698628B2 (en) | 2015-06-09 | 2020-06-30 | Ultrata, Llc | Infinite memory fabric hardware implementation with memory |
US10459847B1 (en) * | 2015-07-01 | 2019-10-29 | Google Llc | Non-volatile memory device application programming interface |
US20170024145A1 (en) * | 2015-07-23 | 2017-01-26 | Qualcomm Incorporated | Address translation and data pre-fetch in a cache memory system |
US9740566B2 (en) | 2015-07-31 | 2017-08-22 | Netapp, Inc. | Snapshot creation workflow |
US10235063B2 (en) | 2015-12-08 | 2019-03-19 | Ultrata, Llc | Memory fabric operations and coherency using fault tolerant objects |
WO2017100288A1 (en) | 2015-12-08 | 2017-06-15 | Ultrata, Llc. | Memory fabric operations and coherency using fault tolerant objects |
US10241676B2 (en) | 2015-12-08 | 2019-03-26 | Ultrata, Llc | Memory fabric software implementation |
CA3006773A1 (en) | 2015-12-08 | 2017-06-15 | Ultrata, Llc | Memory fabric software implementation |
US9959214B1 (en) * | 2015-12-29 | 2018-05-01 | Amazon Technologies, Inc. | Emulated translation unit using a management processor |
US9727484B1 (en) * | 2016-01-29 | 2017-08-08 | International Business Machines Corporation | Dynamic cache memory management with translation lookaside buffer protection |
US10671419B2 (en) * | 2016-02-29 | 2020-06-02 | Red Hat Israel, Ltd. | Multiple input-output memory management units with fine grained device scopes for virtual machines |
US10386904B2 (en) | 2016-03-31 | 2019-08-20 | Qualcomm Incorporated | Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks |
US10977192B1 (en) * | 2016-04-08 | 2021-04-13 | Amazon Technologies, Inc. | Real-time memory-page state tracking and its applications |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US10599569B2 (en) | 2016-06-23 | 2020-03-24 | International Business Machines Corporation | Maintaining consistency between address translations in a data processing system |
US10095620B2 (en) * | 2016-06-29 | 2018-10-09 | International Business Machines Corporation | Computer system including synchronous input/output and hardware assisted purge of address translation cache entries of synchronous input/output transactions |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
US10417140B2 (en) * | 2017-02-24 | 2019-09-17 | Advanced Micro Devices, Inc. | Streaming translation lookaside buffer |
US10929310B2 (en) * | 2019-03-01 | 2021-02-23 | Cisco Technology, Inc. | Adaptive address translation caches |
US11157285B2 (en) | 2020-02-06 | 2021-10-26 | International Business Machines Corporation | Dynamic modification of instructions that do not modify the architectural state of a processor |
KR20220078132A (ko) | 2020-12-03 | 2022-06-10 | 삼성전자주식회사 | 어드레스 변환을 수행하는 시스템 온 칩 및 이의 동작 방법 |
US12111772B2 (en) * | 2020-12-23 | 2024-10-08 | Intel Corporation | Device, system and method for selectively dropping software prefetch instructions |
CN114238167B (zh) * | 2021-12-14 | 2022-09-09 | 海光信息技术股份有限公司 | 信息预取方法、处理器、电子设备 |
KR20230163881A (ko) | 2022-05-24 | 2023-12-01 | 삼성전자주식회사 | 입출력 메모리 관리 유닛과 이를 포함하는 장치 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124237A (ja) * | 1992-10-13 | 1994-05-06 | Fuji Xerox Co Ltd | アドレス変換バッファ装置 |
EP1139222A1 (en) * | 2000-03-31 | 2001-10-04 | Texas Instruments Incorporated | Prefetch for TLB cache |
JP2002149490A (ja) * | 2000-11-06 | 2002-05-24 | Fujitsu Ltd | マイクロプロセッサ及びマイクロプロセッサのアドレス変換方法 |
JP2004133933A (ja) * | 2002-10-10 | 2004-04-30 | Internatl Business Mach Corp <Ibm> | 仮想メモリを管理するための方法およびプロファイリング・キャッシュ |
US20070136534A1 (en) * | 2005-12-09 | 2007-06-14 | Wayne Mesard | Method and apparatus for selectively prefetching based on resource availability |
US20080209130A1 (en) * | 2005-08-12 | 2008-08-28 | Kegel Andrew G | Translation Data Prefetch in an IOMMU |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134633A (en) * | 1997-10-31 | 2000-10-17 | U.S. Philips Corporation | Prefetch management in cache memory |
US6438593B1 (en) * | 1998-05-21 | 2002-08-20 | Lucent Technologies Inc. | Method for information retrieval in broadcast disk systems |
GB2378277B (en) * | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
US7673116B2 (en) * | 2006-01-17 | 2010-03-02 | Advanced Micro Devices, Inc. | Input/output memory management unit that implements memory attributes based on translation data |
CN101246452B (zh) * | 2007-02-12 | 2010-12-15 | 国际商业机器公司 | 执行快速的mmu模拟的方法和装置、以及全系统模拟器 |
US7904692B2 (en) * | 2007-11-01 | 2011-03-08 | Shrijeet Mukherjee | Iommu with translation request management and methods for managing translation requests |
US8234432B2 (en) * | 2009-01-26 | 2012-07-31 | Advanced Micro Devices, Inc. | Memory structure to store interrupt state for inactive guests |
-
2010
- 2010-02-17 US US12/707,341 patent/US8244978B2/en active Active
-
2011
- 2011-02-16 WO PCT/US2011/025075 patent/WO2011103184A2/en active Application Filing
- 2011-02-16 CN CN201180009059.1A patent/CN103026348B/zh active Active
- 2011-02-16 EP EP18207073.0A patent/EP3486788A1/en not_active Ceased
- 2011-02-16 JP JP2012553997A patent/JP5650766B2/ja active Active
- 2011-02-16 EP EP11706685.2A patent/EP2537098B1/en active Active
- 2011-02-16 KR KR1020127024276A patent/KR101623514B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124237A (ja) * | 1992-10-13 | 1994-05-06 | Fuji Xerox Co Ltd | アドレス変換バッファ装置 |
EP1139222A1 (en) * | 2000-03-31 | 2001-10-04 | Texas Instruments Incorporated | Prefetch for TLB cache |
JP2002149490A (ja) * | 2000-11-06 | 2002-05-24 | Fujitsu Ltd | マイクロプロセッサ及びマイクロプロセッサのアドレス変換方法 |
JP2004133933A (ja) * | 2002-10-10 | 2004-04-30 | Internatl Business Mach Corp <Ibm> | 仮想メモリを管理するための方法およびプロファイリング・キャッシュ |
US20080209130A1 (en) * | 2005-08-12 | 2008-08-28 | Kegel Andrew G | Translation Data Prefetch in an IOMMU |
US20070136534A1 (en) * | 2005-12-09 | 2007-06-14 | Wayne Mesard | Method and apparatus for selectively prefetching based on resource availability |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190002473A (ko) * | 2016-05-27 | 2019-01-08 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 가상 어드레스를 물리적 어드레스로 번역을 수행하기 위해 입력-출력 메모리 관리 유닛내 다수의 메모리 소자들 사용 |
JP2019521409A (ja) * | 2016-05-27 | 2019-07-25 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 仮想アドレスから物理アドレスへの変換を実行する入出力メモリ管理ユニットにおける複数のメモリ素子の使用 |
KR102423713B1 (ko) | 2016-05-27 | 2022-07-21 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 가상 어드레스를 물리적 어드레스로 번역을 수행하기 위해 입력-출력 메모리 관리 유닛내 다수의 메모리 소자들 사용 |
JP7232644B2 (ja) | 2016-05-27 | 2023-03-03 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 仮想アドレスから物理アドレスへの変換を実行する入出力メモリ管理ユニットにおける複数のメモリ素子の使用 |
Also Published As
Publication number | Publication date |
---|---|
US8244978B2 (en) | 2012-08-14 |
WO2011103184A2 (en) | 2011-08-25 |
KR101623514B1 (ko) | 2016-05-23 |
CN103026348A (zh) | 2013-04-03 |
US20110202724A1 (en) | 2011-08-18 |
CN103026348B (zh) | 2016-03-16 |
JP5650766B2 (ja) | 2015-01-07 |
EP2537098B1 (en) | 2018-11-21 |
EP3486788A1 (en) | 2019-05-22 |
KR20130009781A (ko) | 2013-01-23 |
EP2537098A2 (en) | 2012-12-26 |
WO2011103184A3 (en) | 2012-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5650766B2 (ja) | Tlbサポート設計のiommu | |
US10802987B2 (en) | Computer processor employing cache memory storing backless cache lines | |
US5359723A (en) | Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only | |
US7996650B2 (en) | Microprocessor that performs speculative tablewalks | |
US6412057B1 (en) | Microprocessor with virtual-to-physical address translation using flags | |
US20140013058A1 (en) | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry | |
KR100240914B1 (ko) | 데이터 프리페치 방법 및 프로세싱 시스템 | |
US20130262736A1 (en) | Memory types for caching policies | |
US20040117587A1 (en) | Hardware managed virtual-to-physical address translation mechanism | |
JP2008542948A (ja) | コンフィギュラブルトランスレーションルックアサイドバッファを備えたマイクロプロセッサ | |
JP2013500524A (ja) | 周辺相互接続におけるi/o及び計算負荷軽減デバイスのための2レベルのアドレストランスレーションを用いるiommu | |
US20040117588A1 (en) | Access request for a data processing system having no system memory | |
US11853225B2 (en) | Software-hardware memory management modes | |
WO2016139444A1 (en) | Cache maintenance instruction | |
US7017024B2 (en) | Data processing system having no system memory | |
US20040117590A1 (en) | Aliasing support for a data processing system having no system memory | |
JP2022548219A (ja) | 変換ルックアサイドバッファ無効化 | |
JP2000339221A (ja) | 変換装置のエントリを無効化するシステム及び方法 | |
WO2022133841A1 (en) | Apparatus and method for address pre-translation to enhance direct memory access by hardware subsystems | |
US11853228B1 (en) | Partial-address-translation-invalidation request | |
US11314657B1 (en) | Tablewalk takeover | |
US20040117583A1 (en) | Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme | |
Bhattacharjee et al. | Heterogeneity and Virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140217 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20140217 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20140311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140326 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140626 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140725 |
|
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: 20141015 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5650766 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 |