IP Library Granted Patent US 10,102,069
Granted Patent B2
US 10,102,069 · App. 15/400,767 · Granted Oct 16, 2018

Maintaining data storage in accordance with an access metric

Inventors: Ilya Volvovski (Chicago, IL); Bruno Hennig Cabral (Chicago, IL); Manish Motwani (Chicago, IL); Thomas Darrel Cocagne (Elk Grove Village, IL); Timothy W. Markison (Mesa, AZ); Gary W. Grube (Barrington Hills, IL); Wesley Leggette (Chicago, IL); Jason K. Resch (Chicago, IL); Michael Colin Storm (Palo Alto, CA); Greg Dhuse (Chicago, IL); Yogesh Ramesh Vedpathak (Chicago, IL); Ravi Khadiwala (Bartlett, IL)
Assignee: International Business Machines Corporation
G06F11/1076G06F3/064G06F3/067G06F3/0619
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 10,102,069
App. No.
15/400,767
Granted
Oct 16, 2018
Kind
B2
Abstract

A method includes identifying a data object for retrieval. The data object is encoded in accordance with first encoded parameters and stored as a plurality of sets of encoded data slices in a set of storage units. The method further includes determining whether an access metric regarding the data object exceeds an access threshold. When the access metric is equal to or exceeds the access threshold, the data object is further encoded in accordance with second encoding parameters and stored as a second plurality of sets of encoded data slices in a second set of storage units. The method further includes issuing retrieval requests to the second set of storage units regarding the second plurality of encoded data slices in accordance with a read threshold of the second encoding parameters. The method further includes recovering the data object from the second plurality of encoded data slices.

Claims (81)

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

identifying a data object for retrieval from DSN memory, wherein the data object is stored as a plurality of sets of encoded data slices in a set of storage units of the DSN, wherein the data object is dispersed storage error encoded with first encoding parameters to produce the plurality of sets of encoded data slices;

determining whether an access metric regarding the data object exceeds an access threshold, wherein, when the access metric is equal to or exceeds the access threshold, the data object is further stored as a second plurality of sets of encoded data slices in a second set of storage units of the DSN, wherein the data object is further dispersed storage error encoded with second encoding parameters to produce the second plurality of sets of encoded data slices, and wherein a first decode threshold and a first pillar width of the first encoding parameters are greater than a second decode threshold and a second pillar width of the second encoding parameters;

when the access metric exceeds the access threshold:

issuing a plurality of sets of retrieval requests to the second set of storage units regarding the second plurality of encoded data slices in accordance with a read threshold of the second encoding parameters; and

recovering the data object from received encoded data slices of the second plurality of encoded data slices.

2. The method of claim 1 further comprises:

when the access metric is less than the access threshold:

issuing a first plurality of sets of retrieval requests to the set of storage units regarding the first plurality of encoded data slices in accordance with a read threshold of the first encoding parameters; and

recovering the data object from received encoded data slices of the first plurality of encoded data slices.

3. The method of claim 1 , wherein the access metric comprises one or more of:

network traffic loading information;

access rate of the data object; and

storage unit loading of a set of storage units storing the first plurality of sets of encoded data slices.

4. The method of claim 1 further comprises:

the second decode threshold number is less than or equal to one-half of the first decode threshold number.

5. The method of claim 1 further comprises:

the second decode threshold number is less than or equal to one-half of a total number of encoded data slices in a set of the second plurality of sets of encoded data slices.

6. The method of claim 1 , wherein the recovering the data object from received encoded data slices of the second plurality of encoded data slices comprises:

for a first data segment of the data object:

receiving the second decode threshold number of encoded data slices of a first set of encoded data slices of the second plurality of sets of encoded data slices; and

dispersed storage error decoding the second decode threshold number of encoded data slices of the first set to recover the first data segment;

for a second data segment of the data object:

receiving the second decode threshold number of encoded data slices of a second set of encoded data slices of the second plurality of sets of encoded data slices; and

dispersed storage error decoding the second decode threshold number of encoded data slices of the second set to recover the first data segment; and

combining the first and second data segments to produce at least a portion of the data object.

7. A computer readable memory comprises:

at least one memory section that stores operational instructions that, when executed by a computing device of a dispersed storage network (DSN), causes the computing device to:

identify a data object for retrieval from DSN memory, wherein the data object is stored as a plurality of sets of encoded data slices in a set of storage units of the DSN, wherein the data object is dispersed storage error encoded with first encoding parameters to produce the plurality of sets of encoded data slices;

determine whether an access metric regarding the data object exceeds an access threshold, wherein, when the access metric is equal to or exceeds the access threshold, the data object is further stored as a second plurality of sets of encoded data slices in a second set of storage units of the DSN, wherein the data object is further dispersed storage error encoded with second encoding parameters to produce the second plurality of sets of encoded data slices, and wherein a first decode threshold and a first pillar width of the first encoding parameters are greater than a second decode threshold and a second pillar width of the second encoding parameters;

when the access metric exceeds the access threshold:

issue a plurality of sets of retrieval requests to the second set of storage units regarding the second plurality of encoded data slices in accordance with a read threshold of the second encoding parameters; and

recover the data object from received encoded data slices of the second plurality of encoded data slices.

8. The computer readable memory of claim 7 , wherein the at least one memory section further stores operational instructions that, when executed by the computing device, causes the computing device to:

when the access metric is less than the access threshold:

issue a first plurality of sets of retrieval requests to the set of storage units regarding the first plurality of encoded data slices in accordance with a read threshold of the first encoding parameters; and

recover the data object from received encoded data slices of the first plurality of encoded data slices.

9. The computer readable memory of claim 7 , wherein the access metric comprises one or more of:

network traffic loading information;

access rate of the data object; and

storage unit loading of a set of storage units storing the first plurality of sets of encoded data slices.

10. The computer readable memory of claim 7 further comprises:

the second decode threshold number is less than or equal to one-half of the first decode threshold number.

11. The computer readable memory of claim 7 further comprises:

the second decode threshold number is less than or equal to one-half of a total number of encoded data slices in a set of the second plurality of sets of encoded data slices.

12. The computer readable memory of claim 7 , wherein the at least one memory section further stores operational instructions that, when executed by the computing device, causes the computing device to recover the data object from received encoded data slices of the second plurality of encoded data slices by:

for a first data segment of the data object:

receiving the second decode threshold number of encoded data slices of a first set of encoded data slices of the second plurality of sets of encoded data slices; and

dispersed storage error decoding the second decode threshold number of encoded data slices of the first set to recover the first data segment;

for a second data segment of the data object:

receiving the second decode threshold number of encoded data slices of a second set of encoded data slices of the second plurality of sets of encoded data slices; and

dispersed storage error decoding the second decode threshold number of encoded data slices of the second set to recover the first data segment; and

combining the first and second data segments to produce at least a portion of the data object.

13. A computing device of a dispersed storage network (DSN), the computing device comprises:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

identify a data object for retrieval from DSN memory, wherein the data object is stored as a plurality of sets of encoded data slices in a set of storage units of the DSN, wherein the data object is dispersed storage error encoded with first encoding parameters to produce the plurality of sets of encoded data slices;

determine whether an access metric regarding the data object exceeds an access threshold, wherein, when the access metric is equal to or exceeds the access threshold, the data object is further stored as a second plurality of sets of encoded data slices in a second set of storage units of the DSN, wherein the data object is further dispersed storage error encoded with second encoding parameters to produce the second plurality of sets of encoded data slices, and wherein a first decode threshold and a first pillar width of the first encoding parameters are greater than a second decode threshold and a second pillar width of the second encoding parameters;

when the access metric exceeds the access threshold:

issue, via the interface, a plurality of sets of retrieval requests to the second set of storage units regarding the second plurality of encoded data slices in accordance with a read threshold of the second encoding parameters; and

recover the data object from received encoded data slices of the second plurality of encoded data slices.

14. The computing device of claim 13 , wherein the processing module is further operable to: when the access metric is less than the access threshold:

issue, via the interface, a first plurality of sets of retrieval requests to the set of storage units regarding the first plurality of encoded data slices in accordance with a read threshold of the first encoding parameters; and

recover the data object from received encoded data slices of the first plurality of encoded data slices.

15. The computing device of claim 13 , wherein the access metric comprises one or more of:

network traffic loading information;

access rate of the data object; and

storage unit loading of a set of storage units storing the first plurality of sets of encoded data slices.

16. The computing device of claim 13 further comprises:

the second decode threshold number is less than or equal to one-half of the first decode threshold number.

17. The computing device of claim 13 further comprises:

the second decode threshold number is less than or equal to one-half of a total number of encoded data slices in a set of the second plurality of sets of encoded data slices.

18. The computing device of claim 13 , wherein the processing module further functions to recover the data object from received encoded data slices of the second plurality of encoded data slices by:

for a first data segment of the data object:

receiving, via the interface, the second decode threshold number of encoded data slices of a first set of encoded data slices of the second plurality of sets of encoded data slices; and

dispersed storage error decoding the second decode threshold number of encoded data slices of the first set to recover the first data segment;

for a second data segment of the data object:

receiving, via the interface, the second decode threshold number of encoded data slices of a second set of encoded data slices of the second plurality of sets of encoded data slices; and

dispersed storage error decoding the second decode threshold number of encoded data slices of the second set to recover the first data segment; and

combining the first and second data segments to produce at least a portion of the data object.

Assignments (6)
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 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 Jan 9, 2017
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041303/0569 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: VOLVOVSKI, ILYA; CABRAL, BRUNO HENNIG; MOTWANI, MANISH; COCAGNE, THOMAS DARREL; MARKISON, TIMOTHY W.; GRUBE, GARY W.; LEGGETTE, WESLEY; RESCH, JASON K.; STORM, MICHAEL COLIN; DHUSE, GREG; VEDPATHAK, YOGESH RAMESH; KHADIWALA, RAVI
To: CLEVERSAFE, INC.
Reel/Frame 040878/0152 →
Continuity (3)
Continuation 14680459 · Apr 7, 2015
Provisional Application 62008207 · Jun 5, 2014
Related Publication 20170116082A1 · Apr 27, 2017