US 12,223,194 B2
Re-encoding data in a storage network based on addition of additional storage units
Ethan S. Wozniak, Park Ridge, IL (US); Andrew D. Baptist, Mt. Pleasant, WI (US); Greg R. Dhuse, Chicago, IL (US); Ilya Volvovski, Chicago, IL (US); Jason K. Resch, Warwick, RI (US); Ravi V. Khadiwala, Bartlett, 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 Nov. 27, 2023, as Appl. No. 18/519,681.
Application 18/519,681 is a continuation of application No. 17/136,128, filed on Dec. 29, 2020, granted, now 11,836,369.
Application 17/136,128 is a continuation in part of application No. 15/838,983, filed on Dec. 12, 2017, abandoned.
Application 15/838,983 is a continuation in part of application No. 15/818,633, filed on Nov. 20, 2017, granted, now 10,530,861, issued on Jan. 7, 2020.
Application 15/818,633 is a continuation in part of application No. 14/984,024, filed on Dec. 30, 2015, granted, now 10,078,472, issued on Sep. 18, 2018.
Claims priority of provisional application 62/121,736, filed on Feb. 27, 2015.
Prior Publication US 2024/0094934 A1, Mar. 21, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0644 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0631 (2013.01); G06F 3/0659 (2013.01); G06F 3/067 (2013.01); G06F 3/0688 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprises:
encoding data in accordance with a width parameter to produce a first set of data slices that includes a first number of data slices based on a value of the width parameter;
storing the data based on maintaining storage of the first set of data slices in a first plurality of selected locations across a set of storage units of a storage pool;
maintaining storage of the first set of data slices in the set of storage units of the storage pool after addition of an additional set of storage units added to the storage pool;
increasing the value of the width parameter to an increased value, based on an expanded set of storage units of the storage pool that includes the additional set of storage units added to the storage pool, to produce an updated width parameter;
re-encoding the data in accordance with the updated width parameter to produce a second set of data slices that includes a second number of data slices based on the increased value of the updated width parameter, wherein the second number of data slices is strictly greater than the first number of data slices based on the increased value of the updated width parameter being strictly greater than the value of the width parameter; and
re-storing the data based on maintaining storage of the second set of data slices in a second plurality of selected locations across the expanded set of storage units of the storage pool, wherein the second plurality of selected locations includes a greater number of locations than the first plurality of selected locations based on the second number of data slices being strictly greater than the first number of data slices.