IP Library Granted Patent US 11,232,093
Granted Patent B2
US 11,232,093 · App. 16/411,424 · Granted Jan 25, 2022

Slice migration in a dispersed storage network

Inventors: Greg R. Dhuse (Chicago, IL); Jason K. Resch (Chicago, IL)
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,232,093
App. No.
16/411,424
Granted
Jan 25, 2022
Kind
B2
Abstract

A method for use by a source storage unit of a dispersed storage network includes identifying a slice name corresponding to a slice to migrate from a source storage unit to a destination storage unit; sending the slice to migrate to the destination storage unit; generating a slice verification request and sending the slice verification request to the destination storage unit; receiving an integrity value from the destination storage unit; and determining when the integrity value compares favorably to the slice verification request. When the source storage unit determines that the integrity value compares favorably to the slice verification request, a slice name assignment associated with the slice name is updated and the slice is deleted from the source storage unit.

Claims (32)

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;

generating a slice verification request and sending the 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 the 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 source storage unit determines that the integrity value compares favorably to the slice verification request, updating a slice identifier assignment associated with the 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 with the slice identifier in a storage network address table; and

deleting the slice from the source storage unit.

2. The method of claim 1 wherein the slice identifier corresponding to the slice to migrate is identified based on at least one of: receiving a request, receiving the slice identifier, receiving an error message, detecting an unfavorable memory condition, performing a lookup or receiving a memory test result.

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

4. 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.

5. The method of claim 1 wherein deleting the slice from the source storage unit includes sending a write slice request to the source storage unit.

6. The method of claim 5 wherein the write slice request includes the slice identifier and an indication to delete the slice.

7. A method for execution by a destination storage unit of a storage network that includes a processor, the method comprises:

storing a slice to migrate in a memory device associated with the destination storage unit;

receiving a slice verification request from a source 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 of the slice verification request;

generating an integrity value based on the slice to migrate and the nonce of the slice verification request based on a verification method indicator of the request, wherein generating the integrity value includes performing a hashing function on the slice and the nonce to produce a hash result as the integrity value when the verification method indicator indicates to produce a hash result and wherein generating the integrity value includes generating a signature utilizing a private key associated with the destination storage unit over the slice and the nonce to produce a signed package as the integrity value when the verification method indicator indicates to produce a signature;

sending the integrity value to the source storage unit; and

updating a slice identifier assignment, wherein updating the slice identifier assignment associates the destination storage unit with the slice identifier and disassociates the source storage unit with the slice identifier in a storage network address table.

8. The method of claim 7 wherein storing the slice includes storing the slice identifier associated with the slice in the memory device.

9. The method of claim 8 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.

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

at least one processor;

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

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

generate a slice verification request and send the 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 of the slice verification request;

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 the nonce of the slice verification request 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 processing system determines that the integrity value compares favorably to the slice verification request, update a slice identifier assignment associated with the 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 with the slice identifier in a storage network address table; and

delete the slice from the source storage unit.

11. The processing system of claim 10 wherein the slice identifier corresponding to the slice to migrate is identified based on at least one of: receiving a request, receiving the slice identifier, receiving an error message, detecting an unfavorable memory condition, performing a lookup or receiving a memory test result.

12. The processing system of claim 10 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.

13. The processing system of claim 10 wherein deleting the slice from the source storage unit includes sending a write slice request to the source storage unit, where the slice write request includes the slice identifier and an indication to delete the slice.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2019
From: DHUSE, GREG R.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049171/0419 →
Continuity (4)
Continuation 15225476 · Aug 1, 2016
Continuation In Part 13775491 · Feb 25, 2013
Provisional Application 61605856 · Mar 2, 2012
Related Publication 20190266148A1 · Aug 29, 2019
Cited By (2)
US 12,531,843 US 12,572,301