System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA
First Claim
1. A processing system comprising:
- a plurality of virtual machines;
a non-volatile solid-state memory shared by the plurality of virtual machines;
a hypervisor operatively coupled to the plurality of virtual machines; and
a remote direct memory access (RDMA) controller operatively coupled to the plurality of virtual machines and the hypervisor, to access the non-volatile solid-state memory on behalf of the plurality of virtual machines by using RDMA operations.
1 Assignment
0 Petitions
Accused Products
Abstract
A processing system includes a plurality of virtual machines which have shared access to a non-volatile solid-state memory (NVSSM) subsystem, by using remote direct memory access (RDMA). The NVSSM subsystem can include flash memory and other types of non-volatile solid-state memory. The processing system uses scatter-gather lists to specify the RDMA read and write operations. Multiple reads or writes can be combined into a single RDMA read or write, respectively, which can then be decomposed and executed as multiple reads or writes, respectively, in the NVSSM subsystem. Memory accesses generated by a single RDMA read or write may be directed to different memory devices in the NVSSM subsystem, which may include different forms of non-volatile solid-state memory.
165 Citations
40 Claims
-
1. A processing system comprising:
-
a plurality of virtual machines; a non-volatile solid-state memory shared by the plurality of virtual machines; a hypervisor operatively coupled to the plurality of virtual machines; and a remote direct memory access (RDMA) controller operatively coupled to the plurality of virtual machines and the hypervisor, to access the non-volatile solid-state memory on behalf of the plurality of virtual machines by using RDMA operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A processing system comprising:
-
a plurality of virtual machines; a non-volatile solid-state memory; a second memory; a hypervisor operatively coupled to the plurality of virtual machines, to configure the virtual machines to have exclusive write access each to a separate portion of the non-volatile solid-state memory, wherein the hypervisor has at least read access to each said portion of the non-volatile solid-state memory, and wherein the hypervisor generates tags, for use by the virtual machines, to control which portion of the non-volatile solid-state memory each of the virtual machines can access; and a remote direct memory access (RDMA) controller operatively coupled to the plurality of virtual machines and the hypervisor, to access the non-volatile solid-state memory on behalf of each of the virtual machines, by creating scatter-gather lists associated with the non-volatile solid-state memory and the second memory to perform an RDMA data transfer between the non-volatile solid-state memory and the second memory, wherein the virtual machines access the non-volatile solid-state memory by communicating with the non-volatile solid-state memory through the RDMA controller without involving the hypervisor. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A method comprising:
-
operating a plurality of virtual machines in a processing system; and using remote direct memory access (RDMA) to enable the plurality of virtual machines to have shared access to a non-volatile solid-state memory, including using RDMA to implement fault tolerance between the virtual machines in relation to the non-volatile solid-state memory. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40)
-
Specification