IP Library Granted Patent US 8,468,311
Granted Patent B2
US 8,468,311 · App. 13/488,650 · Granted Jun 18, 2013

System, methods, and apparatus for subdividing data for storage in a dispersed data storage grid

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,468,311
App. No.
13/488,650
Granted
Jun 18, 2013
Kind
B2
Abstract

An efficient method for breaking source data into smaller data subsets and storing those subsets along with coded information about some of the other data subsets on different storage nodes such that the original data can be recreated from a portion of those data subsets in an efficient manner.

Claims (47)

1. A method comprises:

dividing a string of data into a plurality of data subsets;

generating a plurality of data slice subsets from the plurality of data subsets;

combining two or more of the plurality of data slice subsets into a first data slice by at least one of:

appending a first one of the two or more of the plurality of data slice subsets to a second one of the two or more of the plurality of data slice subsets; and

forming the first data slice from the two or more of the plurality of data slice subsets; and

combining another two or more of the plurality of data slice subsets into a second data slice.

2. The method of claim 1 further comprises:

sending the first data slice to a first storage node of a dispersed storage system; and

sending the second data slice to a second storage node of the dispersed storage system.

3. The method of claim 1 , wherein the generating the plurality of data slice subsets from the plurality of data subsets comprises:

performing a coding function on the plurality of data subsets to produce coded data subsets, wherein the plurality of data slice subsets includes the coded data subsets and the plurality of data subsets.

4. The method of claim 1 , wherein the generating the plurality of data slice subsets from the plurality of data subsets comprises:

performing an information dispersal algorithm on the plurality of data subsets to produce the plurality of data slice subsets.

5. The method of claim 1 further comprises:

the string of data is one of a plurality of strings of a data, wherein the plurality of strings of data represent a file.

6. The method of claim 5 further comprises:

dividing a second string of data of the plurality of strings of data into a second plurality of data subsets;

generating a second plurality of data slice subsets from the second plurality of data subsets;

combining two or more of the second plurality of data slice subsets into a third data slice;

combining another two or more of the second plurality of data slice subsets into a fourth data slice;

sending the third data slice to the first storage node of a dispersed storage system; and

sending the fourth data slice to the second storage node of the dispersed storage system.

7. A computer comprises:

a communication network interface;

a computer processing module operably coupled to:

divide a string of data into a plurality of data subsets;

generate a plurality of data slice subsets from the plurality of data subsets;

combine two or more of the plurality of data slice subsets into a first data slice by at least one of:

appending a first one of the two or more of the plurality of data slice subsets to a second one of the two or more of the plurality of data slice subsets; and

forming the first data slice from the two or more of the plurality of data slice subsets; and

combine another two or more of the plurality of data slice subsets into a second data slice;

send, via the communication network interface, the first data slice to a first storage node of a dispersed storage system; and

send, via the communication network interface, the second data slice to a second storage node of the dispersed storage system.

8. The computer of claim 7 , wherein the computer processing module is further operable to generate the plurality of data slice subsets from the plurality of data subsets by:

performing a coding function on the plurality of data subsets to produce coded data subsets, wherein the plurality of data slice subsets includes the coded data subsets and the plurality of data subsets.

9. The computer of claim 7 , wherein the computer processing module is further operable to generate the plurality of data slice subsets from the plurality of data subsets by:

performing an information dispersal algorithm on the plurality of data subsets to produce the plurality of data slice subsets.

10. The computer of claim 7 further comprises:

the string of data is one of a plurality of strings of a data, wherein the plurality of strings of data represent a file.

11. The computer of claim 10 , wherein the computer processing module is further operable to:

divide a second string of data of the plurality of strings of data into a second plurality of data subsets;

generate a second plurality of data slice subsets from the second plurality of data subsets;

combine two or more of the second plurality of data slice subsets into a third data slice;

combine another two or more of the second plurality of data slice subsets into a fourth data slice;

send, via the communication network interface, the third data slice to the first storage node of a dispersed storage system; and

send, via the communication network interface, the fourth data slice to the second storage node of the dispersed storage system.

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 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 →