IP Library Granted Patent US 10,200,156
Granted Patent B2
US 10,200,156 · App. 15/213,329 · Granted Feb 5, 2019

Storing a stream 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 10,200,156
App. No.
15/213,329
Granted
Feb 5, 2019
Kind
B2
Abstract

A processing module of a computing device alternatingly sends a stream of data to a first or second processing device. When receiving the stream of data, the first processing device performs a first portion of a dispersed storage error encoding function on the received stream of data to produce a plurality of sets of a threshold number of slices and writes the plurality of sets of the threshold number of slices into first memory of a dispersed storage network (DSN). When not receiving the stream of data, the first processing device reads the plurality of sets of the threshold number of slices from the first memory, performs a second portion of the dispersed storage error encoding function using the plurality of sets of the threshold number of slices to produce a plurality of sets of redundancy slices, and writes the plurality of sets of redundancy slices into second DSN memory.

Claims (43)

1. A dispersed storage system comprises:

at least one first computing device of a dispersed storage network (DSN), executing a first module that causes the at least one first computing device to:

perform a first portion of a dispersed storage error encoding function on streaming data to produce a plurality of sets of a threshold number of encoded data slices;

alternatingly establish a write only mode for a first memory of DSN and a second memory of the DSN;

write sets of the plurality of sets of the threshold number of encoded data slices to the first memory when the first memory is in the write only mode; and

write alternate sets of the plurality of sets of the threshold number of encoded data slices to the second memory when the second memory is in the write only mode; and

a second computing device of the DSN, executing a second module that causes the second computing device to:

when the first memory is not in the write only mode, read the sets of the plurality of sets of the threshold number of encoded data slices from the first memory;

perform a second portion of the dispersed storage error encoding function on the read sets of the plurality of sets of the threshold number of encoded data slices to produce sets of redundancy encoded data slices; and

write the sets of redundancy encoded data slices to a third memory of the DSN.

2. The dispersed storage system of claim 1 further comprises:

a third module, when operable in a third computing device of the DSN or the second computing device, causes the second or third computing device to:

when the second memory is not in the write only mode, read the alternate sets of the plurality of sets of the threshold number of encoded data slices from the second memory;

perform the second portion of the dispersed storage error encoding function on the read alternate sets of the plurality of sets of the threshold number of encoded data slices to produce alternate sets of redundancy encoded data slices; and

write the alternate sets of redundancy encoded data slices to a fourth memory of the DSN.

3. The dispersed storage system of claim 1 , wherein the first module further comprises:

a first sub-module, when operable in one of the at least one first computing device, causes the one of the at least one first computing device to perform the first portion of the dispersed storage error encoding function on a first alternating portion of the streaming data to produce the alternate sets of the plurality of sets of the threshold number of encoded data slices; and

a second sub-module, when operable in another one of the at least one first computing device, causes the other one of the at least one first computing device to perform the first portion of the dispersed storage error encoding function on a second alternating portion of the streaming data to produce the sets of the plurality of sets of the threshold number of encoded data slices.

4. The dispersed storage system of claim 3 , wherein:

when the second memory is not in the write only mode, the first sub-module, when operable in the one of the at least one first computing device, further causes the one of the at least one first computing device to:

read the alternate sets of the plurality of sets of the threshold number of encoded data slices from the second memory;

perform the second portion of the dispersed storage error encoding function on the read alternate sets of the plurality of sets of the threshold number of encoded data slices to produce alternate sets of redundancy encoded data slices; and

write the alternate sets of redundancy encoded data slices to a fourth memory of the DSN.

5. The dispersed storage system of claim 3 further comprises:

a source computing device that alternatingly sends the streaming data to the one of the at least one first computing device or to the other one of the at least one first computing device, wherein the alternatingly sending the streaming data includes:

establishing an alternating first time interval and second time interval;

sending the stream of data to the one of the at least one first computing device during the first time interval; and

sending the stream of data to the other one of the at least one first computing device during the second time interval.

6. The dispersed storage system of claim 1 further comprises:

the first portion of the dispersed storage error encoding function corresponding to a unity matrix portion of an encoding matrix; and

the second portion of the dispersed storage error encoding function corresponding to a redundancy portion of the encoding matrix.

7. The dispersed storage system of claim 1 further comprises:

the first portion of the dispersed storage error encoding function corresponding to a level of encoding to produce the plurality of sets of the threshold number of encoded data slices; and

the second portion of the dispersed storage error encoding function corresponding to a level of encoding to produce the plurality of sets of the redundancy encoded data slices.

8. The dispersed storage system of claim 1 wherein:

the at least one first computing device, executing the first module that further causes the at least one first computing device to:

alternatingly establish a write only mode for the first memory, the second memory, and a third memory of the DSN; and

write sets of the plurality of sets of the threshold number of encoded data slices to the third memory when the third memory is in the write only mode.

9. The dispersed storage system of claim 1 further comprises:

a source computing device that generates an address mapping that links a corresponding one of the sets of the plurality of sets of the threshold number of encoded data slices with a corresponding one of the sets of the plurality of sets of redundancy encoded data slices.

10. The dispersed storage system of claim 1 wherein:

the at least one first computing device, executing the first module that further causes the at least one first computing device to:

transfer the plurality of sets of the threshold number of encoded data slices from the first memory to the third memory.

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 30, 2017
From: GLADWIN, S. CHRISTOPHER; MARKISON, TIMOTHY W.; DHUSE, GREG; SHIRLEY, THOMAS FRANKLIN, JR.; LEGGETTE, WESLEY; RESCH, JASON K.; GRUBE, GARY W.
To: CLEVERSAFE, INC.
Reel/Frame 041120/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2017
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041553/0940 →