CN104040518B - 高效存储器和资源管理 - Google Patents
高效存储器和资源管理 Download PDFInfo
- Publication number
- CN104040518B CN104040518B CN201280062362.2A CN201280062362A CN104040518B CN 104040518 B CN104040518 B CN 104040518B CN 201280062362 A CN201280062362 A CN 201280062362A CN 104040518 B CN104040518 B CN 104040518B
- Authority
- CN
- China
- Prior art keywords
- iommu
- memory
- data
- equipment
- client
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/1009—Address translation using page tables, e.g. page table structures
-
- 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/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- 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/651—Multi-level translation tables
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)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/308,211 | 2011-11-30 | ||
| US13/308,211 US8719464B2 (en) | 2011-11-30 | 2011-11-30 | Efficient memory and resource management |
| PCT/US2012/065860 WO2013081884A1 (en) | 2011-11-30 | 2012-11-19 | Efficient memory and resource management |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104040518A CN104040518A (zh) | 2014-09-10 |
| CN104040518B true CN104040518B (zh) | 2016-11-16 |
Family
ID=47436175
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201280062362.2A Active CN104040518B (zh) | 2011-11-30 | 2012-11-19 | 高效存储器和资源管理 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8719464B2 (enExample) |
| EP (1) | EP2786259A1 (enExample) |
| JP (1) | JP5870206B2 (enExample) |
| KR (1) | KR101861297B1 (enExample) |
| CN (1) | CN104040518B (enExample) |
| WO (1) | WO2013081884A1 (enExample) |
Families Citing this family (67)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
| US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
| US9417998B2 (en) * | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
| US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
| US9164804B2 (en) | 2012-06-20 | 2015-10-20 | Memory Technologies Llc | Virtual memory module |
| US9319254B2 (en) * | 2012-08-03 | 2016-04-19 | Ati Technologies Ulc | Methods and systems for processing network messages in an accelerated processing device |
| US9116820B2 (en) | 2012-08-28 | 2015-08-25 | Memory Technologies Llc | Dynamic central cache memory |
| US9479466B1 (en) * | 2013-05-23 | 2016-10-25 | Kabam, Inc. | System and method for generating virtual space messages based on information in a users contact list |
| US9734079B2 (en) * | 2013-06-28 | 2017-08-15 | Intel Corporation | Hybrid exclusive multi-level memory architecture with memory management |
| US9396113B2 (en) | 2013-08-06 | 2016-07-19 | Oracle International Corporation | Flexible configuration hardware streaming unit |
| US9886736B2 (en) * | 2014-01-20 | 2018-02-06 | Nvidia Corporation | Selectively killing trapped multi-process service clients sharing the same hardware context |
| US9830289B2 (en) | 2014-09-16 | 2017-11-28 | Apple Inc. | Methods and apparatus for aggregating packet transfer over a virtual bus interface |
| US9971397B2 (en) | 2014-10-08 | 2018-05-15 | Apple Inc. | Methods and apparatus for managing power with an inter-processor communication link between independently operable processors |
| CN105701019A (zh) * | 2014-11-25 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 一种内存管理方法以及装置 |
| US10042794B2 (en) | 2015-06-12 | 2018-08-07 | Apple Inc. | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link |
| US10055136B2 (en) * | 2015-07-29 | 2018-08-21 | Red Hat Israel, Ltd. | Maintaining guest input/output tables in swappable memory |
| GB2545170B (en) * | 2015-12-02 | 2020-01-08 | Imagination Tech Ltd | GPU virtualisation |
| US9846592B2 (en) * | 2015-12-23 | 2017-12-19 | Intel Corporation | Versatile protected input/output device access and isolated servicing for virtual machines |
| US10085214B2 (en) | 2016-01-27 | 2018-09-25 | Apple Inc. | Apparatus and methods for wake-limiting with an inter-device communication link |
| US10120709B2 (en) | 2016-02-29 | 2018-11-06 | Red Hat Israel, Ltd. | Guest initiated atomic instructions for shared memory page host copy on write |
| 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 |
| US10191852B2 (en) | 2016-02-29 | 2019-01-29 | Apple Inc. | Methods and apparatus for locking at least a portion of a shared memory resource |
| US10198364B2 (en) | 2016-03-31 | 2019-02-05 | Apple Inc. | Memory access protection apparatus and methods for memory mapped access between independently operable processors |
| 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 |
| US10109099B2 (en) * | 2016-09-29 | 2018-10-23 | Intel Corporation | Method and apparatus for efficient use of graphics processing resources in a virtualized execution enviornment |
| US10775871B2 (en) | 2016-11-10 | 2020-09-15 | Apple Inc. | Methods and apparatus for providing individualized power control for peripheral sub-systems |
| US10551902B2 (en) | 2016-11-10 | 2020-02-04 | Apple Inc. | Methods and apparatus for providing access to peripheral sub-system registers |
| KR101716715B1 (ko) | 2016-12-27 | 2017-03-15 | 주식회사 티맥스클라우드 | 가상 머신 환경의 네트워크 입출력 장치 가상화 방법 및 장치 |
| CN106874212A (zh) * | 2016-12-30 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种基于ipsan的存储器的通信方法和系统 |
| US11200183B2 (en) * | 2017-03-31 | 2021-12-14 | Intel Corporation | Scalable interrupt virtualization for input/output devices |
| US10228981B2 (en) * | 2017-05-02 | 2019-03-12 | Intel Corporation | High-performance input-output devices supporting scalable virtualization |
| US10565126B2 (en) * | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
| US10346226B2 (en) | 2017-08-07 | 2019-07-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for transmitting time sensitive data over a tunneled bus interface |
| CN109582599B (zh) * | 2017-09-29 | 2023-12-22 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
| US11372787B2 (en) * | 2017-12-09 | 2022-06-28 | Intel Corporation | Unified address space for multiple links |
| US10331612B1 (en) | 2018-01-09 | 2019-06-25 | Apple Inc. | Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors |
| US20190227942A1 (en) * | 2018-01-24 | 2019-07-25 | Dell Products, Lp | System and Method to Handle I/O Page Faults in an I/O Memory Management Unit |
| US10990436B2 (en) * | 2018-01-24 | 2021-04-27 | Dell Products L.P. | System and method to handle I/O page faults in an I/O memory management unit |
| US11792307B2 (en) | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
| US10430352B1 (en) | 2018-05-18 | 2019-10-01 | Apple Inc. | Methods and apparatus for reduced overhead data transfer with a shared ring buffer |
| US10585699B2 (en) | 2018-07-30 | 2020-03-10 | Apple Inc. | Methods and apparatus for verifying completion of groups of data transactions between processors |
| US10846224B2 (en) | 2018-08-24 | 2020-11-24 | Apple Inc. | Methods and apparatus for control of a jointly shared memory-mapped region |
| US10719376B2 (en) | 2018-08-24 | 2020-07-21 | Apple Inc. | Methods and apparatus for multiplexing data flows via a single data structure |
| US10838450B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Methods and apparatus for synchronization of time between independently operable processors |
| US10789110B2 (en) | 2018-09-28 | 2020-09-29 | Apple Inc. | Methods and apparatus for correcting out-of-order data transactions between processors |
| US11249918B2 (en) * | 2018-10-30 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Mapping entry invalidation |
| US11494211B2 (en) * | 2019-04-22 | 2022-11-08 | Advanced Micro Devices, Inc. | Domain identifier and device identifier translation by an input-output memory management unit |
| US10909053B2 (en) * | 2019-05-27 | 2021-02-02 | Advanced Micro Devices, Inc. | Providing copies of input-output memory management unit registers to guest operating systems |
| US12260120B2 (en) * | 2019-06-10 | 2025-03-25 | Advanced Micro Devices, Inc. | Guest operating system buffer and log accesses by an input-output memory management unit |
| US10853263B1 (en) * | 2019-07-23 | 2020-12-01 | Ati Technologies Ulc | Unified kernel virtual address space for heterogeneous computing |
| US11829303B2 (en) | 2019-09-26 | 2023-11-28 | Apple Inc. | Methods and apparatus for device driver operation in non-kernel space |
| US11558348B2 (en) | 2019-09-26 | 2023-01-17 | Apple Inc. | Methods and apparatus for emerging use case support in user space networking |
| US11163695B2 (en) | 2019-12-03 | 2021-11-02 | International Business Machines Corporation | Methods and systems for translating virtual addresses in a virtual memory based system |
| US20210373951A1 (en) * | 2020-05-28 | 2021-12-02 | Samsung Electronics Co., Ltd. | Systems and methods for composable coherent devices |
| GB2594258B (en) * | 2020-04-20 | 2022-07-20 | Advanced Risc Mach Ltd | Variable nesting control parameter for table structure providing access control information for controlling access to a memory system |
| US20210374056A1 (en) | 2020-05-28 | 2021-12-02 | Samsung Electronics Co., Ltd. | Systems and methods for scalable and coherent memory devices |
| US11606302B2 (en) | 2020-06-12 | 2023-03-14 | Apple Inc. | Methods and apparatus for flow-based batching and processing |
| US11182092B1 (en) | 2020-07-14 | 2021-11-23 | Red Hat, Inc. | PRI overhead reduction for virtual machine migration |
| US11775359B2 (en) | 2020-09-11 | 2023-10-03 | Apple Inc. | Methods and apparatuses for cross-layer processing |
| US11954540B2 (en) | 2020-09-14 | 2024-04-09 | Apple Inc. | Methods and apparatus for thread-level execution in non-kernel space |
| US11799986B2 (en) | 2020-09-22 | 2023-10-24 | Apple Inc. | Methods and apparatus for thread level execution in non-kernel space |
| CN112507649B (zh) * | 2020-12-23 | 2024-04-02 | 珠海一微半导体股份有限公司 | 一种模拟版图的数模引脚映射到数字版图的方法 |
| WO2022198548A1 (en) * | 2021-03-25 | 2022-09-29 | Intel Corporation | Pasid granularity resource control for iommu |
| US11882051B2 (en) | 2021-07-26 | 2024-01-23 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
| US11876719B2 (en) | 2021-07-26 | 2024-01-16 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
| CN114661414B (zh) * | 2022-03-04 | 2025-09-19 | 阿里巴巴(中国)有限公司 | 计算系统、内存缺页处理方法及存储介质 |
| US20250265197A1 (en) * | 2024-02-15 | 2025-08-21 | Arm Limited | Address translation |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070168643A1 (en) * | 2006-01-17 | 2007-07-19 | Hummel Mark D | DMA Address Translation in an IOMMU |
| WO2011011768A1 (en) * | 2009-07-24 | 2011-01-27 | Advanced Micro Devices, Inc. | Iommu using two-level address translation for i/o and computation offload devices on a peripheral interconnect |
| WO2011011769A1 (en) * | 2009-07-24 | 2011-01-27 | Advanced Micro Devices, Inc. | I/o memory management unit including multilevel address translation for i/o and computation offload |
| US20110161620A1 (en) * | 2009-12-29 | 2011-06-30 | Advanced Micro Devices, Inc. | Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices |
| WO2011103184A2 (en) * | 2010-02-17 | 2011-08-25 | Advanced Micro Devices, Inc. | Iommu architected tlb support |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6684305B1 (en) * | 2001-04-24 | 2004-01-27 | Advanced Micro Devices, Inc. | Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence |
| JP3892829B2 (ja) * | 2003-06-27 | 2007-03-14 | 株式会社東芝 | 情報処理システムおよびメモリ管理方法 |
| US7562179B2 (en) * | 2004-07-30 | 2009-07-14 | Intel Corporation | Maintaining processor resources during architectural events |
| US7454414B2 (en) * | 2005-08-30 | 2008-11-18 | International Business Machines Corporation | Automatic data retrieval system based on context-traversal history |
| US20110016290A1 (en) * | 2009-07-14 | 2011-01-20 | Arie Chobotaro | Method and Apparatus for Supporting Address Translation in a Multiprocessor Virtual Machine Environment |
| US8438360B2 (en) * | 2009-11-23 | 2013-05-07 | Symantec Corporation | Distributed storage through a volume device architecture |
-
2011
- 2011-11-30 US US13/308,211 patent/US8719464B2/en active Active
-
2012
- 2012-11-19 EP EP12806739.4A patent/EP2786259A1/en not_active Ceased
- 2012-11-19 JP JP2014544777A patent/JP5870206B2/ja active Active
- 2012-11-19 WO PCT/US2012/065860 patent/WO2013081884A1/en not_active Ceased
- 2012-11-19 KR KR1020147016579A patent/KR101861297B1/ko active Active
- 2012-11-19 CN CN201280062362.2A patent/CN104040518B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070168643A1 (en) * | 2006-01-17 | 2007-07-19 | Hummel Mark D | DMA Address Translation in an IOMMU |
| WO2011011768A1 (en) * | 2009-07-24 | 2011-01-27 | Advanced Micro Devices, Inc. | Iommu using two-level address translation for i/o and computation offload devices on a peripheral interconnect |
| WO2011011769A1 (en) * | 2009-07-24 | 2011-01-27 | Advanced Micro Devices, Inc. | I/o memory management unit including multilevel address translation for i/o and computation offload |
| US20110161620A1 (en) * | 2009-12-29 | 2011-06-30 | Advanced Micro Devices, Inc. | Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices |
| WO2011103184A2 (en) * | 2010-02-17 | 2011-08-25 | Advanced Micro Devices, Inc. | Iommu architected tlb support |
Non-Patent Citations (1)
| Title |
|---|
| AMD I/O Virtualization Technology (IOMMU) Specification-PID 48882 Rev 2.00;Advanced Micro Devices;《http://developer.amd.com/wordpress/media/2012/10/488821.pdf》;20110324;全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2013081884A1 (en) | 2013-06-06 |
| EP2786259A1 (en) | 2014-10-08 |
| JP5870206B2 (ja) | 2016-02-24 |
| KR20140102695A (ko) | 2014-08-22 |
| JP2015500524A (ja) | 2015-01-05 |
| CN104040518A (zh) | 2014-09-10 |
| KR101861297B1 (ko) | 2018-05-25 |
| US20130138840A1 (en) | 2013-05-30 |
| US8719464B2 (en) | 2014-05-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104040518B (zh) | 高效存储器和资源管理 | |
| US20130145055A1 (en) | Peripheral Memory Management | |
| US20130145051A1 (en) | Direct Device Assignment | |
| US10963281B2 (en) | Nested virtualization for virtual machine exits | |
| JP6110946B2 (ja) | ゲスト仮想マシン内の仮想入出力メモリ管理ユニット | |
| US9606936B2 (en) | Generalized control registers | |
| US8578129B2 (en) | Infrastructure support for accelerated processing device memory paging without operating system integration | |
| US12326818B2 (en) | Unified address translation for virtualization of input/output devices | |
| US20120246381A1 (en) | Input Output Memory Management Unit (IOMMU) Two-Layer Addressing | |
| US20130262736A1 (en) | Memory types for caching policies | |
| CA2800632C (en) | Enable/disable adapters of a computing environment | |
| JP2007183952A (ja) | ゲストがメモリ変換されたデバイスにアクセスする方法及び装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant |