US 11,960,361 B2
Verifying and migrating data slices in a storage network
Ahmad Alnafoosi, Streamwood, IL (US); Andrew D. Baptist, Mt. Pleasant, WI (US); Greg R. Dhuse, Chicago, IL (US); Jason K. Resch, Warwick, RI (US); and Ilya Volvovski, Chicago, IL (US)
Assigned to Pure Storage, Inc., Santa Clara, CA (US)
Filed by Pure Storage, Inc., Mountain View, CA (US)
Filed on Oct. 21, 2022, as Appl. No. 18/048,604.
Application 18/048,604 is a continuation of application No. 17/408,872, filed on Aug. 23, 2021, granted, now 11,507,459.
Application 17/408,872 is a continuation of application No. 17/078,345, filed on Oct. 23, 2020, granted, now 11,113,009, issued on Sep. 7, 2021.
Application 17/078,345 is a continuation of application No. 16/693,742, filed on Nov. 25, 2019, granted, now 10,831,544, issued on Nov. 10, 2020.
Application 16/693,742 is a continuation of application No. 16/143,854, filed on Sep. 27, 2018, granted, now 10,521,300, issued on Dec. 31, 2019.
Application 16/143,854 is a continuation of application No. 15/719,259, filed on Sep. 28, 2017, granted, now 10,127,111, issued on Nov. 13, 2018.
Application 15/719,259 is a continuation in part of application No. 15/427,934, filed on Feb. 8, 2017, granted, now 9,813,501, issued on Nov. 7, 2017.
Application 15/427,934 is a continuation of application No. 13/959,006, filed on Aug. 5, 2013, granted, now 9,648,087, issued on May 9, 2017.
Claims priority of provisional application 61/711,106, filed on Oct. 8, 2012.
Prior Publication US 2023/0054773 A1, Feb. 23, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 11/10 (2006.01); G06F 3/06 (2006.01); G06F 9/50 (2006.01); G06F 16/215 (2019.01); G06F 21/64 (2013.01); H04L 43/0852 (2022.01); H04L 47/70 (2022.01); H04L 67/10 (2022.01); H04L 67/1097 (2022.01); H04L 67/61 (2022.01); H04L 9/40 (2022.01)
CPC G06F 11/1092 (2013.01) [G06F 3/0619 (2013.01); G06F 3/064 (2013.01); G06F 3/0659 (2013.01); G06F 3/067 (2013.01); G06F 9/5027 (2013.01); G06F 11/1076 (2013.01); G06F 11/108 (2013.01); G06F 16/215 (2019.01); G06F 21/64 (2013.01); H04L 43/0852 (2013.01); H04L 47/70 (2013.01); H04L 67/10 (2013.01); H04L 67/1097 (2013.01); H04L 67/61 (2022.05); H04L 63/08 (2013.01); H04L 63/101 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for execution in a storage network, the method comprising:
receiving a request pertaining to a data object, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices;
determining metadata associated with the data object;
based on the metadata, identifying one or more data segments associated with the data object;
determining a set of storage units associated with each of the one or more data segments;
sending a set of query requests to the set of units;
receiving, based on the set of query requests, a response from a storage unit of the set of storage units;
generating, based on the response, a storage record, wherein the storage record includes a data identifier associated with the data object and an identity of the set of storage units;
determining whether the response indicates an unfavorable storage environment,
wherein an unfavorable storage environment is a storage environment comprising a storage record that compares unfavorably to a desired storage record; and
when the storage record compares unfavorably to a desired storage record, facilitating migration of one or more encoded data slices associated with the storage unit to another storage unit.