×

Apportioning namespace ranges in accordance with dispersed storage unit capacity

  • US 10,365,968 B2
  • Filed: 10/21/2016
  • Issued: 07/30/2019
  • Est. Priority Date: 10/30/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method for execution by a computing device of a dispersed storage network (DSN) to generate a memory mapping of logical DSN addresses to storage units of the DSN, the method comprises:

  • identifying, by the computing device, a total number of names in a DSN namespace of a plurality of DSN namespaces of the DSN;

    equally dividing, by the computing device, the DSN namespace among groups of storage units of the DSN to produce a set of namespace sections, wherein the DSN namespace represents a range of the logical DSN addresses, wherein a first group of storage units of the groups of storage units is allocated a first namespace section of the set of namespace sections and a second group of storage units of the groups of storage units is allocated a second namespace section of the set of namespace sections, wherein data is dispersed storage error encoded into pluralities of sets of encoded data slices in accordance with dispersed data storage parameters that include a pillar width number and a decode threshold number, wherein a number of the groups of storage units is equal to or greater than the decode threshold number, and wherein the first namespace section is responsible for storing encoded data slices of the pluralities of sets of encoded data slices having a first pillar number and the second namespace section is responsible for storing encoded data slices of the pluralities of sets of encoded data slices having a second pillar number;

    for the first group of storage units;

    determining, by the computing device, storage capacity for each storage unit of the first group of storage units;

    determining, by the computing device, a total storage capacity for the first group of storage units based on the storage capacity for each storage unit;

    individually dividing, by the computing device, the first namespace section into a first set of namespace fractions based on the storage capacity for each storage unit and the total storage capacity;

    allocating, by the computing device, a namespace fraction of the first set of namespace fractions to each storage unit of the first group of storage units, wherein the first group of storage units process access requests regarding the encoded data slices having the first pillar number; and

    for the second group of storage units;

    determining, by the computing device, a second storage capacity for each storage unit of the second group of storage units;

    determining, by the computing device, a second total storage capacity for the second group of storage units based on the second storage capacity for each storage unit;

    individually dividing, by the computing device, the second namespace section into a second set of namespace fractions based on the second storage capacity for each storage unit and the second total storage capacity;

    allocating, by the computing device, a namespace fraction of the second set of namespace fractions to each storage unit of the second group of storage units, wherein the second group of storage units process access requests regarding the encoded data slices having the second pillar number.

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