Flexible Memory Appliance and Methods for Using Such
First Claim
1. A memory appliance, wherein the memory appliance comprises:
- a bank of memory, wherein the bank of memory is randomly accessible; and
a memory controller including an interface device, wherein the interface device is operable to receive a first data from a first virtual machine and a second data from a second virtual machine, wherein the memory controller allocates a first memory region and a second memory region, wherein the memory controller is operable to direct data from the first virtual machine to the first memory region and to direct data from the second virtual machine to the second memory region, and wherein the first memory region and the second memory region is implemented in a memory device remote from the first virtual machine and the second virtual machine.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention provide systems and methods for using providing memory access across multiple virtual machines. For example, various embodiments of the present invention provide methods for configuring a shared main memory region. The methods include providing a memory appliance that includes a randomly accessible bank of memory and a memory controller that is operable to maintain information in relation to a first virtual machine and a second virtual machine. The methods further include receiving a request to allocate a first portion of the bank of memory to the first virtual machine, and receiving a request to allocate a second portion of the bank of memory to the second virtual machine. The first portion of the bank of memory is identified as accessible to the first virtual machine, and the second portion of the bank of memory is identified as accessible to the second virtual machine.
67 Citations
22 Claims
-
1. A memory appliance, wherein the memory appliance comprises:
-
a bank of memory, wherein the bank of memory is randomly accessible; and a memory controller including an interface device, wherein the interface device is operable to receive a first data from a first virtual machine and a second data from a second virtual machine, wherein the memory controller allocates a first memory region and a second memory region, wherein the memory controller is operable to direct data from the first virtual machine to the first memory region and to direct data from the second virtual machine to the second memory region, and wherein the first memory region and the second memory region is implemented in a memory device remote from the first virtual machine and the second virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for configuring a shared main memory region, the method comprising:
-
providing a memory appliance, wherein the memory appliance includes; a bank of memory, wherein the bank of memory is randomly accessible; and a memory controller including an interface device, wherein the interface device is operable to maintain information in relation to a first virtual machine and a second virtual machine; receiving a request to allocate a first portion of the bank of memory to the first virtual machine; receiving a request to allocate a second portion of the bank of memory to the second virtual machine; and identifying the first portion of the bank of memory as accessible to the first virtual machine; and identifying the second portion of the bank of memory as accessible to the second virtual machine. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A memory appliance, wherein the memory appliance comprises:
-
a bank of memory, wherein the bank of memory is randomly accessible; and a memory controller including; a network interface device, wherein the network interface device is operable to receive a first data from a first virtual machine and a second data from a second virtual machine; a plurality of configuration registers operable to identify one or more memory allocations to the first virtual machine and the second virtual machine; and a plurality of physical registers operable to identify respective regions of the bank of memory allocated to the first virtual machine and the second virtual machine; and wherein the memory controller allocates a first memory region and a second memory region, and wherein the memory controller is operable to direct data from the first virtual machine to the first memory region and to direct data from the second virtual machine to the second memory region.
-
Specification