US 11,934,380 B2
Migrating slices in a storage network
Greg R. Dhuse, Chicago, 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 Dec. 14, 2021, as Appl. No. 17/644,277.
Application 17/644,277 is a continuation of application No. 16/411,424, filed on May 14, 2019, granted, now 11,232,093.
Application 16/411,424 is a continuation of application No. 15/225,476, filed on Aug. 1, 2016, granted, now 10,402,393, issued on Sep. 3, 2019.
Application 15/225,476 is a continuation in part of application No. 13/775,491, filed on Feb. 25, 2013, granted, now 10,089,344, issued on Oct. 2, 2018.
Claims priority of provisional application 61/605,856, filed on Mar. 2, 2012.
Prior Publication US 2022/0107936 A1, Apr. 7, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/00 (2019.01); G06F 3/06 (2006.01); G06F 11/10 (2006.01); G06F 16/11 (2019.01); G06F 16/13 (2019.01); G06F 16/182 (2019.01); G06F 16/21 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/901 (2019.01); H04L 9/06 (2006.01); H04L 9/32 (2006.01)
CPC G06F 16/2365 (2019.01) [G06F 3/06 (2013.01); G06F 3/0619 (2013.01); G06F 3/0647 (2013.01); G06F 3/0679 (2013.01); G06F 11/1076 (2013.01); G06F 11/1084 (2013.01); G06F 16/119 (2019.01); G06F 16/137 (2019.01); G06F 16/1844 (2019.01); G06F 16/214 (2019.01); G06F 16/2255 (2019.01); G06F 16/235 (2019.01); G06F 16/9027 (2019.01); H04L 9/0643 (2013.01); H04L 9/3236 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for execution by a source storage unit of a storage network that includes a processor, the method comprises:
sending a slice to migrate from the source storage unit to a destination storage unit;
sending a slice verification request to the destination storage unit, wherein the slice verification request includes one or more of: a slice identifier, the slice, a revision indicator, a verification method indicator, or a nonce;
receiving an integrity value from the destination storage unit;
determining when the integrity value compares favorably to the slice verification request by determining when a hash of the slice and a nonce matches the integrity value or determining when a decrypted signature of the integrity value matches a hash of the slice and the nonce or the slice and the nonce;
when the integrity value compares favorably to the slice verification request, updating a slice identifier assignment associated with a slice identifier corresponding to the slice, wherein updating the slice identifier assignment associates the destination storage unit with the slice identifier and disassociates the source storage unit from the slice identifier.