IP Library Granted Patent US 10,067,998
Granted Patent B2
US 10,067,998 · App. 15/418,909 · Granted Sep 4, 2018

Distributed sync list

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,067,998
App. No.
15/418,909
Granted
Sep 4, 2018
Kind
B2
Abstract

A dispersed storage network (DSN) includes a processing unit and multiple storage unit sets. A first storage unit set and a second storage unit set receive, sets of encoded data slices generated, by the DS processing unit, for storage. The encoded data slices include dispersal-encoded portions of one or more data objects. The first and second storage unit sets are used to mirror storage of the one or more data objects. The first storage unit set stores data slices unsynchronized to the second storage unit set, and generates a record identifying the unsynchronized data slices. Later, the storage unit detects that the availability of at least one storage unit of the second storage unit set, and in response facilitates copying of particular unsynchronized data slices to corresponding storage units of the second storage unit set. After copying, the record is updated to indicate the synchronization.

Claims (64)

1. A method for use in a dispersed storage network (DSN) including a dispersed storage (DS) processing unit and a plurality of storage unit sets, the method comprising:

receiving, by a first storage unit set and a second storage unit set, a plurality of sets of encoded data slices generated by the DS processing unit for storage, the plurality of sets of encoded data slices including dispersal-encoded portions of one or more data objects, wherein the first and second storage unit sets are utilized to mirror storage of the one or more data objects;

identifying, by storage units of the first storage unit set, stored encoded data slices that are unsynchronized with the second storage unit set as unsynchronized data slices;

generating, by the storage units of the first storage unit set, a record identifying the unsynchronized data slices;

detecting, by the storage units of the first storage unit set, availability of at least one storage unit of the second storage unit set;

in response to the detecting, facilitating, by the storage units of the first storage unit set, copying of particular unsynchronized data slices to corresponding storage units of the second storage unit set; and

in response to completion of the copying, updating the record, by the storage units of the first storage unit set, to indicate that the particular unsynchronized data slices have been synchronized.

2. The method of claim 1 , wherein the identifying comprises:

interpreting an availability indicator associated with the second storage unit set.

3. The method of claim 2 , wherein the interpreting comprises:

determining the second storage unit set is unsynchronized when a time frame expires without the first storage unit set receiving a synchronization indicator.

4. The method of claim 1 , further comprising:

distributing at least a portion of a record identifying unsynchronized data slices associated with a particular storage unit to a plurality of other storage units.

5. The method of claim 1 , further comprising:

maintaining a first portion of the record at the DS processing unit; and

maintaining second portions of the record at individual storage units.

6. The method of claim 5 , wherein the facilitating includes:

initiating synchronization of the unsynchronized data slices by particular individual storage units, based on particular second portions of the record maintained at the individual storage units.

7. The method of claim 1 , wherein the generating includes generating a list of synchronized data objects.

8. The method of claim 7 , further comprising:

in response to completion of the copying, updating the list of synchronized data objects.

9. A dispersed storage network (DSN) memory comprising:

a plurality of storage unit sets including a first storage unit set and a second storage unit set, the first and second storage unit sets configured to receive and store a plurality of sets of encoded data slices, the encoded data slices including dispersal-encoded portions of one or more data objects, wherein the first and second storage unit sets are utilized to mirror storage of the one or more data objects;

a processor;

memory coupled to the processor;

a communications interface coupled to the processor and configured to communicate with the plurality of storage unit sets via a communications network;

individual storage units included in the first storage unit set configured to:

identify, as unsynchronized data slices, stored encoded data slices that are unsynchronized with the second storage unit set;

generate a record identifying the unsynchronized data slices;

detect availability of at least one storage unit of the second storage unit set;

in response to detecting availability of the at least one storage unit of the second storage unit set, facilitate copying of particular unsynchronized data slices to corresponding storage units of the second storage unit set; and

in response to completion of the copying, update the record to indicate that the particular unsynchronized data slices have been synchronized.

10. The dispersed storage network (DSN) memory of claim 9 , wherein the individual storage units are further configured to:

interpret an availability indicator associated with the second storage unit set.

11. The dispersed storage network (DSN) memory of claim 10 , wherein the individual storage units are further configured to:

determine the second storage unit set is unsynchronized when a time frame expires without the first storage unit set receiving a synchronization indicator.

12. The dispersed storage network (DSN) memory of claim 9 , wherein the individual storage units are further configured to:

distribute at least a portion of a record identifying unsynchronized data slices associated with a particular storage unit to a plurality of other storage units.

13. The dispersed storage network (DSN) memory of claim 9 , wherein the individual storage units are further configured to:

maintain particular portions of the record at individual storage units.

14. The dispersed storage network (DSN) memory of claim 13 , wherein at least one individual storage unit is further configured to:

initiate synchronization of the unsynchronized data slices, based on a particular portion of the record maintained at the at least one individual storage unit.

15. The dispersed storage network (DSN) memory of claim 9 , wherein the individual storage units are further configured to:

generate a list of synchronized data objects; and

in response to completion of the copying, updating the list of synchronized data objects.

16. A dispersed storage network (DSN) comprising:

a dispersed storage (DS) processing unit implemented using a computing core, and configured to generate a plurality of sets of encoded data slices for dispersed storage, the plurality of sets of encoded data slices including dispersal-encoded portions of one or more data objects,

a plurality of storage unit sets coupled to the DS processing unit via a communications network, the plurality of storage unit sets configured to receive the plurality of sets of encoded data slices, and provide mirror storage of the one or more data objects;

individual storage units included in a first storage unit set configured to:

identify, as unsynchronized data slices, stored encoded data slices that are unsynchronized with a second storage unit set;

generate a record identifying the unsynchronized data slices;

detect availability of at least one storage unit of the second storage unit set;

in response to detecting availability of the at least one storage unit of the second storage unit set, facilitate copying of particular unsynchronized data slices to corresponding storage units of the second storage unit set; and

in response to completion of the copying, update the record to indicate that the particular unsynchronized data slices have been synchronized.

17. The dispersed storage network (DSN) of claim 16 , wherein the individual storage units are further configured to:

interpret an availability indicator associated with the second storage unit set.

18. The dispersed storage network (DSN) of claim 16 , wherein the individual storage units are further configured to:

distribute at least a portion of a record identifying unsynchronized data slices associated with a particular storage unit to a plurality of other storage units.

19. The dispersed storage network (DSN) of claim 16 , wherein the individual storage units are further configured to:

maintain particular portions of the record at individual storage units; and

at least one individual storage unit is further configured to initiate synchronization of the unsynchronized data slices based on particular portions of the record maintained at the at least one individual storage unit.

20. The dispersed storage network (DSN) of claim 16 , wherein the individual storage units are further configured to:

generate a list of synchronized data objects; and

in response to completion of the copying, updating the list of synchronized data objects.

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 Jan 30, 2017
From: ABHIJEET, KUMAR; BAPTIST, ANDREW D.; KAZI, ASIMUDDIN; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041119/0195 →
Cited By (1)
US 12,189,501