US 11,741,125 B2
Storage network for rebuilding failed slices
Asimuddin Kazi, Naperville, IL (US); and Jason K. Resch, Warwick, RI (US)
Assigned to Pure Storage, Inc., Santa Clara, CA (US)
Filed by Pure Storage, Inc., Mountain View, CA (US)
Filed on Jul. 6, 2022, as Appl. No. 17/810,928.
Application 17/810,928 is a continuation of application No. 17/097,140, filed on Nov. 13, 2020, granted, now 11,409,767.
Application 17/097,140 is a continuation of application No. 16/297,978, filed on Mar. 11, 2019, granted, now 10,853,388, issued on Dec. 1, 2020.
Application 16/297,978 is a continuation of application No. 15/822,873, filed on Nov. 27, 2017, granted, now 10,331,698, issued on Jun. 25, 2019.
Application 15/822,873 is a continuation in part of application No. 15/400,092, filed on Jan. 6, 2017, granted, now 10,057,351, issued on Aug. 21, 2018.
Application 15/400,092 is a continuation in part of application No. 15/223,707, filed on Jul. 29, 2016, granted, now 10,013,471, issued on Jul. 3, 2018.
Application 15/223,707 is a continuation of application No. 13/959,702, filed on Aug. 5, 2013, granted, now 9,424,326, issued on Aug. 23, 2016.
Claims priority of provisional application 61/700,691, filed on Sep. 13, 2012.
Prior Publication US 2022/0335060 A1, Oct. 20, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/27 (2019.01); G06F 3/06 (2006.01); H04L 67/1097 (2022.01); G06F 16/178 (2019.01); H04L 67/00 (2022.01); G06F 11/10 (2006.01)
CPC G06F 16/27 (2019.01) [G06F 3/064 (2013.01); G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 3/0659 (2013.01); G06F 3/0689 (2013.01); G06F 11/1076 (2013.01); G06F 16/178 (2019.01); H04L 67/1097 (2013.01); H04L 67/34 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for execution by a processor of a storage network, the method comprises:
encoding, via a dispersed error encoding, at least one data object as a write threshold number of encoded data slices;
storing the write threshold number of the encoded data slices in a set of storage units of the storage network;
determining when, due to a failure of at least one of the set of storage units, less than a pillar width number of the encoded data slices of a common revision are retrievable from the set of storage units:
retrieving a decode threshold number of the encoded data slices from others of the set of storage units;
decoding the decode threshold number of the encoded data slices to reproduce the at least one data object;
restoring availability of the pillar width number of the encoded data slices of the common revision by:
rebuilding at least a subset of encoded data slices of the set of encoded data slices, based on an encoding of the at least one data object; and
storing the at least a subset of encoded data slices in the storage network.