IP Library Granted Patent US 10,361,813
Granted Patent B2
US 10,361,813 · App. 15/624,771 · Granted Jul 23, 2019

Using slice routers for improved storage placement determination

Inventors: Wesley B. Leggette (Chicago, IL); Manish Motwani (Chicago, IL); Brian F. Ober (Lake in the Hills, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machine Corporation
H04L1/0057G06F11/1016G06F11/1076H04L1/0041H04L67/1097
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,361,813
App. No.
15/624,771
Granted
Jul 23, 2019
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing unit of a dispersed storage network (DSN) sending a set of data access requests regarding a set of encoded data slices to slice routers of the DSN. The method continues by a first slice router identifying a first storage unit from a first plurality of storage units of a first storage unit group based on a first slice name of a set of corresponding slice names. The method continues by the first slice router sending a first data access request of the set of data access requests to the first storage unit. The method continues by the first slice router receiving a first data access response from the first storage unit. The method continues by the first slice router forwarding the first data access response to the DS processing unit.

Claims (85)

1. A method comprises:

sending, by a dispersed storage (DS) processing unit of a dispersed storage network (DSN), a set of data access requests regarding a set of encoded data slices to a set of slice routers of the DSN, wherein the set of encoded data slices is stored, or to be stored, in storage units of a set of storage unit groups in accordance with a set of corresponding slice names, wherein a data segment of data is dispersed storage error encoded into the set of encoded data slices in accordance with dispersed storage error encoding parameters, and wherein the dispersed storage error encoding parameters include a pillar width number;

identifying, by a first slice router of the set of slice routers, a first storage unit from a first plurality of storage units of a first storage unit group of the set of storage unit groups based on a first slice name of the set of corresponding slice names, wherein the first storage unit is one of the storage units of the set of storage unit groups, and wherein the first slice router is responsible for processing data access requests for the first storage unit group, wherein the first storage unit group corresponds to a first pillar number, and wherein the identifying the first storage unit includes:

determining a DSN address based on the first slice name;

accessing a DSN logical addressing to storage unit mapping to identify a second storage unit of the first plurality of storage units based on the DSN address;

determining second storage attributes of the second storage unit; and

when the second storage attributes compare unfavorably to a storage attribute threshold:

identifying an unused DSN address range in the first storage unit group; and

determining that physical addresses of the first storage unit are mapped to at least some logical addresses of the unused DSN address range to identify the first storage unit;

sending, by the first slice router, a first data access request of the set of data access requests to the first storage unit;

receiving, by the first slice router, a first data access response from the first storage unit; and

forwarding, by the first slice router, the first data access response to the DS processing unit.

2. The method of claim 1 further comprises:

identifying, by a second slice router of the set of slice routers, a second storage unit from a second plurality of storage units of a second storage unit group of the set of storage unit groups based on a second slice name of the set of corresponding slice names, wherein the second storage unit is one of the storage units of the set of storage unit groups;

sending, by the second slice router, a second data access request of the set of data access requests to the second storage unit;

receiving, by the second slice router, a second data access response from the second storage unit; and

forwarding, by the second slice router, the second data access response to the DS processing unit.

3. The method of claim 1 further comprises:

identifying, by the first slice router, a second storage unit from a second plurality of storage units of a second storage unit group of the set of storage unit groups based on a second slice name of the set of corresponding slice names, wherein the second storage unit is another one of the storage units of the set of storage unit groups;

sending, by the first slice router, a second data access request of the set of data access requests to the second storage unit;

receiving, by the first slice router, a second data access response from the second storage unit; and

forwarding, by the first slice router, the second data access response to the DS processing unit.

4. The method of claim 1 , wherein the identifying the first storage unit comprises:

determining a DSN address based on the first slice name; and

accessing a DSN logical addressing to storage unit mapping to identify the first storage unit based on the DSN address.

5. The method of claim 1 , wherein the identifying the first storage unit comprises:

determining a DSN address based on the first slice name;

accessing a DSN logical addressing to storage unit mapping to identify a second storage unit of the first plurality of storage units based on the DSN address;

determining second storage attributes of the second storage unit; and

when the second storage attributes compare unfavorably to a storage attribute threshold:

determining first storage attributes of the first storage unit; and

when the first storage attributes compare favorably to the storage attribute threshold, converting the DSN address into another DSN address that maps to the first storage unit.

6. The method of claim 5 , wherein the first and second storage attributes comprise one or more of:

storage capacity;

storage utilization;

cost per storage over time;

cost per storage operation;

performance capacity;

reliability level;

availability level; and

fault domain.

7. A computer readable memory device comprises:

a first memory section for storing operational instructions that, when executed by a dispersed storage (DS) processing unit of a dispersed storage network (DSN), causes the DS processing unit to:

send a set of data access requests regarding a set of encoded data slices to a set of slice routers of the DSN, wherein the set of encoded data slices is stored, or to be stored, in storage units of a set of storage unit groups in accordance with a set of corresponding slice names, wherein a data segment of data is dispersed storage error encoded into the set of encoded data slices in accordance with dispersed storage error encoding parameters, and wherein the dispersed storage error encoding parameters include a pillar width number; and

a second memory section for storing operational instructions that, when executed by a first slice router of the set of slice routers, causes the first slice router to:

identify a first storage unit from a first plurality of storage units of a first storage unit group of the set of storage unit groups based on a first slice name of the set of corresponding slice names, wherein the first storage unit is one of the storage units of the set of storage unit groups, and wherein the first slice router is responsible for processing data access requests for the first storage unit group, wherein the first storage unit group corresponds to a first pillar number, and wherein the identifying the first storage unit includes:

determining a DSN address based on the first slice name;

accessing a DSN logical addressing to storage unit mapping to identify a second storage unit of the first plurality of storage units based on the DSN address;

determining second storage attributes of the second storage unit; and

when the second storage attributes compare unfavorably to a storage attribute threshold:

identifying an unused DSN address range in the first storage unit group; and

determining that physical addresses of the first storage unit are mapped to at least some logical addresses of the unused DSN address range to identify the first storage unit;

send a first data access request of the set of data access requests to the first storage unit;

receive a first data access response from the first storage unit; and

forward the first data access response to the DS processing unit.

8. The computer readable memory device of claim 7 further comprises:

a third memory section for storing operational instructions that, when executed by a second slice router of the set of slice routers, causes the second slice router to:

identify a second storage unit from a second plurality of storage units of a second storage unit group of the set of storage unit groups based on a second slice name of the set of corresponding slice names, wherein the second storage unit is one of the storage units of the set of storage unit groups;

send a second data access request of the set of data access requests to the second storage unit;

receive a second data access response from the second storage unit;

forward the second data access response to the DS processing unit.

9. The computer readable memory device of claim 7 wherein the second memory section stores further operational instructions that, when executed by the first slice router of the set of slice routers, causes the first slice router to:

identify a second storage unit from a second plurality of storage units of a second storage unit group of the set of storage unit groups based on a second slice name of the set of corresponding slice names, wherein the second storage unit is another one of the storage units of the set of storage unit groups;

send a second data access request of the set of data access requests to the second storage unit;

receive a second data access response from the second storage unit; and

forward the second data access response to the DS processing unit.

10. The computer readable memory device of claim 7 , wherein the second memory section stores further operational instructions that, when executed by the first slice router, causes the first slice router to identify the first storage unit by:

determining a DSN address based on the first slice name; and

accessing a DSN logical addressing to storage unit mapping to identify the first storage unit based on the DSN address.

11. The computer readable memory device of claim 7 , wherein the second memory section stores further operational instructions that, when executed by the first slice router, causes the first slice router to identify the first storage unit by:

determining a DSN address based on the first slice name;

accessing a DSN logical addressing to storage unit mapping to identify a second storage unit of the first plurality of storage units based on the DSN address; and

determining second storage attributes of the second storage unit;

when the second storage attributes compare unfavorably to a storage attribute threshold:

determining first storage attributes of the first storage unit; and

when the first storage attributes compare favorably to the storage attribute threshold, converting the DSN address into another DSN address that maps to the first storage unit.

12. The computer readable memory device of claim 11 , wherein the first and second storage attributes comprise one or more of:

storage capacity;

storage utilization;

cost per storage over time;

cost per storage operation;

performance capacity;

reliability level;

availability level; and

fault domain.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2017
From: LEGGETTE, WESLEY B.; MOTWANI, MANISH; OBER, BRIAN F.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042729/0693 →
Continuity (1)
Related Publication 20180367248A1 · Dec 20, 2018
Cited By (1)
US 12,535,948