Method for sharing memory of virtual machine and computer system using the same
US-9058197-B2 · Jun 16, 2015 · US
US10503659B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10503659-B2 |
| Application number | US-201815943515-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 2, 2018 |
| Priority date | Nov 25, 2015 |
| Publication date | Dec 10, 2019 |
| Grant date | Dec 10, 2019 |
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.
A system and methods for migrating a virtual machine (VM). In one embodiment, a hypervisor receives a request to migrate the contents of a memory of a source VM in a first physical memory area to a destination VM in a second physical memory area, where the first and second physical memory areas are disjoint. The hypervisor executes the destination VM in response to the request, and detects an access of a page of memory of the destination VM. The hypervisor determines, in view of a data structure maintained by a guest operating system executing in the destination VM, that a first page of a memory of the source VM in the first physical memory area is currently in use by the destination VM. In response to the detecting, the hypervisor: copies, in view of the first page of VM memory being used by the destination VM, the contents of the first page to a corresponding page of the destination VM; and maps, in view of a second page of VM memory not being used by the destination VM, (i) a physical memory page that is external to the first physical memory area and to the second physical memory area to (ii) a page of the destination VM corresponding to the second page.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, by a hypervisor executed by a processing device of a host computing system, a request to migrate contents of a memory of a source virtual machine (VM) to a destination VM; and migrating the contents of the source VM to the destination VM, wherein the migrating comprises: determining, by the hypervisor, one or more unused pages of the memory of the source VM; and in response to determining the one or more unused pages, mapping, by the hypervisor, (i) one or more physical memory pages of the host computing system that are external to the memory of the source VM to (ii) one or more memory pages of the destination VM that correspond to the one or more unused pages. 2. The method of claim 1 , wherein the physical memory pages that are external to the memory of the source VM are zero pages of a physical machine, and wherein the mapping to the zero pages is read-only. 3. The method of claim 2 , further comprising: detecting, via the hypervisor, a command to write to at least one of the memory pages of the destination VM that are mapped to the zero pages; and in response to detecting the command, allocating at least one writeable physical memory page and mapping the at least one of the memory pages of the destination VM to the allocated at least one writeable physical memory page. 4. The method of claim 1 , wherein determining the one or more unused pages of the memory of the source VM comprises determining, in view of a data structure that maintains a used status of memory pages of the source VM, the one or more unused pages of the memory of the source VM. 5. The method of claim 1 , wherein the request to migrate the contents of the memory comprises a request to migrate the contents of the memory stored in a first physical memory area corresponding to the source VM to a second physical memory area corresponding to the destination VM. 6. The method of claim 5 , wherein the first physical memory area and the second physical memory area are associated with a physical machine. 7. The method of claim 5 , wherein the second physical memory area is associated with a physical machine, and wherein the first physical memory area is associated with a different physical machine. 8. The method of claim 1 , wherein migrating the contents of the source VM to the destination VM, further comprises: determining, by the hypervisor, one or more used pages of the memory of the source VM that are in use by the destination VM; and in response to determining the one or more used pages, copying, by the hypervisor, contents of the one or more used pages of the memory of the source VM to corresponding one or more memory pages of the destination VM. 9. The method of claim 1 , wherein mapping of (i) the one or more physical memory pages of the host computing system that are external to the memory of the source VM to (ii) the one or more memory pages of the destination VM that correspond to the one or more unused pages is performed instead of copying the one or more unused pages of memory of the source VM to the destination VM. 10. An apparatus comprising: one or more physical memories; and a processing device, operatively coupled to the one or more physical memories, to: execute a hypervisor; receive, via the hypervisor executed by the processing device, a request to migrate contents of a memory of a source virtual machine (VM) to a destination VM; and migrate the contents of the source VM to the destination VM, wherein to migrate the contents of the source VM, the processing device is to: determine, via the hypervisor, one or more unused pages of the memory of the source VM; and in response to determining the one or more unused pages, map, via the hypervisor, (i) one or more physical memory pages that are external to the memory of the source VM to (ii) one or more memory pages of the destination VM that correspond to the one or more unused pages. 11. The apparatus of claim 10 , wherein the physical memory pages that are external to the memory of the source VM are zero pages of a physical machine, and wherein the mapping to the zero pages is read-only. 12. The apparatus of claim 11 , wherein the processing device is further to: detect, via the hypervisor, a command to write to at least one of the memory pages of the destination VM that are mapped to the zero pages; and in response to detecting the command, allocate at least one writeable physical memory page and map the at least one of the memory pages of the destination VM to the allocated at least one writeable physical memory page. 13. The apparatus of claim 10 , wherein to determine the one or more unused pages of the memory of the source VM, the processing device is further to determine, in view of a data structure that maintains a used status of memory pages of the source VM, the one or more unused pages of the memory of the source VM. 14. The apparatus of claim 10 , wherein the request to migrate the contents of the memory comprises a request to migrate the contents of the memory stored in a first physical memory area corresponding to the source VM to a second physical memory area corresponding to the destination VM. 15. A non-transitory computer-readable medium comprising instructions that, when executed by a processing device of a physical machine, cause the processing device to execute a hypervisor to: receive a request to migrate contents of a memory of a source virtual machine (VM) to a destination VM; and migrate the contents of the source VM to the destination VM, wherein to migrate the contents of the source VM, the processing device is to: determine one or more unused pages of the memory of the source VM; and in response to determining the one or more unused pages, map (i) one or more physical memory pages that are external to the memory of the source VM to (ii) one or more memory pages of the destination VM that correspond to the one or more unused pages. 16. The non-transitory computer-readable medium of claim 15 , wherein the physical memory pages that are external to the memory of the source VM are zero pages of a physical machine, and wherein the mapping to the zero pages is read-only. 17. The non-transitory computer-readable medium of claim 16 , wherein the hypervisor is further to: detect a command to write to at least one of the memory pages of the destination VM that are mapped to the zero pages; and in response to detecting the command, allocate at least one writeable physical memory page and mapping the at least one of the memory pages of the destination VM to the allocated at least one writeable physical memory page. 18. The non-transitory computer-readable medium of claim 15 , wherein to determine the one or more unused pages of the memory of the source VM, the processing device is further to determine, in view of a data structure that maintains a used status of memory pages of the source VM, the one or more unused pages of the memory of the source VM. 19. The non-transitory computer-readable medium of claim 15 , wherein the request to migrate the contents of the memory comprises a request to migrate the contents of the memory stored in a first physical memory area corresponding to the source VM to a second physical memory area corresponding to the destination VM. 20. The non-transitory computer readable medium of claim 15 , wherein the hypervisor is further to: determine one or more used pages of the memory of the source VM that are in use by the destination VM; and in response to determin
for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence) · CPC title
using page tables, e.g. page table structures · CPC title
Distributed memory · CPC title
Storage comprising a plurality of storage devices · CPC title
Emulated environment, e.g. virtual machine · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.