Resource management unit for capturing operating system configuration states and swapping memory content

US11630698B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11630698-B2
Application numberUS-202016906828-A
CountryUS
Kind codeB2
Filing dateJun 19, 2020
Priority dateDec 19, 2019
Publication dateApr 18, 2023
Grant dateApr 18, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11630698B2 cover?
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 r…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5016. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).