IP Library Granted Patent US 11,934,380
Granted Patent B2
US 11,934,380 · App. 17/644,277 · Granted Mar 19, 2024

Migrating slices in a storage network

Inventors: Greg R. Dhuse (Chicago, IL); Jason K. Resch (Warwick, RI)
Assignee: Pure Storage, Inc.
G06F16/2365G06F3/06G06F3/0619G06F3/0647G06F3/0679G06F11/1076G06F11/1084G06F16/119G06F16/137G06F16/1844G06F16/214G06F16/2255G06F16/235G06F16/9027H04L9/0643H04L9/3236
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,934,380
App. No.
17/644,277
Granted
Mar 19, 2024
Kind
B2
Abstract

A source storage unit of a storage network operates by: 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.

Claims (34)

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.

2. The method of claim 1 wherein the slice identifier corresponding to the slice to migrate is identified based on receiving a request.

3. The method of claim 1 wherein the slice identifier corresponding to the slice to migrate is identified based on receiving an error message.

4. The method of claim 1 wherein the slice identifier corresponding to the slice to migrate is identified based on detecting an unfavorable memory condition.

5. The method of claim 1 wherein the slice identifier corresponding to the slice to migrate is identified based on performing a lookup.

6. The method of claim 1 wherein the slice identifier corresponding to the slice to migrate is identified based on receiving a memory test result.

7. The method of claim 1 wherein sending the slice to migrate includes sending the slice identifier to the destination storage unit.

8. The method of claim 1 wherein the integrity value includes at least one of: a hashing function hash result, or a signed package, wherein the package includes the slice and the nonce.

9. The method of claim 1 further comprising:

deleting the slice from the source storage unit.

10. The method of claim 9 wherein deleting the slice from the source storage unit is based on the slice identifier.

11. A processing system of a source storage unit of a storage network comprises:

at least one processor;

at least one memory section that stores operational instructions that, when executed by the at least one processor, causes the processing system to:

send a slice to migrate from the source storage unit to a destination storage unit;

send 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;

receive an integrity value from the destination storage unit;

determine 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, update a slice identifier assignment associated with a slice identifier corresponding to the slice, wherein the update of the slice identifier assignment associates the destination storage unit with the slice identifier and disassociates the source storage unit from the slice identifier.

12. The processing system of claim 11 , wherein the slice identifier corresponding to the slice to migrate is identified based on receiving a request.

13. The processing system of claim 11 , wherein the slice identifier corresponding to the slice to migrate is identified based on receiving an error message.

14. The processing system of claim 11 , wherein the slice identifier corresponding to the slice to migrate is identified based on detecting an unfavorable memory condition.

15. The processing system of claim 11 , wherein the slice identifier corresponding to the slice to migrate is identified based on performing a lookup.

16. The processing system of claim 11 , wherein the slice identifier corresponding to the slice to migrate is identified based on receiving a memory test result.

17. The processing system of claim 11 , wherein sending the slice to migrate includes sending the slice identifier to the destination storage unit.

18. The processing system of claim 11 , wherein the integrity value includes at least one of: a hashing function hash result, or a signed package, wherein the package includes the slice and the nonce.

19. The processing system of claim 11 , further comprising:

deleting the slice from the source storage unit.

20. The processing system of claim 19 , wherein deleting the slice from the source storage unit is based on the slice identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: DHUSE, GREG R.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058392/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 058517/0578 →
Continuity (5)
Continuation 16411424 · May 14, 2019
Continuation 15225476 · Aug 1, 2016
Continuation In Part 13775491 · Feb 25, 2013
Provisional Application 61605856 · Mar 2, 2012
Related Publication 20220107936A1 · Apr 7, 2022