Apparatus and method for memory management in a graphics processing environment
US-10380039-B2 · Aug 13, 2019 · US
US11630698B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11630698-B2 |
| Application number | US-202016906828-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 19, 2020 |
| Priority date | Dec 19, 2019 |
| Publication date | Apr 18, 2023 |
| Grant date | Apr 18, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
This disclosure describes methods, devices, systems, and procedures in a computing system for capturing a configuration state of an operating system executing on a central processing unit (CPU), and offloading memory management tasks, based on the configuration state, to a resource management unit such as a system-on-a-chip (SoC). The resource management unit identifies a status of a resource requiring memory swapping based on the captured configuration state of the operating system. The resource management unit then swaps the memory to alleviate the CPU from processing the swap thereby improving overall computing system performance.
Opening claim text (preview).
The invention claimed is: 1. A method implemented by a computing system, the method comprising: determining, by a resource management unit having direct memory access to a first memory, a configuration state of an operating system, the operating system located in the first memory, the operating system executing on a processor of the computing system, the configuration state comprising a process run queue and memory mapping data of one or more processes to be executed by the processor, the one or more processes indicated by the process run queue; storing, by the resource management unit, the configuration state of the operating system into a second memory of the computing system; identifying, by the resource management unit, a status of a first process of the one or more processes based on an occurrence of the first process in the process run queue and the memory mapping data, and the configuration state of the operating system indicating that the first process is to be executed by the processor and that execution of the first process uses a memory resource in the computing system; identifying, by the resource management unit and based on the process run queue and the memory mapping data, a status of a second process of the one or more processes, at least a portion of the memory resource allocated to the second process, and the configuration state of the operating system indicating, that execution of the second process has been completed; responsive to identifying the second process and identifying that the first process requires more memory resources than is currently available in the first memory, and prior to an attempt by the processor to execute the first process: moving, by the resource management unit, memory content of the second process from the first memory to a secondary storage; and moving, by the resource management unit, memory content needed by the first process from the secondary storage to the first memory; and enabling the first process to use the memory content needed by the first process in the first memory during execution of the first process by the processor. 2. The method of claim 1 , wherein moving memory content between the first memory and the secondary storage comprises moving a variant size of the memory content of the second process without a page-size calculation. 3. The method of claim 2 , wherein moving memory content between the first memory and the secondary storage further comprises moving a variant size of the memory content needed by the first process. 4. The method of claim 3 , wherein moving the variant size of the memory content needed by the first process is moved without a page-size calculation. 5. The method of claim 1 , further comprising swapping the memory content needed by the first process from the first memory to the secondary storage after execution of the first process by the processor for a third process to use the first memory upon execution of the third process by the processor. 6. The method of claim 1 , wherein to capture the configuration state of the operating system: the resource management unit communicates with the processor or the first memory using a low-latency communication data link or a high-speed interface bus. 7. The method of claim 1 , wherein determining the configuration state of the operating system comprises an abstraction layer of instructions coordinating with the operating system as executed by the processor for detecting a resource transaction event associated with the operating system. 8. The method of claim 1 , wherein: determining the configuration state of the operating system comprises the resource management unit detecting a resource transaction event associated with the operating system. 9. The method of claim 1 , wherein identifying the status of the first process or the second process comprises at least one of identifying a respective memory usage, memory need, the secondary storage, scheduling data, the process run queue, process wait queue, process priority data, process run-time remaining, hypervisor, or virtual machine associated with the first process or the second process. 10. The method of claim 1 , wherein storing the configuration state of the operating system to the second memory comprises pushing the configuration state of the operating system to the second memory of the resource management unit responsive to a resource transaction event. 11. The method of claim 1 , wherein storing the configuration state of the operating system to the second memory comprises pulling the configuration state of the operating system to the second memory of the resource management unit responsive to a resource transaction event. 12. The method of claim 1 , wherein to capture the configuration state of the operating system the resource management unit is integrated with a same integrated circuit die as the processor and communicates directly with the processor. 13. A computing system comprising: a processor; a resource management unit; a first memory in which an operating system is configured to execute; and a second memory, the first or second memory having instructions stored thereon that, responsive to execution by the processor or the resource management unit, cause the resource management unit to perform operations comprising: determining, by the resource management unit having direct memory access to the first memory, a configuration state of the operating system when executed from the first memory by the processor of the computing system, the configuration state comprising a process run queue and memory mapping data of one or more processes to be executed by the processor, the one or more processes indicated by the process run queue; storing, by the resource management unit, the configuration state of the operating system into the second memory of the computing system; identifying, by the resource management unit, a status of a first process of the one or more processes based on an occurrence of the first process in the process run queue and the memory mapping data, and the configuration state of the operating system indicating that the first process is to be executed by the processor and that execution of the first process uses a memory resource in the computing system; identifying, by the resource management unit and based on the process run queue and the memory mapping data, a status of a second process of the one or more processes, at least a portion of the memory resource allocated to the second process, and the configuration state of the operating system indicating, that execution of the second process has been completed; responsive to identifying the second process and identifying that the first process requires more memory resources than is currently available in the first memory, and prior to an attempt by the processor to execute the first process: moving, by the resource management unit, memory content of the second process from the first memory to a secondary storage; and moving, by the resource management unit, memory content needed by the first process from the secondary storage to the first memory; and enabling the first process to use the memory content needed by the first process in the first memory during execution of the first process by the processor. 14. The computing system of claim 13 , wherein the resource management unit includes a system-on-a-chip, an application-specific integrated circuit, or an application-specific standard product. 15. The computing system of claim 13 , wherein moving memory content between the first memory and the secondary storage comprises moving a variant size o
Memory management, e.g. access or allocation · CPC title
Request control · CPC title
Details of memory controller · CPC title
Transaction processing · CPC title
the resource being the memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.