IP Library Granted Patent US 10,409,679
Granted Patent B2
US 10,409,679 · App. 15/824,291 · Granted Sep 10, 2019

Migrating data slices in a dispersed storage network

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 10,409,679
App. No.
15/824,291
Granted
Sep 10, 2019
Kind
B2
Abstract

A method for execution by a computing device includes obtaining utilization information of a pair of adjacent dispersed storage and task (DST) execution units of a common pillar. The utilization information of the pair of adjacent DST execution units is verified based on companion utilization information. Slices to migrate are selected in response to verifying the utilization information, and migration of the slices to migrate is facilitated. An updated storage map is generated based on the slices to migrate. A storage map modification package that includes a previous storage map and the updated storage map is generated. Attaching a signature from each DST execution unit of the pair of adjacent DST execution units to the storage map modification package is facilitated to produce a fully signed storage map modification package. The fully signed storage map modification package is published.

Claims (69)

1. A method for execution by a computing device that includes a processor, the method comprises:

obtaining utilization information of a pair of adjacent dispersed storage and task (DST) execution units of a common pillar;

verifying the utilization information of the pair of adjacent DST execution units based on companion utilization information;

selecting slices to migrate in response to verifying the utilization information;

facilitating migration of the slices to migrate;

generating an updated storage map based on the slices to migrate;

generating a storage map modification package that includes a previous storage map and the updated storage map;

facilitating attaching a signature from each DST execution unit of the pair of adjacent DST execution units to the storage map modification package to produce a fully signed storage map modification package; and

publishing the fully signed storage map modification package.

2. The method of claim 1 , wherein the slices to migrate are encoded data slices associated with at least one data segment, and wherein the at least one data segment was dispersed storage error encoded to produce the encoded data slices for storage in a set of DST execution units that includes the pair of adjacent DST execution units.

3. The method of claim 1 , wherein the pair of adjacent DST execution units include a pair of DST execution units assigned to adjacent address ranges.

4. The method of claim 1 , wherein the utilization information includes a storage capacity level and an assigned address range.

5. The method of claim 1 , wherein verifying the utilization information includes:

identifying a set of DST execution units that includes the pair of adjacent DST execution units;

identifying companion DST execution units associated with the companion utilization information as remaining DST execution units of the set of DST execution units;

comparing storage utilization levels of each DST execution unit of the companion DST execution units to each other DST execution unit of the set of DST execution units; and

indicating verified utilization information when a calculated difference between the storage utilization levels compares favorably to a difference threshold.

6. The method of claim 1 , wherein selecting the slices to migrate includes:

selecting a destination DST execution unit based on an available storage level of the destination DST execution unit; and

determining a number of slices to migrate to the destination DST execution unit based on the available storage level.

7. The method of claim 6 , wherein selecting the slices to migrate includes:

selecting the slices to migrate from a high-end of a slice range when the destination DST execution unit is assigned higher addresses; and

selecting the slices to migrate from a low-end of the slice range when the destination DST execution unit is assigned lower addresses.

8. The method of claim 6 , wherein the number of slices to migrate is determined to provide an updated level of storage of the destination DST execution unit that is less than a high storage level threshold.

9. The method of claim 1 , wherein generating the storage map modification package includes appending the previous storage map to the updated storage map to produce the storage map modification package.

10. The method of claim 1 , further comprising:

receiving an access request that indicates at least one slice of the slices to migrate;

identifying storage location information corresponding to the at least one slice based on the fully signed storage map modification package; and

facilitating access of the slice from a DST execution unit corresponding to the storage location information.

11. A processing system of a computing device 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:

obtain utilization information of a pair of adjacent dispersed storage and task (DST) execution units of a common pillar;

verify the utilization information of the pair of adjacent DST execution units based on companion utilization information;

select slices to migrate in response to verifying the utilization information;

facilitate migration of the slices to migrate;

generate an updated storage map based on the slices to migrate;

generate a storage map modification package that includes a previous storage map and the updated storage map;

facilitate attaching a signature from each DST execution unit of the pair of adjacent DST execution units to the storage map modification package to produce a fully signed storage map modification package; and

publish the fully signed storage map modification package.

12. The processing system of claim 11 , wherein the slices to migrate are encoded data slices associated with at least one data segment, and wherein the at least one data segment was dispersed storage error encoded to produce the encoded data slices for storage in a set of DST execution units that includes the pair of adjacent DST execution units.

13. The processing system of claim 11 , wherein the pair of adjacent DST execution units include a pair of DST execution units assigned to adjacent address ranges.

14. The processing system of claim 11 , wherein the utilization information includes a storage capacity level and an assigned address range.

15. The processing system of claim 11 , wherein verifying the utilization information includes:

identifying a set of DST execution units that includes the pair of adjacent DST execution units;

identifying companion DST execution units associated with the companion utilization information as remaining DST execution units of the set of DST execution units;

comparing storage utilization levels of each DST execution unit of the companion DST execution units to each other DST execution unit of the set of DST execution units; and

indicating verified utilization information when a calculated difference between the storage utilization levels compares favorably to a difference threshold.

16. The processing system of claim 11 , wherein selecting the slices to migrate includes:

selecting a destination DST execution unit based on an available storage level of the destination DST execution unit; and

determining a number of slices to migrate to the destination DST execution unit based on the available storage level.

17. The processing system of claim 16 , wherein selecting the slices to migrate includes:

selecting the slices to migrate from a high-end of a slice range when the destination DST execution unit is assigned higher addresses; and

selecting the slices to migrate from a low-end of the slice range when the destination DST execution unit is assigned lower addresses.

18. The processing system of claim 16 , wherein the number of slices to migrate is determined to provide an updated level of storage of the destination DST execution unit that is less than a high storage level threshold.

19. The processing system of claim 11 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

receiving an access request that indicates at least one slice of the slices to migrate;

identifying storage location information corresponding to the at least one slice based on the fully signed storage map modification package; and

facilitating access of the slice from a DST execution unit corresponding to the storage location information.

20. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:

obtain utilization information of a pair of adjacent dispersed storage and task (DST) execution units of a common pillar;

verify the utilization information of the pair of adjacent DST execution units based on companion utilization information;

select slices to migrate in response to verifying the utilization information;

facilitate migration of the slices to migrate;

generate an updated storage map based on the slices to migrate;

generate a storage map modification package that includes a previous storage map and the updated storage map;

facilitate attaching a signature from each DST execution unit of the pair of adjacent DST execution units to the storage map modification package to produce a fully signed storage map modification package; and

publish the fully signed storage map modification package.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2017
From: MOTWANI, MANISH; DHUSE, GREG R.; LEGGETTE, WESLEY B.; BAPTIST, ANDREW D.; VOLVOVSKI, ILYA; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044298/0143 →