IP Library Granted Patent US 11,474,729
Granted Patent B2
US 11,474,729 · App. 17/444,106 · Granted Oct 18, 2022

Updating the configuration of storage units of a storage network

Inventors: Manish Motwani (Chicago, IL); Joseph M. Kaczmarek (Chicago, IL); Michael C. Storm (Palo Alto, CA); Ilya Volvovski (Chicago, IL); Greg R. Dhuse (Chicago, IL); Anthony J. Baldocchi (Glen Ellyn, IL); Jason K. Resch (Chicago, IL); Thomas D. Cocagne (Elk Grove Village, IL)
Assignee: Pure Storage, Inc.
G06F3/0647G06F3/0604G06F3/067G06F3/0644
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,474,729
App. No.
17/444,106
Granted
Oct 18, 2022
Kind
B2
Abstract

A method for updating software of storage units of a set of storage units in a storage network. In an embodiment, each storage unit of the set of storage units determines a data slice storage status for data slices stored in the storage unit (e.g., by monitoring rebuilding messages relating to the data slices). A processing module of the storage network obtains the data slice storage status of the storage units of the set of storage units and determines whether to perform a software update to software of the storage units of the set of storage units. Determining whether to perform the software update includes determining, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status. In response to determining that a threshold number of storage units are associated with a favorable data slice storage status, the processing module indicates to perform the software update.

Claims (44)

1. A method for execution by a storage network, the method comprising:

determining, by each storage unit of a set of storage units, a data slice storage status for data slices stored in a storage unit;

obtaining, by a processing module of the storage network, the data slice storage status of the storage units of the set of storage units; and

determining whether to perform a software update to software of the storage units of the set of storage units, including:

determining, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status;

in response to determining that a threshold number of storage units are associated with a favorable data slice storage status, indicating to perform the software update; and

in response to determining that a threshold number of storage units are not associated with a favorable data slice storage status, indicating not to perform the software update.

2. The method of claim 1 , wherein determining a data slice storage status for data slices stored in a storage unit includes monitoring rebuilding messages relating to the data slices.

3. The method of claim 2 , wherein the storage unit indicates a favorable data slice storage status in response to determining that a number of the rebuilding messages is less than a rebuilding message threshold level.

4. The method of claim 1 , wherein the data slices are stored in flash memory of the set of storage units.

5. The method of claim 1 , wherein determining a data slice storage status for data slices stored in a storage unit includes determining the storage status of data slices in an address range.

6. The method of claim 1 , wherein obtaining the data slice storage status of the storage units of the set of storage units includes initiating a query and receiving a query response.

7. The method of claim 1 , wherein determining whether to perform a software update to software of the storage units of the set of storage units further includes determining the availability of new software.

8. The method of claim 1 , wherein determining whether to perform a software update to software of the storage units of the set of storage units further includes:

detecting a software error; and

indicating to perform the software update in response to detecting the software error.

9. The method of claim 1 , wherein determining whether to perform a software update to software of the storage units of the set of storage units further includes detecting the availability of new hardware in the set of storage units.

10. The method of claim 1 , wherein indicating to perform the software update includes indicating to perform the software update on all storage units of the set of storage units.

11. The method of claim 1 , wherein indicating to perform the software update includes issuing a storage unit configuration update to one or more of the storage units of the set of storage units.

12. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

a network interface;

a local memory including operational instructions; and

a processing module operably coupled to the local memory and the network interface, the processing module configured to execute the operational instructions to:

obtain, via the network interface, a data slice storage status for data slices stored in each storage unit of a set of storage units; and

determine whether to perform a software update to software of the storage units of the set of storage units, including:

determine, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status;

in response to determining that a threshold number of storage units are associated with a favorable data slice storage status, indicate to perform the software update; and

in response to determining that a threshold number of storage units are not associated with a favorable data slice storage status, indicate not to perform the software update.

13. The computing device of claim 12 , wherein a data slice storage status for data slices stored in a storage unit is based, at least in part, on monitoring rebuilding messages relating to the data slices.

14. The computing device of claim 13 , wherein a favorable data slice storage status indicates that a number of the rebuilding messages is less than a rebuilding message threshold level.

15. The computing device of claim 12 , wherein obtaining the data slice storage status of the storage units of the set of storage units includes initiating a query and receiving a query response.

16. The computing device of claim 12 , wherein determining whether to perform a software update to software of the storage units of the set of storage units further includes determining the availability of new software.

17. The computing device of claim 12 , wherein determining whether to perform a software update to software of the storage units of the set of storage units further includes:

detecting a software error; and

indicating to perform the software update in response to detecting the software error.

18. The computing device of claim 12 , wherein determining whether to perform a software update to software of the storage units of the set of storage units further includes detecting the availability of new hardware in the set of storage units.

19. A computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of a computing device of a storage network, causes the computing device to:

obtain a data slice storage status for data slices stored in each storage unit of a set of storage units of the storage network; and

determine whether to perform a software update to software of the storage units of the set of storage units, including:

determine, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status;

in response to determining that a threshold number of storage units are associated with a favorable data slice storage status, indicate to perform the software update; and

in response to determining that a threshold number of storage units are not associated with a favorable data slice storage status, indicate not to perform the software update.

20. The computer readable storage medium of claim 19 , wherein a favorable data slice storage status indicates that a number of rebuilding messages associated with data slices of a storage unit is less than a rebuilding message threshold level.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: STORM, MICHAEL C.
To: CLEVERSAFE, INC.
Reel/Frame 057795/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: MOTWANI, MANISH; KACZMAREK, JOSEPH M.; VOLVOVSKI, ILYA; DHUSE, GREG R.; BALDOCCHI, ANTHONY J.; RESCH, JASON K.; COCAGNE, THOMAS D.
To: PURE STORAGE, INC.
Reel/Frame 057796/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057813/0149 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 057813/0255 →
Continuity (5)
Continuation 16592268 · Oct 3, 2019
Continuation In Part 16036999 · Jul 17, 2018
Continuation In Part 14707999 · May 8, 2015
Provisional Application 62019126 · Jun 30, 2014
Related Publication 20210357143A1 · Nov 18, 2021