IP Library Granted Patent US 11,956,312
Granted Patent B2
US 11,956,312 · App. 18/172,228 · Granted Apr 9, 2024

Testing a storage unit in a storage network

Inventors: Thomas D. Cocagne (Elk Grove Village, IL); Jason K. Resch (Warwick, RI)
Assignee: Pure Storage, Inc.
H04L67/1097G06F16/182H04L67/5682H04L67/60H04L67/62
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,956,312
App. No.
18/172,228
Granted
Apr 9, 2024
Kind
B2
Abstract

A method for execution by one or more computing devices of a storage network includes identifying a storage unit of a set of storage units for testing, where a data segment of data is error encoded into a set of encoded data slices that is stored in the set of storage units. The method further includes determining whether a threshold number of favorably performing other storage units of the set of storage units will be available during the testing. When the threshold number of favorably performing other storage units will be available, the method further includes initiating the testing of the storage unit and setting a status of the storage unit to unavailable. When the testing has been completed, the method further includes updating the status of the storage unit to available. The method further includes generating a testing report regarding the testing of the storage unit.

Claims (41)

1. A method for execution by one or more computing devices of a storage network, the method comprising:

identifying a storage unit of a set of storage units for testing, wherein a data segment of data is error encoded into a set of encoded data slices that is stored in the set of storage units;

determining whether a threshold number of favorably performing other storage units of the set of storage units will be available during the testing;

when the threshold number of favorably performing other storage units will be available, initiating the testing of the storage unit and setting a status of the storage unit to unavailable;

when the testing has been completed, updating the status of the storage unit to available; and

generating a testing report regarding the testing of the storage unit.

2. The method of claim 1 , wherein the identifying comprises interpreting an error message.

3. The method of claim 1 , wherein the identifying comprises interpreting a previous test response.

4. The method of claim 1 , wherein the identifying comprises interpreting a performance monitor.

5. The method of claim 1 , wherein the determining whether the threshold number of favorably performing other storage units of the set of storage units will be available during the testing comprises:

determining a threshold number;

determining a number of the favorably performing other storage units;

comparing the threshold number with the number; and

when the number is equal to or greater than the threshold number, determining the threshold number of favorably performing other storage units will be available.

6. The method of claim 5 , wherein the threshold number corresponds with a decode threshold number of encoded data slices needed to reconstruct the data segment.

7. The method of claim 1 , wherein the initiating the testing comprises:

issuing test tasks to the storage unit; and

receiving test results from the storage unit.

8. The method of claim 7 further comprises:

generating the testing report based on the received test results.

9. The method of claim 1 , wherein the initiating the testing comprises:

inhibiting access requests to the storage unit during the testing.

10. The method of claim 1 , wherein the testing report comprises a memory utilization level of the storage unit.

11. The method of claim 1 , wherein the testing report comprises a memory fragmentation level of the storage unit.

12. The method of claim 1 , wherein the testing report comprises a number of vaults associated with the storage unit.

13. The method of claim 1 , wherein the testing report comprises a number of namespace ranges supported by the storage unit.

14. The method of claim 1 , wherein the testing report comprises a number of encoded data slices stored by the storage unit.

15. The method of claim 1 , wherein the testing report comprises data storage statistics.

16. The method of claim 1 , wherein the testing report comprises data retrieval statistics.

17. The method of claim 1 , wherein the testing report comprises test failure rates.

18. The method of claim 1 , wherein the identifying comprises receiving a request.

19. The method of claim 1 , wherein the identifying comprises interpreting a schedule.

20. A computing device comprising:

memory;

an interface; and

a processing module operably coupled to the memory and the interface, wherein the processing module is operable to:

identify a storage unit of a set of storage units for testing, wherein a data segment of data is error encoded into a set of encoded data slices that is stored in the set of storage units;

determine whether a threshold number of favorably performing other storage units of the set of storage units will be available during the testing;

when the threshold number of favorably performing other storage units will be available, initiate the testing of the storage unit and setting a status of the storage unit to unavailable;

when the testing has been completed, update the status to available; and

generate a testing report regarding the testing of the storage unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2023
From: COCAGNE, THOMAS D.; RESCH, JASON K.
To: PURE STORAGE, INC.
Reel/Frame 062927/0725 →
Continuity (9)
Continuation 17651614 · Feb 18, 2022
Continuation In Part 16862166 · Apr 29, 2020
Continuation 16256649 · Jan 24, 2019
Continuation In Part 15805085 · Nov 6, 2017
Continuation 14721723 · May 26, 2015
Continuation In Part 14707943 · May 8, 2015
Provisional Application 62031320 · Jul 31, 2014
Provisional Application 62019074 · Jun 30, 2014
Related Publication 20230208916A1 · Jun 29, 2023