IP Library Granted Patent US 10,574,395
Granted Patent B2
US 10,574,395 · App. 16/239,651 · Granted Feb 25, 2020

Storing a stream of data in a dispersed storage network

Inventors: S. Christopher Gladwin (Chicago, IL); Timothy W. Markison (Mesa, AZ); Greg Dhuse (Chicago, IL); Thomas Franklin Shirley, Jr. (Wauwatosa, WI); Wesley Leggette (Chicago, IL); Jason K. Resch (Chicago, IL); Gary W. Grube (Barrington-Hills, IL)
Assignee: PURE STORAGE, INC.
H04L1/0076G06F3/064G06F3/067G06F3/0619G06F11/1076G06F11/2053H03M13/05H04L67/1097H03M13/611H04L69/40
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,574,395
App. No.
16/239,651
Granted
Feb 25, 2020
Kind
B2
Abstract

A method includes receiving streaming data. The method further includes dividing the streaming data into data segments. The method further includes performing a unity matrix function on a data segment to produce a set of encoded data slices. The method further includes storing the set of encoded data slices in a set of storage units of the DSN. After storage of the set of encoded data slices, the method further includes performing a redundancy portion of an encoding matrix on the set of encoded data slices to produce a set of redundancy encoded data slices and storing the set of redundancy encoded data slices in a set of set of storage units of the DSN.

Claims (43)

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

receiving streaming data;

dividing the streaming data into a plurality of data segments;

performing a unity matrix function on a data segment of the plurality of data segments to produce a set of threshold number of encoded data slices;

sending the set of threshold number of encoded data slices to a set of storage units of the DSN for storage therein;

after storage of the set of threshold number of encoded data slices:

performing a redundancy portion of an encoding matrix on the set of threshold number of encoded data slices to produce a set of redundancy encoded data slices; and

sending the set of redundancy encoded data slices to a second set of storage units of the DSN for storage therein.

2. The method of claim 1 , wherein the storing the set of threshold number of encoded data slices further comprises:

instructing each storage unit of the set of storage units to be in a write only mode.

3. The method of claim 2 further comprises:

instructing each storage unit of the set of storage units to be in a read mode after the storage of the set of threshold number of encoded data slices.

4. The method of claim 1 further comprises:

a first computing device of the one or more computing devices performing the steps of receiving, dividing, performing the unity matrix function, and the sending the set of threshold number of encoded data slices.

5. The method of claim 4 further comprises:

a second computing device of the one or more computing devices performing the steps of performing the redundancy portion of the encoding matrix and sending the set of redundancy encoded data slices.

6. The method of claim 1 , wherein the performing the redundancy portion of the encoding matrix comprises:

reconstructing a data segment from the set of threshold number of encoded data slices;

generating a data matrix from the data segment;

multiplying the data matrix with the redundancy portion of the encoding matrix to produce the set of redundancy encoded data slices.

7. A computer readable memory device comprises:

a first memory section that stores operational instructions that, when executed by one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

receive streaming data;

divide the streaming data into a plurality of data segments;

perform a unity matrix function on a data segment of the plurality of data segments to produce a set of threshold number of encoded data slices;

sending the set of threshold number of encoded data slices to a set of storage units of the DSN for storage therein;

and

a second memory section that stores operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

after storage of the set of threshold number of encoded data slices:

perform a redundancy portion of an encoding matrix on the set of threshold number of encoded data slices to produce a set of redundancy encoded data slices; and

send the set of redundancy encoded data slices to a second set of storage units of the DSN for storage therein.

8. The computer readable memory device of claim 7 , wherein the first memory section further stores operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to store the set of threshold number of encoded data slices further by:

instructing each storage unit of the set of storage units to be in a write only mode.

9. The computer readable memory device of claim 8 , wherein the first memory section further stores operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

instruct each storage unit of the set of storage units to be in a read mode after the storage of the set of threshold number of encoded data slices.

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

a first computing device of the one or more computing devices executing the operational instructions of the first memory section.

11. The computer readable memory device of claim 10 further comprises:

a second computing device of the one or more computing devices executing the operational instructions of the second memory section.

12. The computer readable memory device of claim 7 , wherein the second memory section that stores operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to perform the redundancy portion of the encoding matrix by:

reconstructing a data segment from the set of threshold number of encoded data slices;

generating a data matrix from the data segment;

multiplying the data matrix with the redundancy portion of the encoding matrix to produce the set of redundancy encoded data slices.

Assignments (7)
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 DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 047900 FRAME 0155. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 20, 2019
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 049225/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2019
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048008/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2019
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 047900/0155 →