IP Library Granted Patent US 9,354,974
Granted Patent B2
US 9,354,974 · App. 14/792,577 · Granted May 31, 2016

Dispersed storage write process

Inventors: Bart Clifone (Chicago, IL); Andrew Baptist (Mt. Pleasant, WI); Greg Dhuse (Chicago, IL); Ilya Volvovski (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machines Corporation
G06F11/1092G06F3/0607G06F11/1076H04L67/1097G06F2211/1028
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 9,354,974
App. No.
14/792,577
Granted
May 31, 2016
Kind
B2
Abstract

A method includes issuing write commands to DS storage units regarding encoded data slices. A write command causes a storage unit to store an encoded data slice, but not allow access to the stored encoded data slices. The method includes receiving write acknowledgements from at least some of DS storage units to produce received write acknowledgements. The method includes, when a write threshold number of the received write acknowledgements have been received within a given time frame, issuing commit commands to the DS storage units. A commit command causes the storage unit to allow access to the stored encoded data slice. The method includes, when the write threshold number of the received write acknowledgements have not been received within the given time frame, issuing rollback commands to the DS units. A rollback command causes the storage unit to continue to not allow access to the stored encoded data slice.

Claims (42)

1. A method for execution by a dispersed storage (DS) processing module, the method comprises:

issuing write commands to DS storage units regarding a set of encoded data slices, wherein a data segment of data was dispersed storage error encoded to produce the set of encoded data slices, and wherein a write command of the write commands causes a storage unit of the storage units to store an encoded data slice of the set of encoded data slices, but not allow access to the stored encoded data slices;

receiving write acknowledgements from at least some of DS storage units to produce received write acknowledgements;

when a write threshold number of the received write acknowledgements have been received within a given time frame, issuing commit commands to the DS storage units, wherein a commit command of the commit commands causes the storage unit to allow access to the stored encoded data slice; and

when the write threshold number of the received write acknowledgements have not been received within the given time frame, issuing rollback commands to the DS units, wherein a rollback command of the rollback commands causes the storage unit to continue to not allow access to the stored encoded data slice.

2. The method of claim 1 further comprises:

the rollback command causing the storage unit to continue to not allow access to the stored encoded data slice by instructing the storage unit to delete the stored encoded data slice.

3. The method of claim 1 further comprises:

the commit command further causing the storage unit to not allow access to an old version of the encoded data slice.

4. The method of claim 1 further comprises:

receiving commit acknowledgements from at least some of the DS storage units within a second given time period; and

when a write threshold number of the received commit acknowledgements have been received, issuing finalize commands to the DS storage units, wherein a finalize command of the finalize commands causes the storage unit to delete a stored old version of the encoded data slice.

5. The method of claim 1 further comprises:

receiving commit acknowledgements from at least some of the DS storage units within a second given time period; and

when a write threshold number of the received commit acknowledgements have not been received, issuing undo commands to the DS storage units, wherein an undo command of the undo commands causes the storage unit to delete the stored encoded data slice.

6. The method of claim 5 further comprises:

the undo command further causing the storage unit to allow access to an old version of the encoded data slice.

7. The method of claim 1 , wherein the write command comprises:

a write operation code that includes the encoded data slice, a write instruction and a dispersed storage network (DSN) address of the encoded data slice.

8. A non-transitory computer readable memory device comprises:

a first memory section that stores operational instructions that, when read by a computing device, causes the computing device to:

issue write commands to DS storage units regarding a set of encoded data slices, wherein a data segment of data was dispersed storage error encoded to produce the set of encoded data slices, and wherein a write command of the write commands causes a storage unit of the storage units to store an encoded data slice of the set of encoded data slices, but not allow access to the stored encoded data slices;

a second memory section that stores operational instructions that, when read by the computing device, causes the computing device to:

receive write acknowledgements from at least some of DS storage units to produce received write acknowledgements; and

a third memory section that stores operational instructions that, when read by the computing device, causes the computing device to:

when a write threshold number of the received write acknowledgements have been received within a given time frame, issue commit commands to the DS storage units, wherein a commit command of the commit commands causes the storage unit to allow access to the stored encoded data slice; and

when the write threshold number of the received write acknowledgements have not been received within the given time frame, issue rollback commands to the DS units, wherein a rollback command of the rollback commands causes the storage unit to continue to not allow access to the stored encoded data slice.

9. The non-transitory computer readable memory device of claim 8 further comprises:

the rollback command causing the storage unit to continue to not allow access to the stored encoded data slice by instructing the storage unit to delete the stored encoded data slice.

10. The non-transitory computer readable memory device of claim 8 further comprises:

the commit command further causing the storage unit to not allow access to an old version of the encoded data slice.

11. The non-transitory computer readable memory device of claim 8 further comprises:

receiving commit acknowledgements from at least some of the DS storage units within a second given time period; and

when a write threshold number of the received commit acknowledgements have been received, issuing finalize commands to the DS storage units, wherein a finalize command of the finalize commands causes the storage unit to delete a stored old version of the encoded data slice.

12. The non-transitory computer readable memory device of claim 8 further comprises:

a fourth memory section that stores operational instructions that, when read by the computing device, causes the computing device to:

receive commit acknowledgements from at least some of the DS storage units within a second given time period; and

when a write threshold number of the received commit acknowledgements have not been received, issue undo commands to the DS storage units, wherein an undo command of the undo commands causes the storage unit to delete the stored encoded data slice.

13. The non-transitory computer readable memory device of claim 12 further comprises:

the undo command further causing the storage unit to allow access to an old version of the encoded data slice.

14. The non-transitory computer readable memory device of claim 8 , wherein the write command comprises:

a write operation code that includes the encoded data slice, a write instruction and a dispersed storage network (DSN) address of the encoded data slice.

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 Apr 21, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038490/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2016
From: CILFONE, BART; BAPTIST, ANDREW; DHUSE, GREG; VOLVOVSKI, ILYA; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 038124/0588 →
Continuity (9)
Continuation 13863475 · Apr 16, 2013
Continuation 12797025 · Jun 9, 2010
Continuation 13863475 · Apr 16, 2013
Continuation In Part 12080042 · Mar 31, 2008
Continuation In Part 11973542 · Oct 9, 2007
Continuation In Part 11403391 · Apr 13, 2006
Continuation In Part 11241555 · Sep 30, 2005
Provisional Application 61230038 · Jul 30, 2009
Related Publication 20150309877A1 · Oct 29, 2015