Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US8990531B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-8990531-B2 |
| Application number | US-201113179032-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 8, 2011 |
| Priority date | Jul 12, 2010 |
| Publication date | Mar 24, 2015 |
| Grant date | Mar 24, 2015 |
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.
Activity level of memory pages is classified in virtual machine environment, so that processes such as live VM migration and checkpointing, among others, can be carried out more efficiently. Because each such hypervisor-based service may desire classification of activity levels of memory pages at different frequencies and different time granularities, the hypervisor supports methods to classify activity levels of memory pages for a plurality of time intervals.
Opening claim text (preview).
I claim: 1. A method for classifying activity levels for memory pages of a virtual machine, the method comprising: maintaining a current activity level of each of the memory pages in a first data structure corresponding to a first time interval and in a second data structure corresponding to a second time interval that is less than the first time interval; receiving notification of an elapse of the first time interval; identifying the current activity level of a memory page of the virtual machine stored in the first data structure; retrieving first input data indicating the current activity level of the memory page stored in the second data structure, wherein the first input data is updated at the end of each of the second time intervals that elapsed within the first time interval, the first input data being updated at the end of an elapsed second time interval based on whether or not the memory page was accessed during the elapsed second time interval; determining a new activity level of the memory page based on the current activity level stored in the first data structure and the retrieved first input data; and storing the new activity level in an entry of the first data structure corresponding to the memory page as the current activity level of the memory page. 2. The method of claim 1 , wherein the current activity levels of the memory pages stored in the first and second data structure include a high activity level, a low activity level, and an intermediate activity level. 3. The method of claim 1 , wherein determining comprises: transitioning from the current activity level to the new activity level in a finite state machine based on the retrieved first input data. 4. The method of claim 3 , wherein the second time interval is a minimum time interval supported by a hypervisor of the virtual machine and the A/D bits of a page table entry for the memory page are cleared at the end of each second time interval. 5. The method of claim 3 , wherein the first input data is updated at the end of an elapsed second time interval based on whether or not a hypervisor of the virtual machine set a page table entry for the memory page during the elapsed second time interval. 6. The method of claim 3 , wherein the first input data indicates one of more than two activity levels of the memory page including a high activity level, a low activity level, and an intermediate activity level. 7. The method of claim 6 , wherein the second time interval is a minimum time interval supported by a hypervisor of the virtual machine. 8. The method of claim 6 , wherein a second finite state machine is used to update the first input data at the end of an elapsed second time interval based on whether or not the memory page was accessed during the elapsed second time interval. 9. A computer system including one or more virtual machines running therein and a hypervisor configured to classify activity levels of memory pages of a virtual machine by performing the steps of: maintaining a current activity level of each of the memory pages in a first data structure corresponding to a first time interval and in a second data structure corresponding to a second time interval that is less than the first time interval; receiving notification of an elapse of the first time interval; identifying the current activity level of a memory page of the virtual machine stored in the first data structure; retrieving first input data indicating the current activity level of the memory page stored in the second data structure, wherein the first input data is updated at the end of each of the second time intervals that elapsed within the first time interval, the first input data being updated at the end of an elapsed second time interval based on whether or not the memory page was accessed during the elapsed second time interval; determining a new activity level of the memory page based on the current activity level stored in the first data structure and the retrieved first input data; and storing the new activity level in an entry of the first data structure corresponding to the memory page as the current activity level of the memory page. 10. The computer system of claim 9 , wherein the current activity levels of the memory pages stored in the first and second data structure include a high activity level, a low activity level, and an intermediate activity level. 11. The computer system of claim 9 , wherein the determining step comprises transitioning from the current activity level to the new activity level in a finite state machine based on the retrieved first input data. 12. The computer system of claim 11 , wherein the second time interval is a minimum time interval supported by the hypervisor and the A/D bits of a page table entry for the memory page are cleared at the end of each second time interval. 13. The computer system of claim 11 , wherein the first input data is updated at the end of an elapsed second time interval based on whether or not a hypervisor of the virtual machine set a page table entry for the memory page during the elapsed second time interval. 14. The computer system of claim 11 , wherein the first input data indicates one of more than two activity levels of the memory page including a high activity level, a low activity level, and an intermediate activity level. 15. The computer system of claim 14 , wherein the second time interval is a minimum time interval supported by the hypervisor. 16. The computer system of claim 14 , wherein a second finite state machine is used to update the first input data at the end of an elapsed second time interval based on whether or not the memory page was accessed during the elapsed second time interval. 17. A non-transitory computer-readable storage medium including instructions that, when executed by a computer processor, causes the computer processor to classify activity levels for memory pages of a virtual machine by performing the steps of: maintaining a current activity level of each of the memory pages in a first data structure corresponding to a first time interval and in a second data structure corresponding to a second time interval that is less than the first time interval; receiving notification of an elapse of the first time interval; identifying the current activity level of a memory page of the virtual machine stored in the first data structure; retrieving first input data indicating the current activity level of the memory page stored in the second data structure, wherein the first input data is updated at the end of each of the second time intervals that elapsed within the first time interval, the first input data being updated at the end of an elapsed second time interval based on whether or not the memory page was accessed during the elapsed second time interval; determining a new activity level of the memory page based on the current activity level stored in the first data structure and the retrieved first input data; and storing the new activity level in an entry of the first data structure corresponding to the memory page as the current activity level of the memory page. 18. The non-transitory computer-readable storage medium of claim 17 , wherein the current activity levels of the memory pages stored in the first and second data structure include a high activity level, a low activity level, and an intermediate activity level. 19. The non-transitory computer-readable storage medium of claim 17 , wherein the determining step comprises transitioning from the current activity level to the new acti
Hypervisor-specific management and integration aspects · CPC title
Memory management, e.g. access or allocation · CPC title
using page tables, e.g. page table structures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.