IP Library Patent Application 15408035
Patent Application
App. No. 15/408,035

GROUPING DS UNITS IN AN AD-HOC AND HETEROGENEOUS NETWORK TO MAXIMIZE FAILURE INDEPENDENCE

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 None
App. No.
15/408,035
Abstract

A method for use in a distributed storage network (DSN) including a plurality of distributed storage (DS) units includes determining to create a new storage pool that includes a set of storage groups, which in turn include one or more memory sections. The memory sections include one or more DS units. Memory information is obtained for the DS units, and the DS units are stratified based on available memory capacity. A DSN address range of the new storage pool is mapped to one or more sub-DSN address ranges for the memory sections based on a level of available storage capacity of the new storage pool. For each of the memory sections, particular DS units are selected in accordance with a memory selection scheme using the memory information. Configuration information identifying the DS units selected for inclusion in particular memory sections is issued to the DS units.

Claims (89)

1 . A method for use in a distributed storage network (DSN) including a plurality of distributed storage (DS) units, the method comprising:

determining to create a new storage pool to include a set of storage groups, where storage groups included in the set of storage groups include one or more memory sections, and the one or more memory sections include one or more DS units of the plurality of DS units;

obtaining memory information associated with the plurality of DS units;

stratifying the plurality of DS units based on available memory capacity to produce a group of memory stratifications;

mapping a DSN address range of the new storage pool to one or more sub-DSN address ranges for the one or more memory sections based on a level of available storage capacity of the new storage pool;

for each of the one or more memory sections, selecting particular DS units of the plurality of DS units as selected DS units, the selecting performed in accordance with a memory selection scheme based on the memory information; and

issuing configuration information to the plurality of DS units, the configuration information identifying the selected DS units for inclusion in particular memory sections of particular storage groups.

2 . The method of claim 1 , wherein:

the memory information includes one or more items from the group consisting of: a maximum capacity availability level, a currently available capacity level, and a memory profile; and wherein

stratifying includes:

determining available capacity of each memory device based at least in part on the memory information; and.

grouping together similar memory capacity memory devices in a common memory stratification.

3 . The method of claim 2 , wherein:

the memory profile includes one or more items selected from the group consisting of: a memory type, a manufacturer, a software version, a physical location of the DS unit, and network connectivity configuration information; and wherein

the memory selection scheme is configured to choose DS units for inclusion based, at least in part, on the DS units having diverse characteristics according to memory profiles associated with particular DS units.

4 . The method of claim 1 , wherein mapping a DSN address range of the new storage pool further comprises:

identifying a largest-size memory stratification;

dividing an available capacity associated with each storage group by the largest-size memory stratification to produce a number of sub-DSN address ranges; and

dividing the DSN address range into the number of sub-DSN address ranges.

5 . The method of claim 4 , wherein selecting particular DS units includes:

choose DS units based so that available capacity of the selected DS units is substantially the same as the largest-size memory stratification.

6 . The method of claim 1 , further comprising:

establishing a number of memory sections corresponding to a dispersed encoding pillar width;

determining an approximate least-common-multiple (LCM) amount of storage capacity of the DS units based, at least in part on the memory information; and

placing a sufficient number of DS units into the number of memory sections to just exceed the LCM amount of storage capacity.

7 . The method of claim 6 , further comprising:

attempting to allocate storage associated with each of the number of memory sections to DS units having diverse device characteristics, physical locations, and networks;

using each memory section to service all access of slices of the same dispersed encoding pillar; and

apportioning namespace assignments to each of the DS units in proportion to a storage capacity of each DS unit.

8 . A managing unit for use in a distributed storage network (DSN) including a plurality of distributed storage (DS) units, the managing unit comprising:

at least one computing core including a processing module and a memory;

a program of instructions configured to be stored in the memory and executed by the processing module, the program of instructions including:

at least one instruction to determine to create a new storage pool to include a set of storage groups, where storage groups included in the set of storage groups include one or more memory sections, and the one or more memory sections include one or more DS units of the plurality of DS units;

at least one instruction to obtain memory information associated with the plurality of DS units;

at least one instruction to stratify the plurality of DS units based on available memory capacity to produce a group of memory stratifications;

at least one instruction to map a DSN address range of the new storage pool to one or more sub-DSN address ranges for the one or more memory sections based on a level of available storage capacity of the new storage pool;

at least one instruction to select, for each of the one or more memory sections, particular DS units of the plurality of DS units as selected DS units, wherein the at least one instruction to select is configured to be identify the selected DS units in accordance with a memory selection scheme based on the memory information; and

at least one instruction to issue configuration information to the plurality of DS units, the configuration information identifying the selected DS units for inclusion in particular memory sections of particular storage groups.

9 . The managing unit of claim 8 , wherein:

the memory information includes one or more items from the group consisting of: a maximum capacity availability level, a currently available capacity level, and a memory profile; and wherein

the at least one instruction to stratify includes:

at least one instruction to determine available capacity of each memory device based at least in part on the memory information; and

at least one instruction to group together similar memory capacity memory devices in a common memory stratification.

10 . The managing unit of claim 9 , wherein:

the memory profile includes one or more items selected from the group consisting of: a memory type, a manufacturer, a software version, a physical location of the DS unit, and network connectivity configuration information; and wherein

the memory selection scheme is configured to choose DS units for inclusion based, at least in part, on the DS units having diverse characteristics according to memory profiles associated with particular DS units.

11 . The managing unit of claim 8 , wherein the at least one instruction to map a DSN address range of the new storage pool further comprises:

at least one instruction to identify a largest-size memory stratification;

at least one instruction to divide an available capacity associated with each storage group by the largest-size memory stratification to produce a number of sub-DSN address ranges; and

at least one instruction to divide the DSN address range into the number of sub-DSN address ranges.

12 . The managing unit of claim 11 , wherein the at least one instruction to select particular DS units includes:

at least one instruction to choose DS units based so that available capacity of the selected DS units is substantially the same as the largest-size memory stratification.

13 . The managing unit of claim 8 , wherein the program of instructions further comprises:

at least one instruction to establish a number of memory sections corresponding to a dispersed encoding pillar width;

at least one instruction to determine an approximate least-common-multiple (LCM) amount of storage capacity of the DS units based, at least in part on the memory information; and

at least one instruction to placing a sufficient number of DS units into the number of memory sections to just exceed the LCM amount of storage capacity.

14 . The managing unit of claim 13 , wherein the program of instructions further comprises:

at least one instruction to attempt to allocate storage associated with each of the number of memory sections to DS units having diverse device characteristics, physical locations, and networks;

at least one instruction to use each memory section to service access to slices of the same dispersed encoding pillar; and

at least one instruction to apportion namespace assignments to each of the plurality of DS units in proportion to a storage capacity of each DS Unit.

15 . A distributed storage network (DSN) comprising:

one or more DSN memories including a plurality of distributed storage (DS) units, the one or more DSN memories configured to store data slices generated in accordance with an information dispersal algorithm;

a managing unit including:

at least one computing core including a processing module and a memory;

a program of instructions configured to be stored in the memory and executed by the processing module, the program of instructions including:

at least one instruction to determine to create a new storage pool to include a set of storage groups, where storage groups included in the set of storage groups include one or more memory sections, and the one or more memory sections include one or more DS units of the plurality of DS units;

at least one instruction to obtain memory information associated with the plurality of DS units;

at least one instruction to stratify the plurality of DS units based on available memory capacity to produce a group of memory stratifications;

at least one instruction to map a DSN address range of the new storage pool to one or more sub-DSN address ranges for the one or more memory sections based on a level of available storage capacity of the new storage pool;

at least one instruction to select, for each of the one or more memory sections, particular DS units of the plurality of DS units as selected DS units, wherein the at least one instruction to select is configured to be identify the selected DS units in accordance with a memory selection scheme based on the memory information; and

at least one instruction to issue configuration information to the plurality of DS units, the configuration information identifying the selected DS units for inclusion in particular memory sections of particular storage groups.

16 . The distributed storage network (DSN) of claim 15 , wherein:

the memory information includes one or more items from the group consisting of: a maximum capacity availability level, a currently available capacity level, and a memory profile; and wherein

the at least one instruction to stratify includes:

at least one instruction to determine available capacity of each memory device based at least in part on the memory information; and

at least one instruction to group together similar memory capacity memory devices in a common memory stratification.

17 . The distributed storage network (DSN) of claim 16 , wherein:

the memory profile includes one or more items selected from the group consisting of: a memory type, a manufacturer, a software version, a physical location of the DS unit, and network connectivity configuration information; and wherein

the memory selection scheme is configured to choose DS units for inclusion based, at least in part, on the DS units having diverse characteristics according to memory profiles associated with particular DS units.

18 . The distributed storage network (DSN) of claim 15 , wherein the at least one instruction to map a DSN address range of the new storage pool further comprises:

at least one instruction to identify a largest-size memory stratification;

at least one instruction to divide an available capacity associated with each storage group by the largest-size memory stratification to produce a number of sub-DSN address ranges; and

at least one instruction to divide the DSN address range into the number of sub-DSN address ranges.

19 . The distributed storage network (DSN) of claim 18 , wherein the at least one instruction to select particular DS units includes:

at least one instruction to choose DS units based so that available capacity of the selected DS units is substantially the same as the largest-size memory stratification.

20 . The distributed storage network (DSN) of claim 15 , wherein the program of instructions further comprises:

at least one instruction to establish a number of memory sections corresponding to a dispersed encoding pillar width;

at least one instruction to determine an approximate least-common-multiple (LCM) amount of storage capacity of the DS units based, at least in part on the memory information; and

at least one instruction to placing a sufficient number of DS units into the number of memory sections to just exceed the LCM amount of storage capacity.

Assignments (3)
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 Jan 17, 2017
From: ALGIE, TEAGUE S.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040992/0060 →