SYSTEMS AND METHODS IMPLEMENTING NON-SHARED PAGE TABLES FOR SHARING MEMORY RESOURCES MANAGED BY A MAIN OPERATING SYSTEM WITH ACCELERATOR DEVICES
First Claim
1. A method for allowing an accelerator device to share physical memory of a computer system that is managed by and operates under control of an operating system of the computer system, the method comprising:
- creating a plurality of operating system (OS) page tables for memory management for the accelerator device; and
creating another set of non-shared page tables that are independent of the operating system and are to be used exclusively by the accelerator device to share the physical memory, wherein each of the non-shared page tables correspond with one of the OS page tables.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided that utilize non-shared page tables to allow an accelerator device to share physical memory of a computer system that is managed by and operates under control of an operating system. The computer system can include a multi-core central processor unit. The accelerator device can be, for example, an isolated core processor device of the multi-core central processor unit that is sequestered for use independently of the operating system, or an external device that is communicatively coupled to the computer system.
98 Citations
36 Claims
-
1. A method for allowing an accelerator device to share physical memory of a computer system that is managed by and operates under control of an operating system of the computer system, the method comprising:
-
creating a plurality of operating system (OS) page tables for memory management for the accelerator device; and creating another set of non-shared page tables that are independent of the operating system and are to be used exclusively by the accelerator device to share the physical memory, wherein each of the non-shared page tables correspond with one of the OS page tables. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 26, 27, 31, 32, 33, 34)
-
-
16. A system, comprising:
-
an accelerator device; a computer system communicatively coupled to the accelerator device, the computer system comprising; a main operating system (OS) designed to create a plurality of OS page tables for memory management for the accelerator device; and shared physical memory that is managed by and operates under control of the main OS; and a driver for the accelerator device that maintains another set of non-shared page tables that are independent of the main OS and are to be used exclusively by the accelerator device to share the shared physical memory, wherein each of the non-shared page tables correspond with one of the OS page tables. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30)
-
-
35. An Operating System (OS) for a computer system, comprising:
-
a memory management unit (MMU) designed to manage and control physical memory of a computer system, the MMU comprising; a plurality of operating system (OS) page tables, wherein each of the OS page tables correspond to a non-shared page table of a set of non-shared page tables that are to be used exclusively by the accelerator device along with corresponding OS page tables to share the physical memory, wherein the non-shared page tables are independent of the operating system.
-
-
36. An accelerator device designed to share physical memory of a computer system that is managed by and operates under control of an operating system of the computer system, wherein the accelerator device shares the physical memory by using a set of non-shared page tables in conjunction with a plurality of operating system (OS) page tables for memory management for the accelerator device, wherein each of the non-shared page tables correspond with one of the OS page tables, and wherein the non-shared page tables are independent of the operating system and used exclusively by the accelerator device to share the physical memory.
Specification