IP Library › Granted Patent US 12,111,842
Granted Patent B2
US 12,111,842 · App. 17/695,068 · Granted Oct 8, 2024

Low latency communications for nodes in replication relationships

Inventors: Siamak Nazari (Mountain View, CA); Jonathan A. McDowell (Belfast, GB); Nigel Kerr (Belfast, GB)
Assignee: Nvidia Corporation
G06F16/27G06F11/1451G06F11/1464G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,111,842
App. No.
17/695,068
Granted
Oct 8, 2024
Kind
B2
Abstract

An initiating node (C) in a storage platform ( 100 ) receives a modification request ( 312, 314 ) for changing an object (O). The initiating node (C), using system configuration information ( 127 ), identifies an owner node (A) and a backup node (B) for the object (O) and sends change data ( 324, 334 ) to the owner node (A) and the backup node (B). The owner node (A) modifies the object (O) with the data ( 324 ) from the initiating node (C) and sends an update request ( 352 ) that does not include the data ( 324 ) to the backup node (B). The backup node (B) modifies a backup object (O′) with data ( 334 ) from the initiating node (C).

Claims (44)

1. A process comprising:

receiving at a first node in a storage platform a service request that requests modification of a target storage object;

the first node using configuration information to identify in the storage platform a second node that maintains the target storage object and a third node that maintains a backup storage object that replicates the target storage object;

transmitting data for the modification from the first node to both the second node and the third node;

the second node using the data from the first node to perform the modification of the target storage object;

the second node sending an update request to the third node, the update request not including the data; and

the third node, in response to the update request from the second node, using the data the third node received from the first node to modify the backup storage object.

2. The process of claim 1 , wherein the service request is from a source external to the storage platform.

3. The process of claim 2 , wherein receiving the service request comprises a storage processing unit that is a component of the first node and is resident in a server receiving the service request from one of an application running on the server and a storage client connected to the server through a network.

4. The process of claim 1 , wherein transmitting the data from the first node to the second node and the third node comprises transmitting the data over a data network that interconnects a plurality of nodes in the storage platform.

5. The process of claim 1 , further comprising the first node transmitting to the third node metadata, the third node using the metadata and the data from the first node to modify the backup storage object.

6. The process of claim 1 , further comprising the first node transmitting to the second node metadata that indicates that the first node is providing the data to the third node.

7. The process of claim 1 , wherein:

the first node comprises a first storage processor resident in a first server;

the second node comprises a second storage processor in a second server and further comprises backend storage that the second storage processor operates to store data of the target storage object; and

the third node comprises a third storage processor in a third server and further comprises backend storage that the third storage processor operates to store data of the backup storage object.

8. The process of claim 7 , receiving the service request at the first node comprises:

the first server receiving the service request from a client of the first server; and

the first server providing the service request to the first storage processor.

9. The process of claim 8 , wherein the first storage process uses the configuration information to identify the second node and the third node.

10. The process of claim 1 , wherein transmitting data for the modification from the first storage node to both the second node and the third node comprises transmitting the data through a dedicated network in the storage platform.

11. A system comprising:

a host interface configured to connect to a host server; and

a processing module configured to receive through the host interface a service request that requests modification of a target storage object in a storage platform and being configured to respond to the service request by performing a process comprising:

using configuration information for the storage platform to identify in the storage platform a first storage node that maintains the target storage object and a second storage node that maintains a backup storage object that replicates the target storage object; and

transmitting data for the modification from the first storage node to both the second node and the third node.

12. The system of claim 11 , further comprising memory containing configuration information for a storage platform including the service processing unit in a storage node of the storage platform.

13. A storage platform, comprising:

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the storage platform to:

receive, at a first node in the storage platform, a service request that requests modification of a target storage object, the first node using configuration information to identify in the storage platform a second node that maintains the target storage object and a third node that maintains a backup storage object that replicates the target storage object;

transmit data for the modification from the first node to both the second node and the third node, the second node using the data from the first node to perform the modification of the target storage object;

cause the second node to send an update request to the third node, the update request not including the data; and

in response to the update request from the second node, use the data the third node received from the first node to modify the backup storage object.

14. The storage platform of claim 13 , wherein the service request is from a source external to the storage platform.

15. The storage platform of claim 14 , wherein the instructions that, when executed by the at least one processor, further cause the storage platform to receive the service request comprises a storage processing unit that is a component of the first node and is resident in a server receiving the service request from one of an application running on the server and a storage client connected to the server through a network.

16. The storage platform of claim 13 , wherein transmitting the data from the first node to the second node and the third node comprises transmitting the data over a data network that interconnects a plurality of nodes in the storage platform.

17. The storage platform of claim 13 , further comprising the first node transmitting to the third node metadata, the third node using the metadata and the data from the first node to modify the backup storage object.

18. The storage platform of claim 13 , wherein:

the first node comprises a first storage processor resident in a first server;

the second node comprises a second storage processor in a second server and further comprises backend storage that the second storage processor operates to store data of the target storage object; and

the third node comprises a third storage processor in a third server and further comprises backend storage that the third storage processor operates to store data of the backup storage object.

19. The storage platform of claim 18 , wherein the first storage process uses the configuration information to identify the second node and the third node.

20. The storage platform of claim 13 , wherein transmitting data for the modification from the first storage node to both the second node and the third node comprises transmitting the data through a dedicated network in the storage platform.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: NEBULON, INC.; NEBULON LTD
To: NVIDIA CORPORATION
Reel/Frame 067338/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2022
From: NAZARI, SIAMAK; MCDOWELL, JONATHAN A.; KERR, NIGEL
To: NEBULON, INC.
Reel/Frame 060940/0199 →
Continuity (2)
Provisional Application 63161054 · Mar 15, 2021
Related Publication 20220292108A1 · Sep 15, 2022