IP Library Granted Patent US 10,997,136
Granted Patent B2
US 10,997,136 · App. 16/359,318 · Granted May 4, 2021

Method and apparatus for identifying data inconsistency in a dispersed storage network

Inventor: Zachary J. Mark (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F16/215G06F16/10G06F16/2365
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,997,136
App. No.
16/359,318
Granted
May 4, 2021
Kind
B2
Abstract

A method includes generating integrity data of one or more slice names of one or more error encoded data slices and evaluating the integrity data, without using any of the error encoded data slices, for an inconsistency between the plurality of received integrity data. The method further includes indicating an error based on the evaluating the integrity data indicating an inconsistency, retrieving one or more slice names for the one or more error encoded data slices, and when detecting that at least one data error has occurred at a plurality of storage units at a DSN site/pillar, determine that a DSN site/pillar failure has occurred and after a predetermined time period, if the DSN site/pillar failure has not been resolved, rebuild the error encoded data slices of the DSN site/pillar and store them at another DSN site/storage unit.

Claims (45)

1. A distributed storage network (DSN) system comprises:

a network interface;

at least one processing module operable to:

detect a data error at a DSN pillar by:

generating integrity data of one or more slice names of one or more error encoded data slices of one or more pluralities of the error encoded data slices without retrieving the one or more pluralities of the error encoded data slices and without retrieving the one or more slice names, wherein a plurality of the error encoded data slices of the one or more pluralities of the error encoded data slices corresponds to a dispersed storage error encoded data segment;

evaluating the integrity data without using any of the one or more error encoded data slices for an inconsistency between the plurality of received integrity data;

indicating an error based on the evaluating the integrity data indicating an inconsistency; and

retrieving one or more slice names for the one or more error encoded data slices; and

when detecting that a plurality of the data errors have occurred at one pillar, determining that a distributed storage (DS) unit failure has occurred; and

after a predetermined time period, if the DS unit failure has not been resolved, rebuilding the error encoded data slices of the DS unit and storing them at another DS unit.

2. The distributed storage network (DSN) system of claim 1 , wherein the least one processing module is further operable, when a DS unit failure is detected, to determine whether the DS unit failure is due to a temporary condition, and when the DS unit failure is due to a temporary condition, wait for the predetermined time period for the temporary condition to be resolved.

3. The distributed storage network (DSN) system of claim 2 , wherein the processing module receives a maintenance indicator or a network connectivity indicator to indicate the temporary condition.

4. The distributed storage network (DSN) system of claim 1 , wherein the predetermined time period is based on an estimate for bringing the failed DS unit back on line.

5. The distributed storage network (DSN) system of claim 1 , wherein the determining that the DS unit failure has occurred is performed periodically.

6. The distributed storage network (DSN) system of claim 1 , wherein the determining that the DS unit failure has occurred is based on one or more of: a plurality of error encoded data slice errors, no response, a scheduled DS unit outage, or numerous missing error encoded data slices.

7. The distributed storage network (DSN) system of claim 6 , wherein the distributed storage network (DSN) system of claim 1 , wherein the no response indicates one or more of: powered off storage units, network down, or equipment failure.

8. The distributed storage network (DSN) system of claim 6 , wherein the distributed storage network (DSN) system of claim 1 , wherein the scheduled DS unit outage includes testing a rebuild function.

9. The distributed storage network (DSN) system of claim 6 , wherein the distributed storage network (DSN) system of claim 1 , wherein the scheduled DS unit outage includes maintenance on the DS unit.

10. The distributed storage network (DSN) system of claim 1 , wherein the another DS unit includes a DS unit located at a same DSN site or at a DSN site different from the failed DS unit.

11. A distributed storage network (DSN) system comprises:

a network interface;

at least one processing module operable to:

detect a data error at a DSN storage unit by:

generating integrity data of one or more slice names of one or more error encoded data slices of one or more pluralities of the error encoded data slices without retrieving the one or more pluralities of the error encoded data slices and without retrieving the one or more slice names, wherein a plurality of the error encoded data slices of the one or more pluralities of the error encoded data slices corresponds to a dispersed storage error encoded data segment;

evaluating the integrity data without using any of the one or more error encoded data slices for an inconsistency between the plurality of received integrity data;

indicating an error based on the evaluating the integrity data indicating an inconsistency; and

retrieving one or more slice names for the one or more error encoded data slices; and

when detecting that at least one data error has occurred at a plurality of storage units at a DSN site, determine that a DSN site failure has occurred; and

after a predetermined time period, if the DSN site failure has not been resolved, rebuild the error encoded data slices of the DSN site and store them at another DSN site.

12. The distributed storage network (DSN) system of claim 11 , wherein the least one processing module is further operable, when the DSN site failure is detected, to determine whether the DSN site failure is due to a temporary condition, and when the DSN site failure is due to a temporary condition, wait for the predetermined time period for the temporary condition to be resolved.

13. The distributed storage network (DSN) system of claim 12 , wherein the processing module receives a maintenance indicator or a network connectivity indicator indicating the temporary condition.

14. The distributed storage network (DSN) system of claim 11 , wherein the predetermined time period is based on an estimate for bringing the failed DSN site back on line.

15. The distributed storage network (DSN) system of claim 11 , wherein the determine that a DSN site failure has occurred is performed periodically.

16. The distributed storage network (DSN) system of claim 11 further comprises determining whether a distributed storage (DS) unit failure has occurred based on one or more of: a plurality of error encoded data slice errors, no response, a scheduled DS unit outage, and/or numerous missing error encoded data slices.

17. The distributed storage network (DSN) system of claim 16 , wherein the no response indicates one or more of: powered off storage units, network down, or equipment failure.

18. The distributed storage network (DSN) system of claim 16 , wherein the scheduled DS unit outage includes maintenance on the DSN site.

19. The distributed storage network (DSN) system of claim 11 , wherein the DSN site failure includes one or more of: the DSN site is down for maintenance, the DSN site is down for updates, network is temporarily down, or a scheduled DSN site outage.

20. A method in distributed storage network (DSN) system comprises:

detecting a data error at one or more DSN pillars including:

generating integrity data of one or more slice names of one or more error encoded data slices of one or more pluralities of the error encoded data slices without retrieving the one or more pluralities of the error encoded data slices and without retrieving the one or more slice names, wherein a plurality of the error encoded data slices of the one or more pluralities of the error encoded data slices corresponds to a dispersed storage error encoded data segment;

evaluating the integrity data without using any of the one or more error encoded data slices for an inconsistency between the plurality of received integrity data;

indicating an error based on the evaluating the integrity data indicating an inconsistency; and

retrieving one or more slice names for the one or more error encoded data slices; and

when detecting that a plurality of the data errors have occurred at one DSN pillar, determining that a distributed storage (DS) unit failure has occurred; and

after a predetermined time period, rebuilding the error encoded data slices of the DS unit and storing them at another DS unit.

Assignments (6)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2019
From: MARK, ZACHARY J.
To: CLEVERSAFE, INC.
Reel/Frame 048654/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2019
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048655/0704 →