JP7682148B2 - ヘテロジニアスコンピューティングのための統合カーネル仮想アドレス空間 - Google Patents

ヘテロジニアスコンピューティングのための統合カーネル仮想アドレス空間 Download PDF

Info

Publication number
JP7682148B2
JP7682148B2 JP2022503804A JP2022503804A JP7682148B2 JP 7682148 B2 JP7682148 B2 JP 7682148B2 JP 2022503804 A JP2022503804 A JP 2022503804A JP 2022503804 A JP2022503804 A JP 2022503804A JP 7682148 B2 JP7682148 B2 JP 7682148B2
Authority
JP
Japan
Prior art keywords
subsystem
address space
region
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.)
Active
Application number
JP2022503804A
Other languages
English (en)
Japanese (ja)
Other versions
JP2022541059A5 (https=
JP2022541059A (ja
Inventor
チュアン クォン トゥン
クーン パン チャン ベンジャミン
ロイド アトキンソン ウイリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of JP2022541059A publication Critical patent/JP2022541059A/ja
Publication of JP2022541059A5 publication Critical patent/JP2022541059A5/ja
Application granted granted Critical
Publication of JP7682148B2 publication Critical patent/JP7682148B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual 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)
JP2022503804A 2019-07-23 2020-07-22 ヘテロジニアスコンピューティングのための統合カーネル仮想アドレス空間 Active JP7682148B2 (ja)

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 (3)

Publication Number Publication Date
JP2022541059A JP2022541059A (ja) 2022-09-21
JP2022541059A5 JP2022541059A5 (https=) 2023-07-18
JP7682148B2 true JP7682148B2 (ja) 2025-05-23

Family

ID=73554876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022503804A Active JP7682148B2 (ja) 2019-07-23 2020-07-22 ヘテロジニアスコンピューティングのための統合カーネル仮想アドレス空間

Country Status (6)

Country Link
US (2) US10853263B1 (https=)
EP (1) EP4004743B1 (https=)
JP (1) JP7682148B2 (https=)
KR (1) KR20220036972A (https=)
CN (1) CN114286987A (https=)
WO (1) WO2021014382A1 (https=)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531672A (ja) 2011-09-25 2014-11-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット
JP2015500524A (ja) 2011-11-30 2015-01-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 効率的なメモリ及びリソース管理
JP2016532959A (ja) 2013-08-07 2016-10-20 クアルコム,インコーポレイテッド 異種マルチプロセッサシステムにおける共有メモリ領域のための動的なアドレスのネゴシエーション
US20190114193A1 (en) 2017-10-13 2019-04-18 Electronics And Telecommunications Research Institute Method for processing input and output on multi kernel system and apparatus for the same

Family Cites Families (40)

* Cited by examiner, † Cited by third party
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
US7493465B2 (en) * 2004-05-17 2009-02-17 Oracle International Corporation Method and system for extended memory with user mode input/output operations
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
US8719547B2 (en) * 2009-09-18 2014-05-06 Intel Corporation Providing hardware support for shared virtual memory between local and remote physical memory
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
US8719466B2 (en) * 2011-12-16 2014-05-06 Oracle International Corporation Direct data transfer for device drivers
US20130262736A1 (en) * 2012-03-30 2013-10-03 Ati Technologies Ulc Memory types for caching policies
US9373182B2 (en) * 2012-08-17 2016-06-21 Intel Corporation Memory sharing via a unified memory architecture
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
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531672A (ja) 2011-09-25 2014-11-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated I/oデバイスによるメモリへのアクセスを防止する保護モードを有する入出力メモリ管理ユニット
JP2015500524A (ja) 2011-11-30 2015-01-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 効率的なメモリ及びリソース管理
JP2016532959A (ja) 2013-08-07 2016-10-20 クアルコム,インコーポレイテッド 異種マルチプロセッサシステムにおける共有メモリ領域のための動的なアドレスのネゴシエーション
US20190114193A1 (en) 2017-10-13 2019-04-18 Electronics And Telecommunications Research Institute Method for processing input and output on multi kernel system and apparatus for the same

Also Published As

Publication number Publication date
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
CN114286987A (zh) 2022-04-05
WO2021014382A1 (en) 2021-01-28
US10853263B1 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
US9547535B1 (en) Method and system for providing shared memory access to graphics processing unit processes
US10824341B2 (en) Flash-based accelerator and computing device including the same
US12541813B2 (en) Dynamic kernel memory space allocation
KR102321913B1 (ko) 불휘발성 메모리 장치, 및 그것을 포함하는 메모리 시스템
CN101847105B (zh) 一种计算机及多操作系统共享内存的方法
US8395631B1 (en) Method and system for sharing memory between multiple graphics processing units in a computer system
CN100421089C (zh) 处理器资源虚拟化的系统和方法
CN109977037B (zh) 一种dma数据传输方法及系统
CN106445628A (zh) 一种虚拟化方法、装置和系统
CN113906389B (zh) 向访客操作系统提供输入输出存储器管理单元寄存器副本
CN114080587B (zh) 输入-输出存储器管理单元对访客操作系统缓冲区和日志的访问
JP7682148B2 (ja) ヘテロジニアスコンピューティングのための統合カーネル仮想アドレス空間
US9436395B2 (en) Mechanisms to save user/kernel copy for cross device communications
CN113485791B (zh) 配置方法和访问方法、装置、虚拟化系统和存储介质
US12045475B1 (en) Resizable scratchpad memory
US20200201691A1 (en) Enhanced message control banks
US11113440B1 (en) Memory migration in hybrid emulation
WO2017113329A1 (zh) 一种主机集群中缓存管理方法及主机
US12443363B2 (en) High bandwidth extended memory in a parallel processing system
US20230266992A1 (en) Processor for managing resources using dual queues, and operating method thereof
CN121116868A (zh) 地址映射方法、装置、设备、存储介质及程序产品
CN118885287A (zh) 用于指定分配内存物理地址段的方法及计算设备
CN120216404A (zh) 一种指令发送方法、指令接收方法和相关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240716

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20241016

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20241216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250114

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: 20250430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250513

R150 Certificate of patent or registration of utility model

Ref document number: 7682148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150