IP Library Granted Patent US 10,860,424
Granted Patent B1
US 10,860,424 · App. 16/924,708 · Granted Dec 8, 2020

Background verification processing in a storage network

Inventors: Greg Dhuse (Chicago, IL); Andrew Baptist (Mt. Pleasant, WI); Zachary J. Mark (Chicago, IL); Jason K. Resch (Chicago, IL); Ilya Volvovski (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F11/1092G06F11/1076G06F11/2056H04L67/1097H04L69/40G06F2211/104G06F2211/1028
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 10,860,424
App. No.
16/924,708
Granted
Dec 8, 2020
Kind
B1
Abstract

A method for execution by one or more processing modules of a storage network (SN) begins with the one or more processing modules scanning a storage node of the SN at a predetermined interval to determine whether an erasure encoded data slice (EEDS) of a set of erasure encoded data slices (EEDSs) is corrupt, where the set of erasure encoded data slices (EEDSs) is generated from object data using an erasure error encoding dispersal function. The method continues with the one or more processing modules determining that an EEDS is corrupt and in response, rebuilding the EEDS in place in the storage node.

Claims (45)

1. A method for execution by one or more processing modules of a storage network (SN), the method comprises:

scanning a storage node of the SN at a predetermined interval to determine whether an erasure encoded data slice (EEDS) of a set of erasure encoded data slices (EEDSs) is corrupt, wherein the set of EEDS is generated from object data using an erasure error encoding dispersal function, wherein at least some EEDSs of the set of EEDSs are stored in the storage node; and

in response to a determination that the EEDS is corrupt, rebuilding the EEDS in place in the storage node.

2. The method of claim 1 , wherein the rebuilding the EEDS comprises:

retrieving a plurality of EEDSs of the set of EEDSs;

using the plurality of EEDSs to rebuild the EEDS.

3. The method of claim 1 , wherein the object data is a data segment of a set of data segments, wherein the set of data segments is produced from a data object.

4. The method of claim 3 , wherein the data segment is the set of EEDSs.

5. The method of claim 1 , wherein the object data is a data object.

6. The method of claim 1 , wherein the scanning a storage node of the SN further comprises:

scanning each EEDS of the set of EEDS stored in one or more storage units (SUs) of the SN.

7. The method of claim 1 , wherein the scanning a storage node of the SN further comprises:

using a plurality of scanning agents, wherein each scanning agent of the plurality of scanning agents is associated with at least a portion of a storage space of the storage node.

8. The method of claim 7 , wherein the storage space is associated with a storage address range.

9. The method of claim 1 , wherein the predetermined interval is a periodic interval.

10. The method of claim 9 , wherein the periodic interval is a previously determined period of time.

11. The method of claim 1 , wherein the rebuilding the EEDS comprises:

waiting a predetermined time period;

after the predetermined time period, determining whether the EEDS is still corrupt; and

when the EEDS is still corrupt after the predetermined time period, rebuilding the EEDS.

12. The method of claim 1 , wherein the rebuilding the EEDS comprises:

determining a number E EEDSs of the set of EEDSs with an associated error;

when the number E EEDSs of the set of EEDSs with an associated error compares unfavorably to a threshold, rebuilding the EEDS; and

when the number E EEDSs of the set of EEDSs with an associated error compares favorably to the threshold, waiting a predetermined time period before rebuilding the EEDS.

13. The method of claim 12 , wherein the threshold equals a number X EEDSs of the set of EEDSs less a number T of the set of EEDSs needed to reconstruct the object data based on the erasure error encoding dispersal function.

14. The method of claim 1 , wherein the rebuilding the corrupt EEDS comprises:

retrieving at least a number T EEDSs of the set of EEDSs, wherein the number T corresponds to a number of the set of EEDSs needed to reconstruct the object data based on the erasure error encoding dispersal function;

reconstructing the object data from at least the number T of the set of EEDSs to produce reconstructed object data; and

generating a second set of EEDSs from the reconstructed object data based on the erasure error encoding dispersal function, wherein the second set of EEDSs includes a rebuilt EEDS corresponding to the EEDS.

15. The method of claim 1 , wherein the scanning a storage node of the SN includes:

scanning an address range of EEDSs stored in one or more memory devices associated with the storage node, wherein each EEDS of the set of EEDSs is associated with an address within the address range; and

determining whether one or more of the EEDSs within the address range is corrupt.

16. The method of claim 1 , wherein the scanning a storage node of the SN includes scanning the set of EEDSs, wherein the set of EEDSs is stored in one or more storage units; and

determining whether an EEDS of the set of EEDSs is corrupt.

17. A verification system in a storage network (SN), comprising:

at least one network interface to the SN; and

at least one processing module that is operable to:

scan a storage node of the SN to determine whether an erasure encoded data slice (EEDS) of a set of erasure encoded data slices (EEDSs) is corrupt, wherein the set of EEDS is generated from object data using an erasure error encoding dispersal function;

identify an EEDS that is corrupt; and

rebuild the EEDS based on other EEDSs of the set of EEDSs stored on the storage node.

18. The system of claim 17 , wherein the at least one processing module is further operable to:

scan the storage node in response to a scan request.

19. The system of claim 17 , wherein the at least one processing module is further operable to:

scan the storage node on a predetermined interval.

20. The system of claim 19 , wherein the at least one processing module is located in the storage node.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2020
From: DHUSE, GREG; BAPTIST, ANDREW; MARK, ZACHARY J.; RESCH, JASON K.; VOLVOVSKI, ILYA
To: CLEVERSAFE, INC.
Reel/Frame 053171/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 053181/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2020
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053951/0459 →
Cited By (7)
US 12,204,403 US 12,242,337 US 12,339,937 US 12,346,561 US 12,399,769 US 12,405,857 US 12,417,176