IP Library Granted Patent US 9,558,067
Granted Patent B2
US 9,558,067 · App. 14/088,897 · Granted Jan 31, 2017

Mapping storage of data in a dispersed storage network

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 9,558,067
App. No.
14/088,897
Granted
Jan 31, 2017
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module receiving data for storage in a dispersed storage network (DSN) memory and ascertaining dispersed storage error encoding parameters for encoding the data. The method continues with the DS processing module ascertaining storage units of the DSN memory for the storing an encoded version of the data and ascertaining a storage mapping that maps encoded data slices to storage units for storing the encoded version of the data. The method continues with the DS processing module encoding the data in accordance with the dispersed storage error encoding parameters to produce sets of encoded data slices. The method continues with the DS processing module generating a plurality of write requests for storing, in accordance with the storage mapping, encoded data slices of the sets of encoded data slices in a pattern across the storage units.

Claims (50)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

receiving a data object for storage in DSN memory;

ascertaining dispersed storage error encoding parameters for encoding the data object;

ascertaining “p” number of storage units of the DSN memory for storing an encoded version of the data object;

ascertaining a storage mapping that maps encoded data slices to storage units for storing the encoded version of the data object;

segmenting the data object into a plurality of data segments;

encoding the plurality of data segments in accordance with the dispersed storage error encoding parameters to produce a plurality of sets of encoded data slices, wherein a set of the plurality of sets of encoded data slices includes “n” number of encoded data slices, wherein “n” is less than “p”; and

on a data segment by data segment basis, generating a set of write requests for storing, in accordance with the storage mapping, encoded data slices of a corresponding set of the plurality of sets of encoded data slices, wherein encoded data slices of the plurality of sets of encoded data slices are stored in a pattern across the “p” number of storage units, wherein less than the “p” number of storage units stores an encoded data slice of the corresponding set of the plurality of sets of encoded data slices or a subset thereof; and

wherein the storage mapping includes, from set to set, the “n” number of encoded data slices of the plurality of sets of encoded data slices being stored in a fixed sub-set of the “p” number of storage units.

2. The method of claim 1 further comprises:

ascertaining the dispersed storage error encoding parameters and the “p” number of storage units such that “n” is equal to or less than “p”; and

ascertaining the storage mapping such that, from set to set, a fixed sub-set of the “n” number of encoded data slices of the plurality of sets of encoded data slices are stored in the fixed sub-set of the “p” number of storage units.

3. The method of claim 1 further comprises:

ascertaining the dispersed storage error encoding parameters and the “p” number of storage units such that “n” is equal to or less than “p”; and

ascertaining the storage mapping such that, from set to set, a varying sub-set of the “n” number of encoded data slices of the plurality of sets of encoded data slices are stored in the fixed sub-set of the “p” number of storage units.

4. A dispersed storage (DS) module of a dispersed storage network (DSN), the DS module comprises:

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

receive a data object for storage in DSN memory;

ascertain dispersed storage error encoding parameters for encoding the data object;

ascertain “p” number of storage units of the DSN memory for storing an encoded version of the data object; and

ascertain a storage mapping that maps encoded data slices to storage units for storing the encoded version of the data object;

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

segment the data object into a plurality of data segments;

encode the plurality of data segments in accordance with the dispersed storage error encoding parameters to produce a plurality of sets of encoded data slices, wherein a set of the plurality of sets of encoded data slices includes “n” number of encoded data slices, wherein “n” is less than “p”; and

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

on a data segment by data segment basis, generate a set of write requests for storing, in accordance with the storage mapping, encoded data slices of a corresponding set of the plurality of sets of encoded data slices, wherein encoded data slices of the plurality of sets of encoded data slices are stored in a pattern across the “p” number of storage units, wherein less than the “p” number of storage units stores an encoded data slice of the corresponding set of the plurality of sets of encoded data slices or a subset thereof; and

wherein the storage mapping included, from set to set, the “n” number of encoded data slices of the plurality of sets of encoded data slices being stored in a fixed sub-set of the “p” number of storage units.

5. The DS module of claim 4 further comprises:

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

ascertain the dispersed storage error encoding parameters and the “p” number of storage units such that “n” is equal to or less than “p”; and

ascertain the storage mapping such that, from set to set, a fixed sub-set of the “n” number of encoded data slices of the plurality of sets of encoded data slices are stored in the fixed sub-set of the “p” number of storage units.

6. The DS module of claim 4 further comprises:

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

ascertain the dispersed storage error encoding parameters and the “p” number of storage units such that “n” is equal to or less than “p”; and

ascertain the storage mapping such that, from set to set, a varying sub-set of the “n” number of encoded data slices of the plurality of sets of encoded data slices are stored in the fixed sub-set of the “p” number of storage units.

7. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

receiving a data object for storage in DSN memory;

ascertaining dispersed storage error encoding parameters for encoding the data object;

ascertaining “p” number of storage units of the DSN memory for storing an encoded version of the data object;

ascertaining a storage mapping that maps encoded data slices to storage units for storing the encoded version of the data object;

segmenting the data object into a plurality of data segments;

encoding the plurality of data segments in accordance with the dispersed storage error encoding parameters to produce a plurality of sets of encoded data slices, wherein a set of the plurality of sets of encoded data slices includes “n” number of encoded data slices, wherein “n” is less than “p”; and

on a data segment by data segment basis, generating a set of write requests for storing, in accordance with the storage mapping, encoded data slices of a corresponding set of the plurality of sets of encoded data slices, wherein encoded data slices of the plurality of sets of encoded data slices are stored in a pattern across the “p” number of storage units, wherein less than the “p” number of storage units stores an encoded data slice of the corresponding set of the plurality of sets of encoded data slices or a subset thereof; and

wherein the storage mapping includes, from set to set, the “n” number of encoded data slices of the plurality of sets of encoded data slices being stored in a varying sub-set of the “p” number of storage units.

8. The method of claim 7 further comprises:

ascertaining the dispersed storage error encoding parameters and the “p” number of storage units such that “n” is equal to or less than “p”; and

ascertaining the storage mapping such that, from set to set, a fixed sub-set of the “n” number of encoded data slices of the plurality of sets of encoded data slices are stored in the varying sub-set of the “p” number of storage units.

9. The method of claim 7 further comprises:

ascertaining the dispersed storage error encoding parameters and the “p” number of storage units such that “n” is equal to or less than “p”; and

ascertaining the storage mapping such that, from set to set, a varying sub-set of the “n” number of encoded data slices of the plurality of sets of encoded data slices are stored in the varying sub-set of the “p” number of storage units.

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 May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2014
From: RESCH, JASON K.; DHUSE, GREG
To: CLEVERSAFE, INC.
Reel/Frame 031890/0831 →