US 12,443,483 B2
Dispersed rebuilding of encoded data slices in a storage network
Andrew D. Baptist, Mt. Pleasant, WI (US); Ravi V. Khadiwala, Bartlett, IL (US); Anthony J. Baldocchi, Glen Ellyn, IL (US); and Jason K. Resch, Warwick, RI (US)
Assigned to Pure Storage, Inc., Santa Clara, CA (US)
Filed by Pure Storage, Inc., Santa Clara, CA (US)
Filed on Apr. 18, 2024, as Appl. No. 18/638,996.
Application 18/638,996 is a continuation of application No. 16/974,367, filed on Oct. 19, 2021, granted, now 11,966,285.
Application 16/974,367 is a continuation of application No. 16/517,747, filed on Jul. 22, 2019, granted, now 11,226,860, issued on Jan. 18, 2022.
Application 16/517,747 is a continuation in part of application No. 15/249,905, filed on Aug. 29, 2016, granted, now 10,360,097, issued on Jul. 23, 2019.
Application 15/249,905 is a continuation of application No. 14/256,472, filed on Apr. 18, 2014, granted, now 9,432,341, issued on Aug. 30, 2016.
Claims priority of provisional application 61/828,905, filed on May 30, 2013.
Prior Publication US 2024/0264901 A1, Aug. 8, 2024
Int. Cl. G06F 11/10 (2006.01); G06F 21/60 (2013.01); G06F 21/80 (2013.01); H04L 9/40 (2022.01); H04L 67/1097 (2022.01); H04L 69/14 (2022.01); G06F 11/20 (2006.01); H04L 1/00 (2006.01)
CPC G06F 11/1004 (2013.01) [G06F 11/1076 (2013.01); G06F 11/1092 (2013.01); G06F 11/1096 (2013.01); G06F 21/602 (2013.01); G06F 21/80 (2013.01); H04L 63/0457 (2013.01); H04L 63/061 (2013.01); H04L 63/062 (2013.01); H04L 67/1097 (2013.01); H04L 69/14 (2013.01); G06F 11/2094 (2013.01); G06F 2211/1028 (2013.01); G06F 2221/2107 (2013.01); H04L 1/0042 (2013.01); H04L 1/0047 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for execution by one or more processing modules, the method comprising:
determining rebuilding performance parameter values for a storage unit of a set of storage units of a storage network, wherein data is dispersed storage error encoded into a plurality of sets of encoded data slices in accordance with error encoding parameters, and wherein a set of encoded data slices of the plurality of sets of encoded data slice are stored or are to be stored in the set of storage units;
updating a rate of internal rebuilding of encoded data slices by the storage unit based on the rebuilding performance parameter values;
during internally rebuilding the encoded data slices in accordance with the rate of internal rebuilding, correcting detected storage errors for one or more first encoded data slices within the storage unit;
receiving a rebuilt encoded data slice from another computing device of the storage network; and
when the received rebuilt encoded data slice is not included in the one or more first encoded data slices, storing the received rebuilt encoded data slice.