CN114286987A - 用于异构计算的统一内核虚拟地址空间 - Google Patents
用于异构计算的统一内核虚拟地址空间 Download PDFInfo
- Publication number
- CN114286987A CN114286987A CN202080060590.0A CN202080060590A CN114286987A CN 114286987 A CN114286987 A CN 114286987A CN 202080060590 A CN202080060590 A CN 202080060590A CN 114286987 A CN114286987 A CN 114286987A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- address space
- address
- kernel
- memory
- 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.)
- Pending
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/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- 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/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/519,311 | 2019-07-23 | ||
| US16/519,311 US10853263B1 (en) | 2019-07-23 | 2019-07-23 | Unified kernel virtual address space for heterogeneous computing |
| PCT/IB2020/056906 WO2021014382A1 (en) | 2019-07-23 | 2020-07-22 | Unified kernel virtual address space for heterogeneous computing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114286987A true CN114286987A (zh) | 2022-04-05 |
Family
ID=73554876
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202080060590.0A Pending CN114286987A (zh) | 2019-07-23 | 2020-07-22 | 用于异构计算的统一内核虚拟地址空间 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US10853263B1 (cg-RX-API-DMAC7.html) |
| EP (1) | EP4004743B1 (cg-RX-API-DMAC7.html) |
| JP (1) | JP7682148B2 (cg-RX-API-DMAC7.html) |
| KR (1) | KR20220036972A (cg-RX-API-DMAC7.html) |
| CN (1) | CN114286987A (cg-RX-API-DMAC7.html) |
| WO (1) | WO2021014382A1 (cg-RX-API-DMAC7.html) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10853263B1 (en) | 2019-07-23 | 2020-12-01 | Ati Technologies Ulc | Unified kernel virtual address space for heterogeneous computing |
| CN120670331B (zh) * | 2025-08-19 | 2025-11-25 | 瀚博半导体(上海)股份有限公司 | 用于异构系统的地址管理方法、装置及计算机设备 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050256976A1 (en) * | 2004-05-17 | 2005-11-17 | Oracle International Corporation | Method and system for extended memory with user mode input/output operations |
| US20130159564A1 (en) * | 2011-12-16 | 2013-06-20 | Oracle International Cooperation | Direct data transfer for device drivers |
| US20140049548A1 (en) * | 2012-08-17 | 2014-02-20 | Intel Corporation | Memory sharing via a unified memory architecture |
| CN104123242A (zh) * | 2009-09-18 | 2014-10-29 | 英特尔公司 | 为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持 |
Family Cites Families (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
| US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
| US8041878B2 (en) | 2003-03-19 | 2011-10-18 | Samsung Electronics Co., Ltd. | Flash file system |
| US7444493B2 (en) | 2004-09-30 | 2008-10-28 | Intel Corporation | Address translation for input/output devices using hierarchical translation tables |
| US7634584B2 (en) * | 2005-04-27 | 2009-12-15 | Solarflare Communications, Inc. | Packet validation in virtual network interface architecture |
| US7225287B2 (en) | 2005-06-01 | 2007-05-29 | Microsoft Corporation | Scalable DMA remapping on a computer bus |
| US7543131B2 (en) | 2005-08-12 | 2009-06-02 | Advanced Micro Devices, Inc. | Controlling an I/O MMU |
| US7793067B2 (en) | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
| US7500048B1 (en) * | 2005-12-15 | 2009-03-03 | Vmware, Inc. | Transparent page sharing on commodity operating systems |
| 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) |
| US8032899B2 (en) * | 2006-10-26 | 2011-10-04 | International Business Machines Corporation | Providing policy-based operating system services in a hypervisor on a computing system |
| 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 |
| US8032897B2 (en) | 2007-07-31 | 2011-10-04 | Globalfoundries Inc. | Placing virtual machine monitor (VMM) code in guest context to speed memory mapped input/output virtualization |
| US8145876B2 (en) | 2007-08-06 | 2012-03-27 | Advanced Micro Devices, Inc. | Address translation with multiple translation look aside buffers |
| US8352705B2 (en) | 2008-01-15 | 2013-01-08 | Vmware, Inc. | Large-page optimization in virtual memory paging systems |
| US8307360B2 (en) | 2008-01-22 | 2012-11-06 | Advanced Micro Devices, Inc. | Caching binary translations for virtual machine guest |
| US8055827B2 (en) | 2009-01-26 | 2011-11-08 | Advanced Micro Devices, Inc. | Guest interrupt controllers for each processor to aid interrupt virtualization |
| 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 |
| US9535849B2 (en) | 2009-07-24 | 2017-01-03 | Advanced Micro Devices, Inc. | IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect |
| US8392628B2 (en) * | 2010-07-16 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Sharing memory spaces for access by hardware and software in a virtual machine environment |
| US8631212B2 (en) * | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
| US8719464B2 (en) * | 2011-11-30 | 2014-05-06 | Advanced Micro Device, Inc. | Efficient memory and resource management |
| US20130262736A1 (en) * | 2012-03-30 | 2013-10-03 | Ati Technologies Ulc | Memory types for caching policies |
| US9311011B2 (en) * | 2013-08-07 | 2016-04-12 | Qualcomm Incorporated | Dynamic address negotiation for shared memory regions in heterogenous multiprocessor systems |
| US9628279B2 (en) * | 2014-09-30 | 2017-04-18 | Microsoft Technology Licensing, Llc | Protecting application secrets from operating system attacks |
| US10705952B2 (en) * | 2015-11-04 | 2020-07-07 | Sandisk Technologies Llc | User space data storage management |
| US10459850B2 (en) | 2016-09-20 | 2019-10-29 | Advanced Micro Devices, Inc. | System and method for virtualized process isolation including preventing a kernel from accessing user address space |
| US10678432B1 (en) * | 2016-10-04 | 2020-06-09 | Pure Storage, Inc. | User space and kernel space access to memory devices through private queues |
| KR101932604B1 (ko) | 2016-11-11 | 2019-03-15 | 주식회사 모션디바이스 | 모션 시뮬레이터의 조종간 |
| US10481951B2 (en) | 2016-11-15 | 2019-11-19 | Red Hat Israel, Ltd. | Multi-queue device assignment for application groups |
| WO2018152688A1 (en) * | 2017-02-22 | 2018-08-30 | Intel Corporation | Virtualization of process address space identifiers for scalable virtualization of input/output devices |
| US10198202B2 (en) * | 2017-02-24 | 2019-02-05 | Red Hat, Inc. | Safe userspace device access for network function virtualization using an IOMMU to map supervisor memory to a reserved range of application virtual addresses |
| US11042394B2 (en) * | 2017-10-13 | 2021-06-22 | Electronics And Telecommunications Research Institute | Method for processing input and output on multi kernel system and apparatus for the same |
| KR20190091035A (ko) * | 2018-01-26 | 2019-08-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
| US11792307B2 (en) * | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
| US11036405B2 (en) * | 2018-09-07 | 2021-06-15 | Vmware, Inc. | Runtime information transfer between kernel modules |
| US10853263B1 (en) | 2019-07-23 | 2020-12-01 | Ati Technologies Ulc | Unified kernel virtual address space for heterogeneous computing |
-
2019
- 2019-07-23 US US16/519,311 patent/US10853263B1/en active Active
-
2020
- 2020-07-22 WO PCT/IB2020/056906 patent/WO2021014382A1/en not_active Ceased
- 2020-07-22 KR KR1020227005983A patent/KR20220036972A/ko active Pending
- 2020-07-22 EP EP20844551.0A patent/EP4004743B1/en active Active
- 2020-07-22 CN CN202080060590.0A patent/CN114286987A/zh active Pending
- 2020-07-22 JP JP2022503804A patent/JP7682148B2/ja active Active
- 2020-11-25 US US17/105,331 patent/US11960410B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050256976A1 (en) * | 2004-05-17 | 2005-11-17 | Oracle International Corporation | Method and system for extended memory with user mode input/output operations |
| CN104123242A (zh) * | 2009-09-18 | 2014-10-29 | 英特尔公司 | 为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持 |
| US20130159564A1 (en) * | 2011-12-16 | 2013-06-20 | Oracle International Cooperation | Direct data transfer for device drivers |
| US20140049548A1 (en) * | 2012-08-17 | 2014-02-20 | Intel Corporation | Memory sharing via a unified memory architecture |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7682148B2 (ja) | 2025-05-23 |
| EP4004743A4 (en) | 2023-08-16 |
| US20210081328A1 (en) | 2021-03-18 |
| EP4004743A1 (en) | 2022-06-01 |
| JP2022541059A (ja) | 2022-09-21 |
| US11960410B2 (en) | 2024-04-16 |
| EP4004743B1 (en) | 2025-03-26 |
| KR20220036972A (ko) | 2022-03-23 |
| WO2021014382A1 (en) | 2021-01-28 |
| US10853263B1 (en) | 2020-12-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250217921A1 (en) | Unified memory systems and methods | |
| US9547535B1 (en) | Method and system for providing shared memory access to graphics processing unit processes | |
| EP2581828B1 (en) | Method for creating virtual machine, virtual machine monitor and virtual machine system | |
| JP4941148B2 (ja) | Gpuにおけるページマッピングのための専用機構 | |
| CN104903868B (zh) | 数据存储装置、用于进行直接用户空间通信的方法和系统 | |
| US8395631B1 (en) | Method and system for sharing memory between multiple graphics processing units in a computer system | |
| US7290112B2 (en) | System and method for virtualization of processor resources | |
| CN109977037B (zh) | 一种dma数据传输方法及系统 | |
| CN113906389B (zh) | 向访客操作系统提供输入输出存储器管理单元寄存器副本 | |
| US20060070069A1 (en) | System and method for sharing resources between real-time and virtualizing operating systems | |
| CN114080587B (zh) | 输入-输出存储器管理单元对访客操作系统缓冲区和日志的访问 | |
| US12271628B2 (en) | Non-volatile memory-based storage device, device controller and method thereof | |
| TW201432454A (zh) | 針對大型共享位址空間之映射機構 | |
| US9367478B2 (en) | Controlling direct memory access page mappings | |
| KR20130076973A (ko) | 응용 프로세서 및 이를 포함하는 시스템 | |
| US9436395B2 (en) | Mechanisms to save user/kernel copy for cross device communications | |
| US11960410B2 (en) | Unified kernel virtual address space for heterogeneous computing | |
| CN113485791B (zh) | 配置方法和访问方法、装置、虚拟化系统和存储介质 | |
| US12045475B1 (en) | Resizable scratchpad memory | |
| US20160098358A1 (en) | Pci device, interface system including the same, and computing system including the same | |
| US12189726B2 (en) | On-demand paging support for confidential computing | |
| US10684900B2 (en) | Enhanced message control banks | |
| US12443363B2 (en) | High bandwidth extended memory in a parallel processing system | |
| CN121116868A (zh) | 地址映射方法、装置、设备、存储介质及程序产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |