IP Library Granted Patent US 10,789,128
Granted Patent B2
US 10,789,128 · App. 15/445,404 · Granted Sep 29, 2020

External healing mode for a dispersed storage network memory

Inventors: Greg R. Dhuse (Chicago, IL); Ilir Iljazi (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F11/1092G06F3/064G06F3/067G06F3/0619G06F3/0644G06F11/1076G06F11/1088G06F11/1612H03M13/1515H04L67/1097G06F11/008G06F2201/81
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,789,128
App. No.
15/445,404
Granted
Sep 29, 2020
Kind
B2
Abstract

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. Based on a detected storage error, the computing device is configured to determine availability status of encoded data slices (EDSs) within a set of EDSs. When at least a threshold number of EDSs are available, the computing device is configured to initiate a rebuilding function to abate the detected storage error. When less than the threshold number of EDSs are available, the computing device is configured to initiate a slice repair function to at least one storage unit (SU) to abate the detected storage error.

Claims (73)

1. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

based on a detected storage error, determine availability status of encoded data slices (EDSs) within a set of EDSs stored within one or more storage units (SUs) within the DSN, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs;

when at least a threshold number of EDSs of the set of EDSs are available based on the availability status that is determined, initiate a rebuilding function to abate the detected storage error; and

when less than the threshold number of EDSs of the set of EDSs are available based on the availability status that is determined, initiate a slice repair function to at least one SU of the one or more SUs to abate the detected storage error, wherein the at least one SU of the one or more SUs performs the slice repair function based on a slice repair request.

2. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to initiate the rebuilding function to abate the detected storage error including to:

facilitate the rebuilding function using the at least a threshold number of EDSs of the set of EDSs to produce a recovered data segment;

dispersed error encode the recovered data segment to produce one or more rebuilt EDSs; and

facilitate replacement of one or more missing EDSs within the set of EDS with the one or more rebuilt EDSs within the one or more SUs within the DSN.

3. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to initiate the slice repair function to the at least one SU of the one or more SUs to abate the detected storage error including to:

issue a slice repair request to at least one SU of the one or more SUs to direct the at least one SU of the one or more SUs to produce at least one repaired EDS; and

for the at least one repaired EDS that is successfully generated by the at least one SU of the one or more SUs, facilitate replacement of an unavailable EDSs with the repaired EDS that is produced by the at least one SU of the one or more SUs.

4. The computing device of claim 3 further comprising:

the at least one SU of the one or more SUs configured to perform at least one of a filesystem repair operation, a memory recovery technique, or an individual data block rebuilding of an EDS to produce the repaired EDS based on the slice repair request received by the SU of the one or more SUs that directs the SU of the one or more SUs to produce the repaired EDS.

5. The computing device of claim 1 , wherein:

the set of EDSs is of pillar width;

the set of EDSs are distributedly stored among a plurality of SUs within the DSN;

the threshold number of EDSs includes at least one of a decode threshold number of EDSs, a read threshold number of EDSs, or a write threshold number of EDSs;

the decode threshold number of EDSs are needed to recover the data segment;

the read threshold number of EDSs provides for reconstruction of the data segment; and

the write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

6. The computing device of claim 1 , wherein the computing device is located at a first premises that is remotely located from at least one SU of the one or more SUs within the DSN.

7. The computing device of claim 1 further comprising:

an integrity processing unit, a SU of the one or more SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

8. The computing device of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

9. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

based on a detected storage error, determine availability status of encoded data slices (EDSs) within a set of EDSs stored within one or more storage units (SUs) within the DSN, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs;

when at least a threshold number of EDSs of the set of EDSs are available based on the availability status that is determined, initiate a rebuilding function to abate the detected storage error including to:

facilitate the rebuilding function using the at least a threshold number of EDSs of the set of EDSs to produce a recovered data segment;

dispersed error encode the recovered data segment to produce one or more rebuilt EDSs; and

facilitate replacement of one or more missing EDSs within the set of EDS with the one or more rebuilt EDSs within the one or more SUs within the DSN; and

when less than the threshold number of EDSs of the set of EDSs are available based on the availability status that is determined, initiate a slice repair function to at least one SU of the one or more SUs to abate the detected storage error including to:

issue a slice repair request to at least one SU of the one or more SUs to direct the at least one SU of the one or more SUs to produce at least one repaired EDS, wherein the at least one SU of the one or more SUs performs the slice repair function based on the slice repair request; and

for the at least one repaired EDS that is successfully generated by the at least one SU of the one or more SUs, facilitate replacement of an unavailable EDSs with the repaired EDS that is produced by the at least one SU of the one or more SUs.

10. The computing device of claim 9 further comprising:

the at least one SU of the one or more SUs configured to perform at least one of a filesystem repair operation, a memory recovery technique, or an individual data block rebuilding of an EDS to produce the repaired EDS based on the slice repair request received by the SU of the one or more SUs that directs the SU of the one or more SUs to produce the repaired EDS.

11. The computing device of claim 9 , wherein:

the set of EDSs is of pillar width;

the set of EDSs are distributedly stored among a plurality of SUs within the DSN;

the threshold number of EDSs includes at least one of a decode threshold number of EDSs, a read threshold number of EDSs, or a write threshold number of EDSs;

the decode threshold number of EDSs are needed to recover the data segment;

the read threshold number of EDSs provides for reconstruction of the data segment; and

the write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

12. The computing device of claim 9 further comprising:

an integrity processing unit, a SU of the one or more SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

13. The computing device of claim 9 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

14. A method for execution by a computing device, the method comprising:

based on a detected storage error, determining availability status of encoded data slices (EDSs) within a set of EDSs stored within one or more storage units (SUs) within a dispersed or distributed storage network (DSN), wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs;

when at least a threshold number of EDSs of the set of EDSs are available based on the availability status that is determined, initiating, via an interface configured to interface and communicate with the DSN, a rebuilding function to abate the detected storage error; and

when less than the threshold number of EDSs of the set of EDSs are available based on the availability status that is determined, initiating, via the interface configured to interface and communicate with the DSN, a slice repair function to at least one SU of the one or more SUs to abate the detected storage error, wherein the at least one SU of the one or more SUs performs the slice repair function based on a slice repair request.

15. The method of claim 14 further comprising initiating the rebuilding function to abate the detected storage error including:

facilitating the rebuilding function using the at least a threshold number of EDSs of the set of EDSs to produce a recovered data segment;

dispersed error encoding the recovered data segment to produce one or more rebuilt EDSs; and

facilitating replacement of one or more missing EDSs within the set of EDS with the one or more rebuilt EDSs within the one or more SUs within the DSN.

16. The method of claim 14 further comprising initiating the slice repair function to the at least one SU of the one or more SUs to abate the detected storage error including:

issuing a slice repair request to at least one SU of the one or more SUs to direct the at least one SU of the one or more SUs to produce at least one repaired EDS; and

for the at least one repaired EDS that is successfully generated by the at least one SU of the one or more SUs, facilitating replacement of an unavailable EDSs with the repaired EDS that is produced by the at least one SU of the one or more SUs.

17. The method of claim 16 further comprising:

the at least one SU of the one or more SUs configured to perform at least one of a filesystem repair operation, a memory recovery technique, or an individual data block rebuilding of an EDS to produce the repaired EDS based on the slice repair request received by the SU of the one or more SUs that directs the SU of the one or more SUs to produce the repaired EDS.

18. The method of claim 14 , wherein:

the set of EDSs is of pillar width;

the set of EDSs are distributedly stored among a plurality of SUs within the DSN;

the threshold number of EDSs includes at least one of a decode threshold number of EDSs, a read threshold number of EDSs, or a write threshold number of EDSs;

the decode threshold number of EDSs are needed to recover the data segment;

the read threshold number of EDSs provides for reconstruction of the data segment; and

the write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

19. The method of claim 14 , wherein the computing device includes an integrity processing unit, a SU of the one or more SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

20. The method of claim 14 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

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 →
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 Feb 28, 2017
From: DHUSE, GREG R.; ILJAZI, ILIR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041402/0876 →
Cited By (1)
US 12,481,559