US2023205560A1PendingUtilityA1
Selective memory deduplication for virtualized computer systems
Est. expiryDec 30, 2039(~13.4 yrs left)· nominal 20-yr term from priority
G06F 9/45545G06F 12/0246G06F 12/1009G06F 2009/45583G06F 9/45558G06F 12/1036G06F 2212/151G06F 12/10
69
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A processing device executing a guest receives a request from an application to disable memory deduplication for a memory page associated with the application; identifies a non-mergeable memory range for memory space of the guest, where the non-mergeable memory range is associated with guest memory pages not to be deduplicated; maps, in a page table of the guest, an entry for the memory page to a memory address within the non-mergeable memory range; and causes a host to disable memory deduplication for the memory page responsive to detecting an access of the memory page by the application.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
receiving, by a processing device executing a guest, a request from an application to disable memory deduplication for a memory page associated with the application; identifying a non-mergeable memory range for memory space of the guest, wherein the non-mergeable memory range is associated with guest memory pages not to be deduplicated; mapping, in a page table of the guest, an entry for the memory page to a memory address within the non-mergeable memory range; and causing a host to disable memory deduplication for the memory page responsive to detecting an access of the memory page by the application.
2 . The method of claim 1 , further comprising:
receiving, from the host, information indicating the range of memory addresses for the non-mergeable memory range.
3 . The method of claim 1 , further comprising:
identifying a portion of a guest physical address (GPA) associated with a range of memory addresses for the non-mergeable memory range; and setting a value for the portion of the GPA to generate the non-mergeable GPA.
4 . The method of claim 3 , further comprising:
responsive to determining that the portion of the GPA is associated with the non-mergeable memory range, modifying the portion of the GPA to generate a mergeable GPA associated with a second memory address within a mergeable memory range; and storing the mergeable memory range in the entry for the memory page.
5 . The method of claim 3 , further comprising:
receiving another request from the application to enable memory deduplication for the memory page; identifying a mergeable memory range for the memory space of the guest, wherein the mergeable memory range is associated with guest memory pages to be deduplicated; mapping, in the page table of the guest, the entry for the memory page to a second memory address within the mergeable memory range; and causing the host to enable deduplication for the memory page responsive to detecting another access of the memory page by the application.
6 . The method of claim 5 , further comprising:
identifying the portion of the GPA associated with the range of memory addresses for the mergeable memory range; and resetting the value for the portion of the GPA to generate the mergeable GPA.
7 . The method of claim 5 , wherein the host is to:
detect the access of the memory page by the application; determine that the entry for the memory page maps to the memory address within the mergeable memory range; store, in an extended page table (EPT) of the host, an EPT entry for the memory page that associates the mergeable GPA with a host physical address for the memory page in a host memory space; and perform a memory deduplication operation for the memory page in view of additional EPT entries for corresponding additional guest memory pages within the mergeable range.
8 . A system comprising:
a memory; and a processing device, operatively coupled to the memory, executing a guest to:
receive a request from an application to disable memory deduplication for a memory page associated with the application;
identify a non-mergeable memory range for memory space of the guest, wherein the non-mergeable memory range is associated with guest memory pages not to be deduplicated;
map, in a page table of the guest, an entry for the memory page to a memory address within the non-mergeable memory range; and
cause a host to disable memory deduplication for the memory page responsive to detecting an access of the memory page by the application.
9 . The system of claim 8 , wherein the processing device is further to:
receive, from the host, information indicating the range of memory addresses for the non-mergeable memory range.
10 . The system of claim 8 , wherein the processing device is further to:
identify a portion of a guest physical address (GPA) associated with a range of memory addresses for the non-mergeable memory range; and set a value for the portion of the GPA to generate the non-mergeable GPA.
11 . The system of claim 10 , wherein the processing device is further to:
responsive to determining that the portion of the GPA is associated with the non-mergeable memory range, modify the portion of the GPA to generate a mergeable GPA associated with a second memory address within a mergeable memory range; and store the mergeable memory range in the entry for the memory page.
12 . The system of claim 10 , wherein the processing device is further to:
receive another request from the application to enable memory deduplication for the memory page; identify a mergeable memory range for the memory space of the guest, wherein the mergeable memory range is associated with guest memory pages to be deduplicated; map, in the page table of the guest, the entry for the memory page to a second memory address within the mergeable memory range; and cause the host to enable deduplication for the memory page responsive to detecting another access of the memory page by the application.
13 . The system of claim 12 , wherein the processing device is further to:
identify the portion of the GPA associated with the range of memory addresses for the mergeable memory range; and reset the value for the portion of the GPA to generate the mergeable GPA.
14 . The system of claim 12 , wherein the host is further to:
detect the access of the memory page by the application; determine that the entry for the memory page maps to the memory address within the mergeable memory range; store, in an extended page table (EPT) of the host, an EPT entry for the memory page that associates the mergeable GPA with a host physical address for the memory page in a host memory space; and perform a memory deduplication operation for the memory page in view of additional EPT entries for corresponding additional guest memory pages within the mergeable range.
15 . A non-transitory computer readable medium comprising instructions, which when accessed by a processing device executing a guest, cause the processing device to:
receive a request from an application to disable memory deduplication for a memory page associated with the application; identify a non-mergeable memory range for memory space of the guest, wherein the non-mergeable memory range is associated with guest memory pages not to be deduplicated; map, in a page table of the guest, an entry for the memory page to a memory address within the non-mergeable memory range; and cause a host to disable memory deduplication for the memory page responsive to detecting an access of the memory page by the application.
16 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further to:
receive, from the host, information indicating the range of memory addresses for the non-mergeable memory range.
17 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further to:
identify a portion of a guest physical address (GPA) associated with a range of memory addresses for the non-mergeable memory range; and set a value for the portion of the GPA to generate the non-mergeable GPA.
18 . The non-transitory computer readable storage medium of claim 17 , wherein the processing device is further to:
responsive to determining that the portion of the GPA is associated with the non-mergeable memory range, modify the portion of the GPA to generate a mergeable GPA associated with a second memory address within a mergeable memory range; and store the mergeable memory range in the entry for the memory page.
19 . The non-transitory computer readable storage medium of claim 17 , wherein the processing device is further to:
receive another request from the application to enable memory deduplication for the memory page; identify a mergeable memory range for the memory space of the guest, wherein the mergeable memory range is associated with guest memory pages to be deduplicated; map, in the page table of the guest, the entry for the memory page to a second memory address within the mergeable memory range; and cause the host to enable deduplication for the memory page responsive to detecting another access of the memory page by the application.
20 . The non-transitory computer readable storage medium of claim 19 , wherein the processing device is further to:
identify the portion of the GPA associated with the range of memory addresses for the mergeable memory range; and reset the value for the portion of the GPA to generate the mergeable GPA.Join the waitlist — get patent alerts
Track US2023205560A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.