JP5650766B2 - Tlbサポート設計のiommu - Google Patents
Tlbサポート設計のiommu Download PDFInfo
- Publication number
- JP5650766B2 JP5650766B2 JP2012553997A JP2012553997A JP5650766B2 JP 5650766 B2 JP5650766 B2 JP 5650766B2 JP 2012553997 A JP2012553997 A JP 2012553997A JP 2012553997 A JP2012553997 A JP 2012553997A JP 5650766 B2 JP5650766 B2 JP 5650766B2
- Authority
- JP
- Japan
- Prior art keywords
- address translation
- translation information
- cache
- management unit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/707,341 | 2010-02-17 | ||
| US12/707,341 US8244978B2 (en) | 2010-02-17 | 2010-02-17 | IOMMU architected TLB support |
| PCT/US2011/025075 WO2011103184A2 (en) | 2010-02-17 | 2011-02-16 | Iommu architected tlb support |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2013519965A JP2013519965A (ja) | 2013-05-30 |
| JP2013519965A5 JP2013519965A5 (enExample) | 2014-04-03 |
| JP5650766B2 true 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 (enExample) |
| EP (2) | EP3486788A1 (enExample) |
| JP (1) | JP5650766B2 (enExample) |
| KR (1) | KR101623514B1 (enExample) |
| CN (1) | CN103026348B (enExample) |
| WO (1) | WO2011103184A2 (enExample) |
Families Citing this family (61)
| 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 |
| US8819208B2 (en) | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
| US8719464B2 (en) * | 2011-11-30 | 2014-05-06 | Advanced Micro Device, Inc. | Efficient memory and resource management |
| US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
| US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
| US9152571B2 (en) * | 2012-07-31 | 2015-10-06 | Ati Technologies Ulc | All invalidate approach for memory management units |
| WO2014031495A2 (en) * | 2012-08-18 | 2014-02-27 | Arteris SAS | System translation look-aside buffer with request-based allocation and prefetching |
| US9740624B2 (en) | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Selectable address translation mechanisms within a partition |
| US9355040B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Adjunct component to provide full virtualization using paravirtualized hypervisors |
| 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 |
| US9348757B2 (en) | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
| US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
| 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 |
| CN113704141A (zh) | 2015-01-20 | 2021-11-26 | 乌尔特拉塔有限责任公司 | 对象存储器数据流指令执行 |
| CN112214424B (zh) | 2015-01-20 | 2024-04-05 | 乌尔特拉塔有限责任公司 | 对象存储器结构、处理节点、存储器对象存储和管理方法 |
| WO2016118561A1 (en) * | 2015-01-20 | 2016-07-28 | Ultrata Llc | Object memory fabric performance acceleration |
| 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 |
| US9886210B2 (en) | 2015-06-09 | 2018-02-06 | Ultrata, Llc | Infinite memory fabric hardware implementation with router |
| US9971542B2 (en) | 2015-06-09 | 2018-05-15 | Ultrata, Llc | Infinite memory fabric streams and APIs |
| 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 |
| 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 |
| US10248337B2 (en) | 2015-12-08 | 2019-04-02 | Ultrata, Llc | Object memory interfaces across shared links |
| 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 |
| 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 |
| 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 |
| US20240020241A1 (en) * | 2020-12-24 | 2024-01-18 | Intel Corporation | Apparatus and method for address pre-translation to enhance direct memory access by hardware subsystems |
| US11726693B2 (en) * | 2020-12-29 | 2023-08-15 | Ati Technologies Ulc | Migrating pages of memory accessible by input-output devices |
| CN114238167B (zh) * | 2021-12-14 | 2022-09-09 | 海光信息技术股份有限公司 | 信息预取方法、处理器、电子设备 |
| KR20230163881A (ko) | 2022-05-24 | 2023-12-01 | 삼성전자주식회사 | 입출력 메모리 관리 유닛과 이를 포함하는 장치 |
| CN119336663B (zh) * | 2024-12-18 | 2025-03-18 | 中电科申泰信息科技有限公司 | 一种适用于siov虚拟化设备的高速iommu电路 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06124237A (ja) * | 1992-10-13 | 1994-05-06 | Fuji Xerox Co Ltd | アドレス変換バッファ装置 |
| 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 |
| EP1139222A1 (en) | 2000-03-31 | 2001-10-04 | Texas Instruments Incorporated | Prefetch for TLB cache |
| US6553477B1 (en) * | 2000-11-06 | 2003-04-22 | Fujitsu Limited | Microprocessor and address translation method for microprocessor |
| GB2378277B (en) * | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
| US7089396B2 (en) * | 2002-10-10 | 2006-08-08 | International Business Machines Corporation | Method and profiling cache for management of virtual memory |
| US7793067B2 (en) * | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
| US7707359B2 (en) | 2005-12-09 | 2010-04-27 | Oracle America, Inc. | Method and apparatus for selectively prefetching based on resource availability |
| 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 EP EP18207073.0A patent/EP3486788A1/en not_active Ceased
- 2011-02-16 JP JP2012553997A patent/JP5650766B2/ja active Active
- 2011-02-16 WO PCT/US2011/025075 patent/WO2011103184A2/en not_active Ceased
- 2011-02-16 CN CN201180009059.1A patent/CN103026348B/zh active Active
- 2011-02-16 KR KR1020127024276A patent/KR101623514B1/ko active Active
- 2011-02-16 EP EP11706685.2A patent/EP2537098B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20130009781A (ko) | 2013-01-23 |
| WO2011103184A2 (en) | 2011-08-25 |
| EP2537098A2 (en) | 2012-12-26 |
| US20110202724A1 (en) | 2011-08-18 |
| EP2537098B1 (en) | 2018-11-21 |
| KR101623514B1 (ko) | 2016-05-23 |
| EP3486788A1 (en) | 2019-05-22 |
| US8244978B2 (en) | 2012-08-14 |
| JP2013519965A (ja) | 2013-05-30 |
| WO2011103184A3 (en) | 2012-10-11 |
| CN103026348B (zh) | 2016-03-16 |
| CN103026348A (zh) | 2013-04-03 |
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 | |
| KR100240914B1 (ko) | 데이터 프리페치 방법 및 프로세싱 시스템 | |
| US20100011147A1 (en) | Virtualizing an IOMMU | |
| US20140013058A1 (en) | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry | |
| US12314187B2 (en) | Software-hardware memory management modes | |
| CN107278298A (zh) | 缓存器维护指令 | |
| JP2008542948A (ja) | コンフィギュラブルトランスレーションルックアサイドバッファを備えたマイクロプロセッサ | |
| US11853228B1 (en) | Partial-address-translation-invalidation request | |
| CN101004715A (zh) | 地址转换器和地址转换方法 | |
| US8108621B2 (en) | Data cache with modified bit array | |
| KR20220058934A (ko) | 변환 색인 버퍼 무효화 | |
| US20240272908A1 (en) | Load-with-substitution instruction | |
| US11314657B1 (en) | Tablewalk takeover |
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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |