Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines
First Claim
1. A method of managing memory in a processing system, said processing system supporting execution of multiple operating system images within multiple virtual machines, said method comprising:
- maintaining a reverse mapping structure that maps machine memory blocks within said processing system to physical memory blocks used within each virtual machine, said reverse mapping structure containing an indication for each active machine memory block of each virtual machine using said active machine memory block and one or more associated physical memory blocks within each virtual machine;
determining an availability status of a particular machine memory block;
reading said reverse mapping structure to determine one or more affected virtual machines using said particular machine memory block and associated physical memory blocks for each of said affected virtual machines; and
taking action on each of said one or more affected virtual machines to prevent an unavailability status of said particular machine memory block from causing further failure within said processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for machine memory power and availability management in a processing system supporting multiple virtual machines provides a mechanism for supporting memory power management and memory failure management in large scale systems. Upon a decision to take a memory module off-line or place the module in an increased-latency state for power management, or upon a notification that a memory module has failed or been taken off-line or has had latency increased by another power management control mechanism, a hypervisor that supports multiple virtual machines checks the use of pages by each virtual machine and its guest operating system by using a reverse mapping. The hypervisor determines which virtual machines are using a particular machine memory page and may re-map the machine memory page to another available machine page, or may notify the virtual machines that the memory page has become or is becoming unavailable via a fault or other notification mechanism. Alternatively, or in the absence of a response from a virtual machine, the hypervisor can shut down the affected partition(s).
151 Citations
30 Claims
-
1. A method of managing memory in a processing system, said processing system supporting execution of multiple operating system images within multiple virtual machines, said method comprising:
-
maintaining a reverse mapping structure that maps machine memory blocks within said processing system to physical memory blocks used within each virtual machine, said reverse mapping structure containing an indication for each active machine memory block of each virtual machine using said active machine memory block and one or more associated physical memory blocks within each virtual machine;
determining an availability status of a particular machine memory block;
reading said reverse mapping structure to determine one or more affected virtual machines using said particular machine memory block and associated physical memory blocks for each of said affected virtual machines; and
taking action on each of said one or more affected virtual machines to prevent an unavailability status of said particular machine memory block from causing further failure within said processing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A processing system comprising:
-
a memory for storing program instructions and data;
a processor for executing said program instructions, said program instructions including multiple operating systems executing within multiple virtual machines, wherein said program instructions further comprise hypervisor program instructions for managing said virtual machines, and wherein said hypervisor program instructions comprise program instructions for maintaining a reverse mapping structure that maps machine memory blocks within said processing system to physical memory blocks used within each virtual machine, said reverse mapping structure containing an indication for each active machine memory block of each virtual machine using said active machine memory block and one or more associated physical memory blocks within each virtual machine;
determining an availability status of a particular machine memory block;
reading said reverse mapping structure to determine one or more affected virtual machines using said particular machine memory block and associated physical memory blocks for each of said affected virtual machines; and
taking action on each of said one or more affected virtual machines to prevent an unavailability status of said particular machine memory block from causing further failure within said processing system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product comprising signal-bearing media encoding program instructions for execution within a processing system supporting execution of multiple operating system images executing within multiple virtual machines, wherein said program instructions comprise hypervisor program instructions for managing said virtual machines, and wherein said hypervisor program instructions comprise program instructions for
maintaining a reverse mapping structure that maps machine memory blocks within said processing system to physical memory blocks used within each virtual machine, said reverse mapping structure containing an indication for each active machine memory block of each virtual machine using said active machine memory block and one or more associated physical memory blocks within each virtual machine; -
determining an availability status of a particular machine memory block;
reading said reverse mapping structure to determine one or more affected virtual machines using said particular machine memory block and associated physical memory blocks for each of said affected virtual machines; and
taking action on each of said one or more affected virtual machines to prevent an unavailability status of said particular machine memory block from causing further failure within said processing system. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification