US 12,379,840 B2
Producing recovered data in a storage network
Bruno H. Cabral, Chicago, IL (US); and Wesley B. Leggette, Chicago, IL (US)
Assigned to Pure Storage, Inc., Santa Clara, CA (US)
Filed by Pure Storage, Inc., Santa Clara, CA (US)
Filed on Mar. 1, 2024, as Appl. No. 18/592,710.
Application 18/592,710 is a continuation of application No. 18/045,694, filed on Oct. 11, 2022, granted, now 11,922,015.
Application 18/045,694 is a continuation of application No. 17/446,841, filed on Sep. 3, 2021, granted, now 11,513,685, issued on Nov. 29, 2022.
Application 17/446,841 is a continuation of application No. 16/850,193, filed on Apr. 16, 2020, granted, now 11,144,204, issued on Oct. 12, 2021.
Application 16/850,193 is a continuation of application No. 16/165,608, filed on Oct. 19, 2018, granted, now 10,635,312, issued on Apr. 28, 2020.
Application 16/165,608 is a continuation in part of application No. 15/841,759, filed on Dec. 14, 2017, granted, now 10,140,182, issued on Nov. 27, 2018.
Application 15/841,759 is a continuation in part of application No. 15/450,470, filed on Mar. 6, 2017, granted, now 9,891,829, issued on Feb. 13, 2018.
Application 15/450,470 is a continuation of application No. 14/589,639, filed on Jan. 5, 2015, granted, now 9,665,429, issued on May 30, 2017.
Claims priority of provisional application 61/944,722, filed on Feb. 26, 2014.
Prior Publication US 2024/0201849 A1, Jun. 20, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/06 (2006.01); G06F 11/10 (2006.01); G06F 21/62 (2013.01); G06F 21/64 (2013.01); H03M 7/30 (2006.01); H04L 1/00 (2006.01); H04L 9/08 (2006.01); H04L 9/40 (2022.01); H04L 67/06 (2022.01); H04L 67/10 (2022.01); H04L 67/1097 (2022.01); H04L 67/565 (2022.01); H03M 13/00 (2006.01); H03M 13/15 (2006.01)
CPC G06F 3/0604 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0644 (2013.01); G06F 3/0659 (2013.01); G06F 3/0661 (2013.01); G06F 3/067 (2013.01); G06F 11/1076 (2013.01); G06F 11/1092 (2013.01); G06F 21/62 (2013.01); G06F 21/64 (2013.01); H03M 7/6011 (2013.01); H04L 1/00 (2013.01); H04L 1/0045 (2013.01); H04L 1/0057 (2013.01); H04L 1/0076 (2013.01); H04L 9/085 (2013.01); H04L 9/0894 (2013.01); H04L 63/10 (2013.01); H04L 63/101 (2013.01); H04L 63/102 (2013.01); H04L 67/06 (2013.01); H04L 67/10 (2013.01); H04L 67/1097 (2013.01); H04L 67/565 (2022.05); G06F 2211/1028 (2013.01); G06F 2212/254 (2013.01); H03M 13/1515 (2013.01); H03M 13/616 (2013.01); H04L 63/12 (2013.01); H04L 2209/30 (2013.01); H04L 2209/34 (2013.01); H04L 2209/608 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprises:
issuing read slice requests to storage units of a set of storage units, where the read slice requests identify at least a read threshold number of encoded slices of a set of encoded slices corresponding to a data segment;
when less than the read threshold number of encoded slices are received within a time threshold, facilitating receiving a decode threshold number of encoded slices of the set of encoded slices;
decoding the decode threshold number of encoded slices to produce recovered encoded data slices, wherein a number of the recovered encoded data slices corresponds to the read threshold number minus a number of the encoded slices received within the time threshold; and
outputting the recovered encoded data slices and the encoded slices of the read threshold number of encoded slices received within the time threshold.