IP Library Granted Patent US 8,769,379
Granted Patent B2
US 8,769,379 · App. 13/887,560 · Granted Jul 1, 2014

Identifying a storage error of a data slice

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,769,379
App. No.
13/887,560
Granted
Jul 1, 2014
Kind
B2
Abstract

A method begins by a processing module obtaining common storage name information regarding data that is stored in storage units of a distributed storage network (DSN) as a set of data slices. Each data slice of the set of data slices has a unique storage name, where each of the unique storage names for the set of data slices has common naming information regarding the data. The method continues where the processing module interprets the common storage name information to determine whether a difference exists between the common naming information of a data slice of the set of data slices and the common naming information of other data slices of the set of data slices. When the difference exists, the method continues where the processing module indicates a potential storage error of the data slice and implements a storage error process regarding the potential storage error of the data slice.

Claims (60)

1. A method for detecting a storage error that is executed by one or more processing modules of one or more computing devices, the method comprises:

obtaining common storage name information regarding data that is stored in storage units of a distributed storage network (DSN) as a set of data slices, wherein each data slice of the set of data slices has a unique storage name, wherein each of the unique storage names for the set of data slices has common naming information regarding the data and individual naming information regarding a respective data slice of the set of data slices, and wherein the common storage name information is based on the common naming information for the set of data slices;

interpreting the common storage name information to determine whether a difference exists between the common naming information of a data slice of the set of data slices and the common naming information of other data slices of the set of data slices; and

when the difference exists between the common naming information of the data slice and the common naming information of the other data slices:

indicating a potential storage error of the data slice; and

implementing a storage error process regarding the potential storage error of the data slice.

2. The method of claim 1 , wherein the common naming information comprises one or more of:

a data name;

a vault identifier;

a source name;

a vault generation number; and

a data revision number.

3. The method of claim 1 , wherein the individual naming information comprises one or more of:

a data slice index;

a storage unit identifier; and

a pillar identifier.

4. The method of claim 1 , wherein the implementing the storage error process comprises:

rebuilding the data slice having the potential storage error.

5. The method of claim 1 further comprises:

obtaining tables from the storage nodes, wherein a table from one of the storage nodes includes the common naming information for a plurality of data slices stored in the storage node;

comparing the tables to determine whether one of the tables includes an anomaly with respect to other tables; and

when the one of the tables has the anomaly, indicating that the plurality of data slices associated with the one of the tables has potential storage errors.

6. The method of claim 5 further comprises:

requesting first specific portions of the common storage name information from one of the storage units that provided the one of the tables with the anomaly;

requesting second specific portions of the common storage name information from another one of the storage units; and

interpreting the first and second specific portions of the common storage name information to identify the data slice of the plurality of data slices having the potential storage error.

7. The method of claim 5 , further comprises:

obtaining a table of the tables as a hash of a plurality of common storage name information for the corresponding plurality of data slices.

8. A computing device comprises:

an interface; and

a processing module, when operable within the computing device, causes the computing device to:

obtain, via the interface, common storage name information regarding data that is stored in storage units of a distributed storage network (DSN) as a set of data slices, wherein each data slice of the set of data slices has a unique storage name, wherein each of the unique storage names for the set of data slices has common naming information regarding the data and individual naming information regarding a respective data slice of the set of data slices, and wherein the common storage name information is based on the common naming information for the set of data slices;

interpret the common storage name information to determine whether a difference exists between the common naming information of a data slice of the set of data slices and the common naming information of other data slices of the set of data slices; and

when the difference exists between the common naming information of the data slice and the common naming information of the other data slices:

indicate a potential storage error of the data slice; and

implement a storage error process regarding the potential storage error of the data slice.

9. The computing device of claim 8 , wherein the common naming information comprises one or more of:

a data name;

a vault identifier;

a source name;

a vault generation number; and

a data revision number.

10. The computing device of claim 8 , wherein the individual naming information comprises one or more of:

a data slice index;

a storage unit identifier; and

a pillar identifier.

11. The computing device of claim 8 , wherein the processing module functions to implement the storage error process by:

rebuilding the data slice having the potential storage error.

12. The computing device of claim 8 further comprises:

the processing module further functions to:

obtain, via the interface, tables from the storage nodes, wherein a table from one of the storage nodes includes the common naming information for a plurality of data slices stored in the storage node;

compare the tables to determine whether one of the tables includes an anomaly with respect to other tables; and

when the one of the tables has the anomaly, indicate that the plurality of data slices associated with the one of the tables has potential storage errors.

13. The computing device of claim 12 , further comprises:

the processing module further functions to:

request, via the interface, first specific portions of the common storage name information from one of the storage units that provided the one of the tables with the anomaly;

request, via the interface, second specific portions of the common storage name information from another one of the storage units; and

interpret the first and second specific portions of the common storage name information to identify the data slice of the plurality of data slices having the potential storage error.

14. The computing device of claim 12 , further comprises:

the processing module further functions to obtain, via the interface, a table of the tables as a hash of a plurality of common storage name information for the corresponding plurality of data slices.

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 May 19, 2014
From: RESCH, JASON K.; QUIGLEY, JOHN; LEGGETTE, WESLEY; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 032921/0001 →