IP Library Granted Patent US 11,509,720
Granted Patent B2
US 11,509,720 · App. 17/151,329 · Granted Nov 22, 2022

Techniques for storing and distributing metadata among nodes in a storage cluster system

Inventors: Paul Yuedong Mu (Sunnyvale, CA); Manoj Sundararajan (Sunnyvale, CA); Paul Ngan (Sunnyvale, CA)
Assignee: NetApp Inc.
H04L67/1097
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 11,509,720
App. No.
17/151,329
Granted
Nov 22, 2022
Kind
B2
Abstract

Various embodiments are generally directed to techniques for reducing the time required for a node to take over for a failed node or to boot. An apparatus includes an access component to retrieve a metadata from a storage device coupled to a first D-module of a first node during boot, the metadata generated from a first mutable metadata portion and an immutable metadata portion, and the first metadata specifying a first address of a second D-module of a second node; a replication component to contact the second data storage module at the first address; and a generation component to, in response to failure of the contact, request a second mutable metadata portion from a N-module of the first node and generate a second metadata from the second mutable metadata portion and the immutable metadata portion, the second mutable metadata portion specifying a second address of the second D-module.

Claims (55)

1. A method comprising:

booting a node into an operational state; and

operating, during the node booting into the operation state, a testing component to perform a test over a first interconnect to which the node is connected to discover devices connected to the first interconnect, wherein the operating comprises:

receiving, by the testing component, configuration data specifying a set of addresses;

sending test messages to one or more addresses within the set of addresses;

retrieving identifiers from devices that responded to the test messages; and

comparing the identifiers retrieved from the devices to identifiers specified within the configuration data to determine addresses at which client devices can be contacted.

2. The method of claim 1 , comprising:

operating, during the node booting into the operation state, the testing component to perform the test over a second interconnect to which the node is connected to discover devices connected to the second interconnect.

3. The method of claim 1 , comprising:

selecting a range of addresses from available addresses as the set of addresses.

4. The method of claim 1 , comprising:

comparing the identifiers retrieved from the devices to identifiers specified within the configuration data to determine addresses at which nodes can be contacted.

5. The method of claim 1 , comprising:

limiting the set of addresses to a range of addresses, wherein the one or more addresses are within the range of addresses.

6. The method of claim 1 , comprising:

querying a device of the devices to identify an address of the device on a second interconnect.

7. The method of claim 6 , wherein a network module of the node is not connected to the second interconnect.

8. The method of claim 7 , wherein a data module of the device is connected to the second interconnect.

9. The method of claim 1 , comprising:

determining that a device of the devices is a partner node to which data access commands implemented by the node are to be replicated.

10. The method of claim 9 , comprising:

in response to the node receiving a data access command, implementing the data access command by the node and replicating the data access command to the partner node for parallel performance of the data access command.

11. The method of claim 9 , wherein the partner node is an active node, and wherein the method comprises:

in response to a failure to replicate a data access command to the active node, retying to replicate the data access command by replicating the data access command to an inactive node.

12. The method of claim 11 , comprising:

in response to the failure to replicate a data access command to the active node, performing a failover to the inactive node to transition the inactive node into an active state.

13. A non-transitory machine-readable storage medium comprising instructions that when executed by a machine, causes the machine to:

boot a node into an operational state; and

operate, during the node booting into the operation state, a testing component to perform a test over a first interconnect to which the node is connected to discover devices connected to the first interconnect, comprising:

receiving, by the testing component, configuration data specifying a set of addresses;

sending test messages to one or more addresses within the set of addresses;

retrieving identifiers from devices that responded to the test messages;

comparing the identifiers retrieved from the devices to identifiers specified within the configuration data to determine addresses at which nodes can be contacted.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions cause the machine to:

operate, during the node booting into the operation state, the testing component to perform the test over a second interconnect to which the node is connected to discover devices connected to the second interconnect.

15. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions cause the machine to:

compare the identifiers retrieved from the devices to identifiers specified within the configuration data to determine addresses at which client devices can be contacted.

16. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions cause the machine to:

select a range of addresses from available addresses as the set of addresses.

17. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions cause the machine to:

limit the set of addresses to a range of addresses, wherein the one or more addresses are within the range of addresses.

18. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions cause the machine to:

query a device of the devices to identify an address of the device on a second interconnect.

19. A computing device comprising:

a memory comprising machine executable code; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

boot a node into an operational state; and

operate, during the node booting into the operation state, a testing component to perform a test over a first interconnect to which the node is connected to discover devices connected to the first interconnect, comprising:

receiving, by the testing component, configuration data specifying a set of addresses;

sending test messages to one or more addresses within the set of addresses;

retrieving identifiers from devices that responded to the test messages;

query a device of the devices to identify an address of the device on a second interconnect.

20. The computing device of claim 19 , wherein the machine executable code causes the processor to:

operate, during the node booting into the operation state, the testing component to perform the test over the second interconnect to which the node is connected to discover devices connected to the second interconnect.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2025
From: ADAMSKI, JAROSLAW
To: PEREGRINE SEMICONDUCTOR CORPORATION
Reel/Frame 072206/0631 →
CHANGE OF NAME Recorded Jul 23, 2025
From: PEREGRINE SEMICONDUCTOR CORPORATION
To: PSEMI CORPORATION
Reel/Frame 072206/0655 →
Continuity (4)
Continuation 16751891 · Jan 24, 2020
Continuation 15820678 · Nov 22, 2017
Continuation 14528166 · Oct 30, 2014
Related Publication 20210144208A1 · May 13, 2021