Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US9354916B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9354916-B2 |
| Application number | US-201213689600-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 29, 2012 |
| Priority date | Nov 29, 2012 |
| Publication date | May 31, 2016 |
| Grant date | May 31, 2016 |
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 virtual machine disk page detector running on a computing device detects guest disk cache usage. The detector detects a request from a virtual operating system to read an object into a virtual memory page from a virtual disk, maintains a record of a page identifier and a corresponding virtual disk address in a guest cache data structure, and modifies a protection identifier of the virtual memory page to indicate that the virtual memory page is protected.
Opening claim text (preview).
We claim: 1. A method comprising: detecting a request from a virtual operating system to read data from an anonymous memory allocation into a virtual memory page from a virtual disk, wherein the anonymous memory allocation comprises anonymous memory dedicated to a virtual machine and that is freed by the virtual machine while the virtual machine is running; maintaining a record of a page identifier and a corresponding first virtual disk address in a guest cache data structure; and modifying, by a processing device executing a hypervisor, a first protection identifier of the virtual memory page to indicate that the virtual memory page is write-protected. 2. The method of claim 1 , further comprising modifying the first protection identifier of the virtual memory page to indicate that the virtual memory page is not protected when the virtual operating system modifies the virtual memory page. 3. The method of claim 1 , further comprising reclaiming anonymous memory when the first protection identifier indicates that the virtual memory page is write-protected. 4. The method of claim 1 , further comprising: detecting a virtual memory pagefault event; identifying a second virtual disk address that corresponds with the virtual memory page of the pagefault event; and reading a corresponding virtual disk page from the virtual disk. 5. The method of claim 1 , wherein the first protection identifier indicates in a first mode that the virtual memory page is writable and in a second mode that the virtual memory page is not writable. 6. The method of claim 5 , further comprising identifying in a page table which of a plurality of page entries has a second protection identifier indicative of the second mode and freeing physical memory corresponding to the identified plurality of page entries. 7. The method of claim 1 , further comprising monitoring the page table to identify a lookup request for a page entry associated with the virtual disk. 8. A non-transitory computer readable storage medium comprising executable instructions that, when executed by a processing device, cause the processing device to: detect, by the processing device, a request from a virtual operating system to read data from an anonymous memory allocation into a virtual memory page from a virtual disk, wherein the anonymous memory allocation comprises anonymous memory dedicated to a virtual machine and that is freed by the virtual machine while the virtual machine is running; maintain, by the processing device, a record of a page identifier and a corresponding first virtual disk address in a guest cache data structure; and modify, by the processing device executing a hypervisor, a first protection identifier of the virtual memory page to indicate that the virtual memory page is write-protected. 9. The non-transitory computer readable storage medium of claim 8 , wherein the processing device is to modify, by the processing device, the first protection identifier of the virtual memory page to indicate that the virtual memory page is not protected when the virtual operating system modifies the virtual memory page. 10. The non-transitory computer readable storage medium of claim 8 , wherein the processing device is to reclaim, by the processing device, the anonymous memory when the first protection identifier indicates that the virtual memory page is protected. 11. The non-transitory computer readable storage medium of claim 8 , wherein the processing device is to: detect, by the processing device, a virtual memory pagefault event; identify, by the processing device, a second virtual disk address that corresponds with the virtual memory page of the pagefault event; and read, by the processing device, a corresponding virtual disk page from the virtual disk. 12. The non-transitory computer readable storage medium of claim 8 , wherein the first protection identifier indicates in a first mode that the virtual memory page is writable and in a second mode that the virtual memory page is not writable. 13. The non-transitory computer readable storage medium of claim 12 , wherein the processing device is to identify, by the processing device, in a page table which of a plurality of page entries has a second protection identifier indicative of the second mode and freeing physical memory corresponding to the identified plurality of page entries. 14. The non-transitory computer readable storage medium of claim 8 , wherein the processing device is to monitor, by the processing device, a page table to identify a lookup request for a page entry associated with the virtual disk. 15. An apparatus comprising: a memory to store a record of a page identifier; and a processing device, coupled to the memory, wherein the processing device is to: detect a request from a virtual operating system to read data from an anonymous memory allocation into a virtual memory page from a virtual disk, wherein the anonymous memory allocation comprises anonymous memory dedicated to a virtual machine and that is freed by the virtual machine while the virtual machine is running; maintain the record of the page identifier and a corresponding first virtual disk address in a guest cache data structure; and modify a first protection identifier of the virtual memory page to indicate that the virtual memory page is write-protected. 16. The apparatus of claim 15 , wherein the processing device is further to modify the first protection identifier of the virtual memory page to indicate that the virtual memory page is not protected when the virtual operating system modifies the virtual memory page. 17. The apparatus of claim 15 , wherein the processing device is further to reclaim anonymous memory when the first protection identifier indicates that the virtual memory page is protected. 18. The apparatus of claim 15 , wherein the processing device is further to: detect a virtual memory pagefault event; identify a second virtual disk address that corresponds with the virtual memory page of the pagefault event; and read a corresponding virtual disk page from the virtual disk. 19. The apparatus of claim 15 , wherein the first protection identifier indicates in a first mode that the virtual memory page is writable and in a second mode that the virtual memory page is not writable. 20. The apparatus of claim 19 , wherein the processing device is further to identify in a page table which of a plurality of page entries has a second protection identifier indicative of the second mode and freeing physical memory corresponding to the identified plurality of page entries.
I/O management, e.g. providing access to device drivers or storage · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.