×

Balancing memory utilization in a dispersed storage network

  • US 10,084,770 B2
  • Filed: 11/04/2011
  • Issued: 09/25/2018
  • Est. Priority Date: 11/09/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for execution by a set of storage units of a dispersed storage network (DSN), the method comprises:

  • receiving, by the set of storage units of the DSN, sets of encoded data slices for storage;

    storing, by each storage unit of the set of storage units, respective groups of encoded data slices of the sets of encoded data slices, wherein a first storage unit of the set of storage units stores a first group of encoded data slices that includes a first encoded data slice from each of the sets of encoded data slices and a second storage unit of the set of storage units stores a second group of encoded data slices that includes a second encoded data slice from each of the sets of encoded data slices;

    utilizing, by the first storage unit, a first load balancing scheme to distributedly store the first group of encoded data slices among a first plurality of memory devices of the first storage unit, wherein the first load balancing scheme functions to distribute the first group of encoded data slices substantially equally among the first plurality of memory devices, and further wherein the data size of one or more encoded data slices of the first of group encoded data slices is substantially larger than at least one other encoded data slice of the first of group encoded data slices;

    utilizing, by the second storage unit, the first load balancing scheme to distributedly store the second group of encoded data slices among a second plurality of memory devices of the second storage unit, wherein the data size of one or more encoded data slices of the second of group encoded data slices is substantially larger than at least one other encoded data slice of the second of group encoded data slices;

    utilizing, by the first storage unit, a second load balancing scheme to redistribute at least one encoded data slice of the first group of encoded data slices between a pair of memory devices within the first plurality of memory devices when a first available memory imbalance exists, wherein said imbalance comprises a difference of at least a threshold amount of available memory between the pair of memory devices, wherein the second load balancing scheme functions to provide approximately equal available memory capacity between the pair of memory devices;

    modifying a DSN memory address for the redistributed at least one encoded data slice of the first group of encoded data slices to produce a modified DSN memory address for the redistributed at least one encoded data slice of the first group of encoded data slices;

    translating, by the first storage unit, the modified DSN memory address for the redistributed at least one encoded data slice of the first group of encoded data slices to a first physical address,wherein the first physical address is associated with a memory device from the first plurality of memory devices;

    utilizing, by the second storage unit, the second load balancing scheme to redistribute at least one encoded data slice of the second group of encoded data slices between a pair of memory devices within the second plurality of memory devices when a second available memory imbalance exists, wherein said imbalance comprises a difference of at least a threshold amount of available memory between the pair of memory devices within the second plurality of memory devices, wherein the second load balancing scheme functions to provide approximately equal available memory capacity between the pair of memory devices within the second plurality of memory devices;

    modifying a DSN memory address for the redistributed at least one encoded data slice of the second group of encoded data slices to produce a modified DSN memory address for the redistributed at least one encoded data slice of the second group of encoded data slices; and

    translating, by the second storage unit, the modified DSN memory address for the redistributed at least one encoded data slice of the first group of encoded data slices to a second physical address, wherein the second physical address is associated with a memory device from the second plurality of memory devices.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×