IP Library Granted Patent US 11,132,340
Granted Patent B2
US 11,132,340 · App. 16/171,480 · Granted Sep 28, 2021

Storage unit selection of memory devices used for distributed storage network memory

Inventors: Trent W. Johnson (Chicago, IL); Andrew D. Baptist (Mt. Pleasant, WI); Ilya Volvovski (Chicago, IL); John Quigley (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F16/182G06F11/10G06F11/1076G06F16/2379H04L67/1097H04L63/101H04L63/20
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,132,340
App. No.
16/171,480
Granted
Sep 28, 2021
Kind
B2
Abstract

A storage unit in a distributed storage network (DSN) transmits resource availability information to a managing unit. The resource availability information includes information indicating a number of available memory devices of the storage unit that are available to be used for storage of encoded data slices. The storage unit receives resource assignment information determined by the managing unit. The resource assignment information includes one or more dispersal parameters, information identifying a set of storage units to be included in a newly instantiated DSN memory, and a DSN address range assigned to the storage unit for use in the newly instantiated DSN memory. The storage unit selects particular available memory devices of the storage unit to assign to the newly instantiated DSN memory. The selection is based on the resource assignment information.

Claims (58)

1. A method for use in a distributed storage network (DSN), the method comprising:

transmitting resource availability information from a storage unit to a managing unit, the resource availability information including information indicating a number of available memory devices of the storage unit that are available to be used for storage of encoded data slices;

receiving, at the storage unit, resource assignment information determined by the managing unit, the resource assignment information including:

one or more dispersal parameters;

information identifying a set of storage units to be included in a newly instantiated DSN memory;

a DSN address range assigned to the storage unit for use in the newly instantiated DSN memory; and

selecting, by the storage unit, particular available memory devices of the storage unit to assign to the newly instantiated DSN memory based on the resource assignment information.

2. The method of claim 1 , further comprising:

allocating, by the storage unit, sub-DSN address ranges to the particular available memory devices.

3. The method of claim 1 , wherein:

the one or more dispersal parameters are selected by the managing unit to satisfy a performance threshold associated with storage of the encoded data slices, subject to a constraint requiring a pillar width associated with the encoded data slices to be no larger than the number of available memory devices.

4. The method of claim 1 , wherein:

the one or more dispersal parameters are selected to achieve a target mean time to data loss and a target write availability.

5. The method of claim 2 , further comprising:

allocating the sub-DSN address ranges to the particular available memory devices based, at least in part, on utilization of the particular available memory devices.

6. The method of claim 2 , wherein:

the sub-DSN address ranges are allocated based on the one or more dispersal parameters.

7. The method of claim 2 , wherein:

the sub-DSN address ranges are determined by dividing the DSN address range assigned to the storage unit by the number of available memory devices of the storage unit.

8. A computing device for use in a distributed storage network (DSN), the computing device comprising:

a processor;

memory operably associated with the processor and storing a program of instructions, upon execution by the processor, causing the processor to implement a storage unit configured to:

transmit resource availability information to a managing unit, the resource availability information including information indicating a number of available memory devices of the storage unit that are available to be used for storage of encoded data slices;

receive resource assignment information determined by the managing unit, the resource assignment information including:

one or more dispersal parameters;

information identifying a set of storage units to be included in a newly instantiated DSN memory;

a DSN address range assigned to the storage unit for use in the newly instantiated DSN memory; and

select particular available memory devices of the storage unit to assign to the newly instantiated DSN memory based on the resource assignment information.

9. The computing device of claim 8 , the storage unit further configured to:

allocate sub-DSN address ranges to the particular available memory devices.

10. The computing device of claim 8 , wherein:

the one or more dispersal parameters are selected by the managing unit to satisfy a performance threshold associated with storage of the encoded data slices, subject to a constraint requiring a pillar width associated with the encoded data slices to be no larger than the number of available memory devices.

11. The computing device of claim 8 , wherein:

the one or more dispersal parameters are selected to achieve a target mean time to data loss and a target write availability.

12. The computing device of claim 9 , the storage unit further configured to:

allocate the sub-DSN address ranges to the particular available memory devices based, at least in part, on utilization of the particular available memory devices.

13. The computing device of claim 9 , wherein:

the sub-DSN address ranges are allocated based on the one or more dispersal parameters.

14. The computing device of claim 9 , wherein:

the sub-DSN address ranges are determined by dividing the DSN address range assigned to the storage unit by the number of available memory devices of the storage unit.

15. A distributed storage network (DSN) comprising:

a plurality of storage units logically organized into DSN memories, each of the plurality of storage units including memory devices configured to store error encoded data slices;

a managing unit coupled to the plurality of storage units;

each storage unit including a processor and associated memory configured to:

transmit resource availability information to the managing unit, the resource availability information including information indicating a number of available memory devices of the storage unit that are available to be used for storage of encoded data slices;

receive resource assignment information determined by the managing unit, the resource assignment information including:

one or more dispersal parameters;

information identifying a set of storage units to be included in a newly instantiated DSN memory;

a DSN address range assigned to the storage unit for use in the newly instantiated DSN memory; and

select particular available memory devices of the storage unit to assign to the newly instantiated DSN memory based on the resource assignment information.

16. The distributed storage network (DSN) of claim 15 , each storage unit further configured to:

allocate sub-DSN address ranges to the particular available memory devices.

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

the one or more dispersal parameters are selected by the managing unit to satisfy a performance threshold associated with storage of the encoded data slices, subject to a constraint requiring a pillar width associated with the encoded data slices to be no larger than the number of available memory devices.

18. The distributed storage network (DSN) of claim 16 , each storage units further configured to:

allocate the sub-DSN address ranges to the particular available memory devices based, at least in part, on utilization of the particular available memory devices.

19. The distributed storage network (DSN) of claim 16 , each storage units further configured to:

determine the sub-DSN address ranges by dividing the DSN address range assigned to the storage unit by the number of available memory devices of the storage unit.

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 Oct 26, 2018
From: JOHNSON, TRENT W.; BAPTIST, ANDREW D.; VOLVOVSKI, ILYA; QUIGLEY, JOHN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047327/0460 →