IP Library Granted Patent US 8,782,491
Granted Patent B2
US 8,782,491 · App. 13/587,802 · Granted Jul 15, 2014

Detecting intentional corruption of data in a dispersed storage network

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 8,782,491
App. No.
13/587,802
Granted
Jul 15, 2014
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module of a DS unit selecting a data slice for corruption analysis and requesting integrity information for the data slice from one or more other DS units of a dispersed storage network. When the one or more requested integrity information is received, the method continues with the DS processing module analyzing the one or more received integrity information and local integrity information of the data slice stored in the DS unit. When the analysis of the one or more received integrity information and the local integrity information of the data slice is unfavorable, the method continues with the DS processing module identifying the data slice as being corrupted.

Claims (54)

1. A method for detecting intentional corruption of data in a dispersed storage network (DSN), the method comprises:

selecting, by a dispersed storage (DS) unit of the DSN, a data slice for corruption analysis;

requesting, by the DS unit, integrity information for the data slice from one or more other DS units of the DSN;

when the one or more requested integrity information is received, analyzing, by the DS unit, the one or more received integrity information and local integrity information of the data slice stored in the DS unit; and

when the analysis of the one or more received integrity information and the local integrity information of the data slice is unfavorable, identifying, by the DS unit, the data slice as being corrupted.

2. The method of claim 1 , wherein the local integrity information comprises at least one of:

integrity information of the data slice that is stored in the DS unit; and

integrity information of the data slice that is calculated by the DS unit.

3. The method of claim 1 , wherein the selecting the data slice comprises one of:

executing a random selection process;

receiving a read request for the data slice;

determining that calculated integrity information does not match the local integrity information stored in the DS unit;

receiving a rebuild request for the data slice; and

receiving an error message regarding the data slice.

4. The method of claim 1 , wherein the analyzing comprises one of:

verifying concurrency of the one or more received integrity information and the local integrity information; and

verifying that the local integrity information substantially matches a threshold number of the one or more received integrity information.

5. The method of claim 1 further comprises:

selecting the one or more DS units based at least one of:

an arbitrary selection process from a set of DS units, wherein the set of DS units and the DS unit store a set of data slices that includes the data slice;

a security based selection process from the set of DS units; and

a decode threshold number based selection process from the set of DS units.

6. The method of claim 1 , wherein the identifying the data slice as being corrupted further comprises:

initiating a rebuilding process to rebuild the identified data slice.

7. The method of claim 6 , wherein the rebuilding process comprises one of:

a partial rebuilding process in which the identified data slice is rebuilt; and

a rebuilding process in which a data segment is rebuilt from a set of data slices and the data segment is re-encoded to produce a rebuilt data slice.

8. A dispersed storage (DS) module of a DS unit of a dispersed storage network (DSN) comprises:

a first module, when operable within a computing device, causes the computing device to select a data slice for corruption analysis;

a second module, when operable within the computing device, causes the computing device to request integrity information for the data slice from one or more other DS units of the DSN

a third module, when operable within the computing device, causes the computing device to, when the one or more requested integrity information is received, analyze the one or more received integrity information and local integrity information of the data slice stored in the DS unit; and

a fourth module, when operable within the computing device, causes the computing device to, when the analysis of the one or more received integrity information and the local integrity information of the data slice is unfavorable, identify the data slice as being corrupted.

9. The DS module of claim 8 , wherein the local integrity information comprises at least one of:

integrity information of the data slice that is stored in the DS unit; and

integrity information of the data slice that is calculated by the DS unit.

10. The DS module of claim 8 , wherein the first module, when operable, selects the data slice by one of:

executing a random selection process;

receiving a read request for the data slice;

determining that calculated integrity information does not match the local integrity information stored in the DS unit;

receiving a rebuild request for the data slice; and

receiving an error message regarding the data slice.

11. The DS module of claim 8 , wherein the third module, when operable, analyzes by one of:

verifying concurrency of the one or more received integrity information and the local integrity information; and

verifying that the local integrity information substantially matches a threshold number of the one or more received integrity information.

12. The DS module of claim 8 further comprises:

the second module is further operable to select the one or more DS units based at least one of:

an arbitrary selection process from a set of DS units, wherein the set of DS units and the DS unit store a set of data slices that includes the data slice;

a security based selection process from the set of DS units; and

a decode threshold number based selection process from the set of DS units.

13. The DS module of claim 8 , wherein the fourth module, when operable, further identifies the data slice as being corrupted by:

initiating a rebuilding process to rebuild the identified data slice.

14. The DS module of claim 13 , wherein the rebuilding process comprises one of:

a partial rebuilding process in which the identified data slice is rebuilt; and

a rebuilding process in which a data segment is rebuilt from a set of data slices and the data segment is re-encoded to produce a rebuilt data slice.

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 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2012
From: RESCH, JASON K.; DHUSE, GREG; LEGGETTE, WESLEY; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 029413/0380 →