Multicasting message in a network storage system to local NVRAM and remote cluster partner
First Claim
Patent Images
1. A method comprising:
- generating a message in a first network storage server; and
multicasting the message by simultaneously transmitting, using a single PCI transaction, the message from a system memory of the first network storage server to a first cluster interconnect device in the first network storage server and a second cluster interconnect device in the second network storage server, wherein the first cluster interconnect device includes a first non-volatile memory, embedded in the first cluster interconnect device, for receiving and storing the message received by the first cluster interconnect device, wherein the second cluster interconnect device includes a second non-volatile memory, embedded in the second cluster interconnect device, for receiving and storing the message received by the second cluster interconnect device, wherein the second network storage server is configured as a cluster partner of the first network storage server, wherein the message is transmitted from the first network storage server to the second network storage server via a cluster interconnect coupling the first cluster interconnect device to the second cluster interconnect device, and wherein the first non-volatile memory and the second non-volatile memory are destinations of the multicasting.
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.
64 Citations
22 Claims
-
1. A method comprising:
-
generating a message in a first network storage server; and multicasting the message by simultaneously transmitting, using a single PCI transaction, the message from a system memory of the first network storage server to a first cluster interconnect device in the first network storage server and a second cluster interconnect device in the second network storage server, wherein the first cluster interconnect device includes a first non-volatile memory, embedded in the first cluster interconnect device, for receiving and storing the message received by the first cluster interconnect device, wherein the second cluster interconnect device includes a second non-volatile memory, embedded in the second cluster interconnect device, for receiving and storing the message received by the second cluster interconnect device, wherein the second network storage server is configured as a cluster partner of the first network storage server, wherein the message is transmitted from the first network storage server to the second network storage server via a cluster interconnect coupling the first cluster interconnect device to the second cluster interconnect device, and wherein the first non-volatile memory and the second non-volatile memory are destinations of the multicasting. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
executing a local direct memory access (DMA) operation in a first network storage server to transmit data from a system memory of the first network storage server to a first cluster interconnect device in the first network storage server to store data in a first non-volatile memory embedded in the first cluster interconnect device in the first network storage server;
wherein the first cluster interconnect device couples the first network storage server to a cluster interconnect; andexecuting a remote DMA operation, concurrently with the local DMA operation in a single PCI transaction, from the first network storage server to transmit data from the system memory of the first network storage server to a second cluster interconnect device in the second network storage server to store data in a second non-volatile memory embedded in the second cluster interconnect device in the second network storage server, wherein the second network storage server is configured as a cluster partner of the first network storage server, wherein the remote DMA operation is executed via the cluster interconnect, wherein the data is transmitted to the second cluster interconnect device using the remote DMA operation without waiting for the data to be first copied into the first non-volatile memory, wherein the local DMA operation and the remote DMA operation are portions of a multicasting operation, and wherein the first non-volatile memory and the second non-volatile memory are destinations of the multicasting operation. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A first network storage server comprising:
-
a network interface through which to receive data access requests from a plurality of remote hosts over a network; a storage interface through which to access a set of mass storage devices according to the data access requests; a first cluster interconnect device through which to communicate with a second network storage server configured as a cluster partner of the first network storage server over a cluster interconnect, wherein a first non-volatile memory is embedded in the cluster interconnect device; and a processor to generate a message and to multicast the message by simultaneously transmitting, using a single PCI transaction, the message from a system memory of the first network storage server to the first cluster interconnect device in the first network storage device and a second cluster interconnect device in the second network storage device, wherein the first cluster interconnect device receives and stores the message in the first non-volatile memory in the first cluster interconnect device and the second cluster interconnect device stores and receives the message in a second non-volatile memory embedded in the second cluster interconnect device of the second network storage server, wherein the first non-volatile memory and the second non-volatile memory are multicast destinations of the message, wherein the message is transmitted to the second cluster interconnect device using without waiting for the message to be first stored in the first non-volatile memory. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A network storage system comprising:
-
means for generating a message in a first network storage server; and means for multicasting the message by simultaneously transmitting, using a single PCI transaction, the message from a system memory of the first network storage server to a first cluster interconnect device in the first network storage server and a second cluster interconnect device in the second network storage server, wherein the first cluster interconnect device includes a first non-volatile memory, embedded in the first cluster interconnect device, for receiving and storing the message received by the first cluster interconnect device, wherein the second cluster interconnect device includes a second non-volatile memory, embedded in the second cluster interconnect device, for receiving and storing the message received by the second cluster interconnect device, wherein the second network storage server is configured as a cluster partner of the first network storage server in the network storage system, wherein the message is transmitted from the first network storage server to the second network storage server via a cluster interconnect coupling the first cluster interconnect device to the second cluster interconnect device, and wherein the first non-volatile memory and the second non-volatile memory are destinations of the multicasting. - View Dependent Claims (19, 20, 21, 22)
-
Specification