US 11,836,369 B1
Storing data in an expanded storage pool of a vast storage network
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, Chicago, IL (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., Mountain View, CA (US)
Filed on Dec. 29, 2020, as Appl. No. 17/136,128.
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.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0644 (2013.01) [G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 3/0631 (2013.01); G06F 3/0659 (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 exactly 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 different locations across a set of storage units of a storage pool via storage in a plurality of different physical devices of the set of storage units;
detecting activation of an additional subset of storage units added to the storage pool, wherein an expanded set of storage units of the storage pool includes the set of storage units and the additional subset of storage units;
maintaining storage of the first set of data slices in the set of storage units of the storage pool after addition of the additional subset of storage units added to the storage pool;
increasing the value of the width parameter to an increased value based on the expanded set of storage units of the storage pool to produce an updated width parameter;
based on the value of the width parameter being increased to the increased value of the updated width parameter, re-encoding the data in accordance with the updated width parameter to produce a second set of data slices that includes exactly 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 different locations across the expanded set of storage units of the storage pool via storage in an expanded plurality of different physical devices of the expanded set of storage units, wherein the second plurality of different locations includes a greater number of locations than the first plurality of different locations based on the second number of data slices being strictly greater than the first number of data slices.