Memory reduction in a system by oversubscribing physical memory shared by compute entities supported by the system

US11455239B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11455239-B1
Application numberUS-202117367061-A
CountryUS
Kind codeB1
Filing dateJul 2, 2021
Priority dateJul 2, 2021
Publication dateSep 27, 2022
Grant dateSep 27, 2022

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.

Methods and systems related to memory reduction in a system by oversubscribing physical memory shared among compute entities are provided. A portion of the memory includes a combination of a portion of a first physical memory of a first type and a logical pooled memory associated with the system. A logical pooled memory controller is configured to: (1) track both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory, and (2) allow the write operation to write data to any available space in the second physical memory of the first type only up to an extent of physical memory that corresponds to the portion of the logical pooled memory previously allocated to the compute entity.

First claim

Opening claim text (preview).

What is claimed: 1. A method comprising: allocating a portion of a memory associated with a system to a compute entity, wherein the portion of the memory comprises a combination of a portion of a first physical memory of a first type and a portion of a logical pooled memory for use with a plurality of compute entities associated with the system, wherein the logical pooled memory is mapped to a second physical memory of the first type, and wherein an amount of the logical pooled memory indicated as being available for allocation to the plurality of compute entities is greater than an amount of the second physical memory of the first type; indicating to a logical pooled memory controller associated with the logical pooled memory that all pages associated with the logical pooled memory initially allocated to any of the plurality of compute entities are known-pattern pages; the logical pooled memory controller tracking both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities; and in response to a write operation initiated by the compute entity, the logical pooled memory controller allowing writing of data to any available space in the second physical memory of the first type only up to an extent of physical memory that corresponds to the portion of the logical pooled memory previously allocated to the compute entity. 2. The method of claim 1 , wherein an amount of the logical pooled memory associated with the system equals an amount of the second physical memory of the first type combined with an amount of memory corresponding to known-pattern pages backed by no physical memory of any type. 3. The method of claim 1 , wherein tracking both the status of whether the page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between the logical memory addresses and the physical memory addresses comprises maintaining a mapping table. 4. The method of claim 3 , wherein the mapping table is implemented using a translation lookaside buffer. 5. The method of claim 1 , further comprising allocating the portion of the first physical memory of the first type based on a predicted use of the first physical memory of the first type by the compute entity. 6. The method of claim 1 , further comprising dynamically changing an amount of the portion of the first physical memory of the first type allocated to the compute entity based on a usage pattern associated with a use of the first physical memory of the first type allocated to the compute entity. 7. The method of claim 1 , further comprising exposing the portion of the logical pooled memory allocated to the compute entity via a software mechanism to allow the compute entity to distinguish between the portion of the logical pooled memory allocated to the compute entity and the portion of the first physical memory of the first type allocated to the compute entity. 8. The method of claim 1 , wherein the logical pooled memory is coupled to a processor for executing any of the plurality of compute entities that have been allocated at least a portion of the logical pooled memory associated with the system via a respective link managed by a fabric manager. 9. A system comprising: a memory, wherein a portion of the memory comprises a combination of a portion of a first physical memory of a first type and a portion of a logical pooled memory associated with the system, wherein the logical pooled memory is mapped to a second physical memory of the first type, and wherein an amount of the logical pooled memory indicated as being available for allocation to a plurality of compute entities is greater than an amount of the second physical memory of the first type; and a logical pooled memory controller, coupled to the logical pooled memory associated with the system, configured to: (1) track both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities, and (2) in response to a write operation initiated by a compute entity to write any data other than a known pattern, allow the write operation to write the data to any available space in the second physical memory of the first type only up to an extent of physical memory that corresponds to a portion of the logical pooled memory previously allocated to the compute entity. 10. The system of claim 9 , wherein an amount of the logical pooled memory associated with the system equals an amount of the second physical memory of the first type combined with an amount of memory corresponding to known-pattern pages backed by no physical memory of any type. 11. The system of claim 9 , wherein the logical pooled memory controller is further configured to maintain a mapping table to track both the status of whether the page of the logical pooled memory allocated to any of the plurality of compute entities is the known-pattern page and the relationship between the logical memory addresses and the physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities, and wherein the mapping table is implemented using a translation lookaside buffer. 12. The system of claim 9 , further comprising a scheduler configured to allocate the portion of the first physical memory of the first type to the compute entity based on a predicted use of the first physical memory of the first type by the compute entity. 13. The system of claim 12 , wherein the scheduler is configured to dynamically change an amount of the portion of the first physical memory of the first type allocated to the compute entity based on a usage pattern associated with a use of the first physical memory of the first type allocated to the compute entity. 14. The system of claim 9 , wherein the logical pooled memory controller is further configured to indicate to each of the plurality of compute entities that all pages associated with the logical pooled memory initially allocated to any of the plurality of compute entities are known-pattern pages. 15. A system comprising: a plurality of host servers configurable to execute one or more of a plurality of compute entities; a memory, wherein a portion of the memory comprises a combination of a portion of a first physical memory of a first type and a portion of a logical pooled memory shared among the plurality of host servers, wherein the logical pooled memory is mapped to a second physical memory of the first type, and wherein an amount of the logical pooled memory indicated as being available for allocation to the plurality of compute entities is greater than an amount of the second physical memory of the first type; and a logical pooled memory controller, coupled to the logical pooled memory associated with the system, configured to: (1) track both a status of whether a page of the logical pooled memory allocated to any of the plurality of compute entities is a known-pattern page and a relationship between logical memory addresses and physical memory addresses associated with any allocated logical pooled memory to any of the plurality of compute entities, and (2) in response to a write operation initiated by a compute entity, being executed by

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 US11455239B1 cover?
Methods and systems related to memory reduction in a system by oversubscribing physical memory shared among compute entities are provided. A portion of the memory includes a combination of a portion of a first physical memory of a first type and a logical pooled memory associated with the system. A logical pooled memory controller is configured to: (1) track both a status of whether a page of t…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 27 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).