IP Library Patent Application 17877102
Patent Application
App. No. 17/877,102

Managing Error Recovery Data in a Dispersed Storage Network

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 None
App. No.
17/877,102
Abstract

A method for managing error recovery data in a dispersed storage network begins with a storage network processing module receiving a write request for an encoded data slice of a set of encoded data slices, where data is dispersed in accordance with dispersed error encoding parameters to produce a set of encoded data slices. The method continues with the storage network processing module generating parity data for the encoded data slice and sending the encoded data slice to a first storage unit of a set of storage units. Finally, the method continues with the storage network processing module sending the parity data for the encoded data slice to a second storage unit of a set of storage units.

Claims (71)

1 . A method comprises:

receiving, by a storage network processing module, a write request for an encoded data slice of a set of encoded data slices, wherein data is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices;

generating, by the storage network processing module, parity data for the encoded data slice;

sending, by the storage network processing module, the encoded data slice to a first storage unit of a set of storage units; and

sending, by the storage network processing module, the parity data for the encoded data slice to a second storage unit of the set of storage units.

2 . The method of claim 1 , further comprises:

receiving, by a storage network processing module, a write update request for the encoded data slice;

updating, by the storage network processing module, the encoded data slice to produce an updated encoded data slice;

generating, by the storage network processing module, parity data for the updated encoded data slice; and

sending, by the storage network processing module, the parity data for the updated encoded data slice to a third storage unit of a set of storage units.

3 . The method of claim 1 , further comprises:

receiving, by a storage network processing module, a write update request for the encoded data slice;

updating, by the storage network processing module, the encoded data slice to produce an updated encoded data slice;

generating, by the storage network processing module, delta parity data for the updated encoded data slice; and

sending, by the storage network processing module, the parity data for the updated encoded data slice to a third storage unit of a set of storage units.

4 . The method of claim 1 , further comprising:

receiving, by the storage network processing module, a write request for another encoded data slice of the set of encoded data slices;

generating, by the storage network processing module, parity data for the another encoded data slice;

transmitting, by the storage network processing module, the another encoded data slice to a third storage unit of the set of storage units; and

transmitting, by the storage network processing module, the parity data for the another encoded data slice to a fourth storage unit of the set of storage units.

5 . The method of claim 1 , further comprising:

updating, by the storage network processing module, parity information of an encoded data slice of at least one other encoded data slice of the set of encoded data slices, wherein the updating is based on a corresponding one parity data to produce an encoded data slice that includes updated parity data.

6 . The method of claim 1 , wherein data is segmented into a plurality of data segments before the data is dispersed error encoded, wherein each data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices.

7 . The method of claim 1 , further comprises:

receiving, by a storage network processing module, delta parity data for the encoded data slice;

retrieving, by the storage network processing module, the parity data for the encoded data slice;

generating, by the storage network processing module, based on the delta parity data and the parity data, updated parity data for the encoded data slice; and

sending, by the storage network processing module, the parity data for the updated encoded data slice to a third storage unit of a set of storage units.

8 . A method comprises:

receiving, by a storage network processing module, a write request for an encoded data slice of a set of encoded data slices, wherein data is encoded in accordance with a dispersed storage error coding function to produce a set of encoded data slices;

generating, by the storage network processing module, a parity slice for each encoded data slice of the set of encoded data slices to produce a plurality of parity slices;

transmitting, by the storage network processing module, a write threshold number of encoded data slices of the set of encoded data slices to a first set of storage units; and

transmitting, by the storage network processing module, the plurality of parity slices to a second set of storage units.

9 . The method of claim 8 , further comprises:

receiving, by the storage network processing module, a write update request for an encoded data slice of the set of encoded data slices;

updating, by the storage network processing module, the encoded data slice to produce an updated encoded data slice;

generating, by the storage network processing module, an parity slice for the updated encoded data slice; and

sending, by the storage network processing module, the parity slice for the updated encoded data slice to a third set of storage units.

10 . The method of claim 8 , further comprises:

receiving, by the storage network processing module, a write update request for an encoded data slice of the set of encoded data slices;

updating, by the storage network processing module, the encoded data slice to produce an updated encoded data slice;

generating, by the storage network processing module, a delta parity slice for the updated encoded data slice; and

sending, by the storage network processing module, the delta parity slice for the updated encoded data slice to a third set of storage units.

11 . The method of claim 8 , further comprising:

updating, by the storage network processing module, a parity slice of an associated encoded data slice of at least one other encoded data slice of the set of encoded data slices, wherein the updating is based on a corresponding one parity slice to produce an encoded data slice that includes updated parity data.

12 . The method of claim 8 , wherein data is segmented into a plurality of data segments before the data is dispersed error encoded, wherein each data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices.

13 . The method of claim 8 , further comprises:

receiving, by a storage network processing module, delta parity data for an encoded data slice of the set of encoded data slices;

retrieving, by the storage network processing module, the parity slice associated with the encoded data slice;

generating, by the storage network processing module, based on the delta parity data and the parity slice, an updated parity slice for the encoded data slice; and

sending, by the storage network processing module, the updated parity slice for the updated encoded data slice to a third set of storage units.

14 . A method comprises:

receiving, by a storage unit of a storage network, a write request for an parity slice of a plurality of parity slices, wherein data is encoded in accordance with a dispersed storage error coding function to produce a set of encoded data slices, wherein a plurality of parity slices are generated from the set of encoded data slices;

storing, by the storage unit, the parity slice in a memory unit associated with the storage unit;

receiving, by the storage unit, an updated parity slice for the encoded data parity slice; and

replacing, by the storage unit, the parity slice in the memory unit with the updated encoded data parity slice.

15 . The method of claim 14 , further comprises:

receiving, by the storage unit, delta parity data for the parity slice

retrieving, by the storage unit, the parity slice;

generating, by the storage unit, based on the delta parity data and the parity slice, an updated parity slice for the encoded data slice; and

storing, by the storage unit, the parity slice in another memory unit associated with the storage unit.

16 . The method of claim 14 , further comprises:

receiving, by the storage unit, a write update request for an encoded data slice associated with the parity slice;

generating, by the storage unit, an updated parity slice for the updated encoded data slice; and

storing, by the storage unit, the updated parity slice in another memory unit associated with the storage unit.

17 . The method of claim 14 , further comprises:

receiving, by the storage unit, delta parity data for the parity slice;

retrieving the parity slice;

generating, by the storage unit, based on the delta parity data and the parity slice, an updated parity slice; and

storing, by the storage unit, the updated parity slice in another memory unit associated with the storage unit.

18 . The method of claim 14 , wherein data is segmented into a plurality of data segments before the data is dispersed error encoded, wherein each data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2022
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 061043/0900 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2022
From: DHUSE, GREG R.; RESCH, JASON K.; LEGGETTE, WESLEY B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060682/0099 →