Network storage system with shared software stack for LDMA and RDMA
First Claim
Patent Images
1. A method comprising:
- using a driver software module and a software stack in a network storage system to store data in a non-volatile memory in the network storage system, wherein the network storage system contains a cluster interconnect adapter, the driver software module contains code for accessing the non-volatile memory and the cluster interconnect adapter, and the software stack provides a shared interface for invoking the code; and
using the driver software module and the software stack to store data in a second memory in a cluster partner of the network storage system, by controlling the cluster interconnect adapter in the network storage system, wherein the software stack invokes the code in the driver software module to control the cluster interconnect adapter and to store data in the second memory of the cluster partner.
2 Assignments
0 Petitions
Accused Products
Abstract
A network storage system includes a non-volatile memory to store data including a log of received data access requests, and a cluster interconnect adapter through which to send data to a cluster partner. The nonvolatile memory and the cluster interconnect adapter are implemented in a single device connected to an expansion bus in the network storage system. Communication with the nonvolatile memory is carried out using LDMA, and communication with the cluster partner is carried out using RDMA via the cluster interconnect adapter. LDMA and RDMA functionality are merged in a common software stack.
-
Citations
39 Claims
-
1. A method comprising:
-
using a driver software module and a software stack in a network storage system to store data in a non-volatile memory in the network storage system, wherein the network storage system contains a cluster interconnect adapter, the driver software module contains code for accessing the non-volatile memory and the cluster interconnect adapter, and the software stack provides a shared interface for invoking the code; and using the driver software module and the software stack to store data in a second memory in a cluster partner of the network storage system, by controlling the cluster interconnect adapter in the network storage system, wherein the software stack invokes the code in the driver software module to control the cluster interconnect adapter and to store data in the second memory of the cluster partner. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of operating a network storage system, the method comprising:
-
managing access to data stored in a plurality of mass storage devices on behalf of a plurality of clients; receiving a data access request at the network storage system from one of the plurality of clients, the data access request being directed to a portion of the stored data; using a driver software module and a software stack in the network storage system to store data representing the data access request in a non-volatile memory in the network storage system, by performing a local direct memory access (DMA) operation, wherein the network storage system contains a cluster interconnect adapter, the driver software module contains code for accessing the non-volatile memory and the cluster interconnect adapter, and the software stack provides a shared interface for invoking the code; and using the driver software module and the software stack to store data representing the data access request in a second memory in a cluster partner of the network storage system, by controlling the cluster interconnect adapter in the network storage system, wherein the software stack invokes the code in the driver software module to control the cluster interconnect adapter and to store data in the second memory of the cluster partner. - View Dependent Claims (11, 12, 13)
-
-
14. An apparatus for use in a network storage system, the apparatus comprising:
-
a non-volatile memory to store log data representing data access requests received by the network storage system; a cluster interconnect adapter through which the network storage system can communicate with a cluster partner; and a driver software module and a software stack to control operation of both the non-volatile memory and the cluster interconnect adapter, wherein the software module contains code for accessing the non-volatile memory and the cluster interconnect adapter, and the software stack provides a shared interface for invoking the code. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A network storage system comprising:
-
a processor; a storage adapter coupled to the processor; a network adapter coupled to the processor; a non-volatile memory coupled to the processor; a cluster interconnect adapter coupled to the processor, through which the storage system can communicate with a cluster partner; and an operating system, executable by the processor, the operating system including a driver and a software stack to control operation of both the non-volatile memory and the cluster interconnect adapter, wherein the software module contains code for accessing the non-volatile memory and the cluster interconnect adapter, and the software stack provides a shared interface for invoking the code. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A network storage system comprising:
-
a processor; a storage adapter coupled to the processor; a network adapter coupled to the processor; a non-volatile random access memory (NVRAM) coupled to the processor; a cluster interconnect adapter coupled to the processor, through which the storage system can communicate with a cluster partner; and a second memory containing a driver and a software stack, wherein the driver contains code for accessing the non-volatile memory and the cluster interconnect adapter, the software stack provides a shared interface for invoking the code, the driver and the software stack are to execute local direct memory access (DMA) operations to store data representing one or more write requests in the NVRAM and to initiate remote DMA operations to store the data representing the one or more write requests in a memory of the cluster partner via the cluster interconnect adapter. - View Dependent Claims (31, 32, 33)
-
-
34. A network storage system comprising:
-
a non-volatile memory; a cluster interconnect adapter; means for using a driver software module and a software stack in the network storage system to store data in the non-volatile memory; and means for using the driver software module and the software stack to store data in a second memory in a cluster partner of the network storage system, by controlling the cluster interconnect adapter, wherein the software module contains code for accessing the non-volatile memory and the cluster interconnect adapter, and the software stack provide a shared interface for invoking the code.
-
-
35. A method comprising:
-
using a driver software module and a software stack to access a device in a network storage system, wherein the device contains a non-volatile memory and a cluster interconnect adapter, the driver software module contains code for accessing the non-volatile memory and the cluster interconnect adapter, and the software stack provides a shared interface for invoking the code; storing data in the non-volatile memory of the device by interfacing with the software stack, wherein the software stack invokes the code in the driver software module to access the non-volatile memory; and storing data in a second memory in a cluster partner of the network storage system by interfacing with the software stack, wherein the software stack invokes the code in the driver software module to access the cluster interconnect adaptor and communicate with the cluster partner. - View Dependent Claims (36, 37, 38, 39)
-
Specification