IP Library Granted Patent US 8,996,910
Granted Patent B2
US 8,996,910 · App. 13/450,198 · Granted Mar 31, 2015

Assigning a dispersed storage network address range in a maintenance free storage container

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 8,996,910
App. No.
13/450,198
Granted
Mar 31, 2015
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module determining storage device failure information for a plurality of storage devices within a maintenance free storage container, wherein the maintenance free storage container allows for multiple storage devices of the plurality of storage devices to be in a failure mode without replacement and wherein the storage device failure information indicates storage devices of the plurality of storage devices that are in the failure mode. The method continues with the DS processing module maintaining a dynamic container address space of the maintenance free storage container based on the storage device failure information. The method continues with the DS processing module managing mapping of container addresses of the dynamic container address space to dispersed storage network (DSN) addresses of an assigned DSN address range.

Claims (88)

1. A method for managing an assigned dispersed storage network (DSN) address range for a maintenance free storage container, the method comprises:

determining storage device failure information for a plurality of storage devices within the maintenance free storage container, wherein the maintenance free storage container allows for multiple storage devices of the plurality of storage devices to be in a failure mode without replacement and wherein the storage device failure information indicates storage devices of the plurality of storage devices that are in the failure mode;

maintaining a dynamic container address space of the maintenance free storage container based on the storage device failure information;

managing mapping container addresses of the dynamic container address space to DSN addresses of the assigned DSN address range;

monitoring the storage device failure information;

when the storage device failure information is at a container level threshold, generating a request to reduce the assigned DSN address range; and

when the request to reduce the assigned DSN address range is granted:

facilitating writing a selected group of encoded data slices to another maintenance free storage container; and

adjusting the mapping of the container addresses of the dynamic container address space to DSN addresses of a reduced DSN address range.

2. The method of claim 1 , wherein determining the storage device failure information comprises:

determining that one or more storage locations within a first storage device of the plurality of storage devices has failed;

determining that a second storage device of the plurality of storage devices has failed; and

determining that a third storage device of the plurality of storage devices is operating at less than a desired storage level but greater than a storage failure level.

3. The method of claim 1 , wherein the maintaining the dynamic container address space comprises:

identifying one or more storage locations within a first storage device of the plurality of storage devices is in the storage device failure information as failed and removing one or more addresses associated with the one or more storage locations from the dynamic container address space;

identifying a second storage device of the plurality of storage devices is in the storage device failure information as failed and removing addresses associated with the second storage device from the dynamic container address space; and

identifying a third storage device of the plurality of storage devices is in the storage device failure information as being at less than a desired storage level, removing one or more addresses associated with failed storage locations of the third storage device from the dynamic container address space, and flagging remaining addresses of the third storage device in the dynamic container address space as being of reduced reliability.

4. The method of claim 1 , wherein the managing mapping container addresses of the dynamic container address space to DSN addresses comprises:

when a write request to an address within the assigned DSN address range is received:

determining a container address within the dynamic container address space based on the storage device failure information and current address availability within the dynamic container address space;

facilitating the write request to the container address; and

updating the current address availability within the dynamic container address space.

5. The method of claim 1 , wherein the managing mapping container addresses of the dynamic container address space to DSN addresses comprises:

determining, based on the storage device failure information, whether a stored encoded data slice is to be rebuilt or is to be moved to a different container address;

when the stored encoded data slice is to be rebuilt:

rebuilding the stored encoded data slice in accordance with a dispersed storage error coding function to produce a rebuilt encoded data slice;

determining a new container address within the dynamic container address space based on the storage device failure information and current address availability within the dynamic container address space;

facilitating writing the rebuilt encoded data slice to the new container address; updating the mapping of container addresses to the DSN addresses with the new container address; and

updating the current address availability within the dynamic container address space.

6. The method of claim 5 further comprises:

when the stored encoded data slice is to be moved:

determining a new container address within the dynamic container address space based on the storage device failure information and current address availability within the dynamic container address space;

facilitating writing the encoded data slice to the new container address;

updating the mapping of container addresses to the DSN addresses with the new container address; and

updating the current address availability within the dynamic container address space.

7. The method of claim 1 further comprises:

monitoring the storage device failure information; and

when the storage device failure information is at a container level threshold, generating an indication that the maintenance free storage container is in need of replacement.

8. The method of claim 1 further comprises:

obtaining local storage device failure information from a plurality of dispersed storage (DS) units within the maintenance free storage container, wherein a DS unit of the plurality of DS units includes a set of storage devices of the plurality of storage devices; and

compiling the local storage device failure information to determine the storage device failure information.

9. A dispersed storage (DS) module comprises:

a first module, when operable within a computing device, causes the computing device to:

determine storage device failure information for a plurality of storage devices within a maintenance free storage container, wherein the maintenance free storage container allows for multiple storage devices of the plurality of storage devices to be in a failure mode without replacement and wherein the storage device failure information indicates storage devices of the plurality of storage devices that are in the failure mode;

a second module, when operable within the computing device, causes the computing device to:

maintain a dynamic container address space of the maintenance free storage container based on the storage device failure information;

a third module, when operable within the computing device, causes the computing device to:

manage mapping of container addresses of the dynamic container address space to dispersed storage network (DSN) addresses of an assigned DSN address range

a fourth module, when operable within the computing device, causes the computing device to:

monitor the storage device failure information;

when the storage device failure information is at a container level threshold, generate a request to reduce the assigned DSN address range; and

when the request to reduce the assigned DSN address range is granted:

facilitate writing a selected group of encoded data slices to another maintenance free storage container; and

adjust the mapping of the container addresses of the dynamic container address space to DSN addresses of a reduced DSN address range.

10. The DS module of claim 9 , wherein the first module functions to determine the storage device failure information by:

determining that one or more storage locations within a first storage device of the plurality of storage devices has failed;

determining that a second storage device of the plurality of storage devices has failed; and

determining that a third storage device of the plurality of storage devices is operating at less than a desired storage level but greater than a storage failure level.

11. The DS module of claim 9 , wherein the second module functions to maintain the dynamic container address space by:

identifying one or more storage locations within a first storage device of the plurality of storage devices is in the storage device failure information as failed and removing one or more addresses associated with the one or more storage locations from the dynamic container address space;

identifying a second storage device of the plurality of storage devices is in the storage device failure information as failed and removing addresses associated with the second storage device from the dynamic container address space; and

identifying a third storage device of the plurality of storage devices is in the storage device failure information as being at less than a desired storage level, removing one or more addresses associated with failed storage locations of the third storage device from the dynamic container address space, and flagging remaining addresses of the third storage device in the dynamic container address space as being of reduced reliability.

12. The DS module of claim 9 , wherein the third module functions to manage mapping container addresses of the dynamic container address space to DSN addresses by:

when a write request to an address within the assigned address range is received:

determining a container address within the dynamic container address space based on the storage device failure information and current address availability within the dynamic container address space;

facilitating the write request to the container address; and

updating the current address availability within the dynamic container address space.

13. The DS module of claim 9 , wherein the third module further functions to manage mapping container addresses of the dynamic container address space to DSN addresses by:

determining, based on the storage device failure information, whether a stored encoded data slice is to be rebuilt or is to be moved to a different container address;

when the stored encoded data slice is to be rebuilt:

rebuilding the stored encoded data slice in accordance with a dispersed storage error coding function to produce a rebuilt encoded data slice;

determining a new container address within the dynamic container address space based on the storage device failure information and current address availability within the dynamic container address space;

facilitating writing the rebuilt encoded data slice to the new container address; updating the mapping of container addresses to the DSN addresses with the new container address; and

updating the current address availability within the dynamic container address space.

14. The DS module of claim 13 , wherein the third module further functions to:

when the stored encoded data slice is to be moved:

determine a new container address within the dynamic container address space based on the storage device failure information and current address availability within the dynamic container address space;

facilitate writing the encoded data slice to the new container address;

update the mapping of container addresses to the DSN addresses with the new container address; and

update the current address availability within the dynamic container address space.

15. The DS module of claim 9 further comprises:

a fourth module, when operable within the computing device, causes the computing device to:

monitor the storage device failure information; and

when the storage device failure information is at a container level threshold, generate an indication that the maintenance free storage container is in need of replacement.

16. The DS module of claim 9 further comprises:

the first module, when operable within the computing device, further causes the computing device to:

obtain local storage device failure information from a plurality of dispersed storage (DS) units within the maintenance free storage container, wherein a DS unit of the plurality of DS units includes a set of storage devices of the plurality of storage devices; and

compile the local storage device failure information to determine the storage device failure information.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2012
From: GLADWIN, S. CHRISTOPHER; RESCH, JASON K.; GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 028073/0152 →