US 12,468,683 B2
Verifying slice migration 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., Santa Clara, CA (US)
Filed on Mar. 6, 2024, as Appl. No. 18/596,914.
Application 18/596,914 is a continuation of application No. 17/644,277, filed on Dec. 14, 2021, granted, now 11,934,380.
Application 17/644,277 is a continuation of application No. 16/411,424, filed on May 14, 2019, granted, now 11,232,093, issued on Jan. 25, 2022.
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 2024/0211465 A1, Jun. 27, 2024
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 a storage network that includes a processor, the method comprises:
facilitating migration of a slice from a source storage unit of the storage network located in a first location to a destination storage unit of the storage network located in a second location;
storing, via the destination storage unit, the slice in memory of the destination storage unit based on migration of the slice from the source storage unit to the destination storage unit;
sending, via the source storage unit, a slice verification request to the destination storage unit, wherein the slice verification request corresponds to a migration of the slice from the source storage unit to the destination storage unit, wherein the slice verification request includes a nonce and one or more of: a slice identifier, the slice, a revision indicator, or a verification method indicator;
sending, via the destination storage unit, an integrity value to the source storage unit based on the slice verification request;
receiving, via the source storage unit, the integrity value from the destination storage unit;
determining, via the source storage unit, when the integrity value is verified by determining one of:
when a hash of the slice and the nonce matches the integrity value;
when a decrypted signature of the integrity value matches a hash of the slice and the nonce; or
when the decrypted signature of the integrity value matches the slice and the nonce; and
when the integrity value is verified, updating, via the source storage unit, a slice assignment corresponding to the slice, wherein updating the slice assignment associates the destination storage unit with the slice and disassociates the source storage unit from the slice.