IP Library Granted Patent US 10,841,376
Granted Patent B2
US 10,841,376 · App. 15/425,128 · Granted Nov 17, 2020

Detection and correction of copy errors in a distributed storage network

Inventor: Andrew George Peake (Chicago, IL)
Assignee: PURE STORAGE, INC.
H04L67/1097G06F3/067G06F3/0608G06F3/0614G06F3/0641G06F3/0644G06F16/2365G06F16/27G06F2003/0695
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,841,376
App. No.
15/425,128
Granted
Nov 17, 2020
Kind
B2
Abstract

A method begins by one or more processing modules of one or more computing devices of a dispersed storage network (DSN) receiving a delete data request for a data object of a set of data objects, where each data object of the set of data objects has substantially identical data to other data objects of the set of data objects and where only one plurality of sets of encoded data slices corresponding to one data object of the set of data objects is stored in memory of the DSN. The method continues with the one or more processing modules determining whether the data object is associated with a data ID and when the data object is associated with a data ID, identifying linking information associated with the data object. Linking information is updated to indicate that the set of data objects includes one fewer copy of the data object and then it is determined whether the Data ID is associated with a link-object and when the Data ID is associated with a link-object the link-object is deleted from the DSN memory.

Claims (76)

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

receiving, via the DSN and via a network interface of a computing device of the one or more computing devices, a delete data request for a data object of a set of data objects, wherein each data object of the set of data objects has substantially identical data to other data objects of the set of data objects and wherein only one plurality of sets of encoded data slices corresponding to one data object of the set of data objects is stored in memory of the DSN;

determining whether the data object is associated with a data identifier (ID);

when the data object is associated with a data ID, identifying, by the one or more computing devices, linking information associated with the data object;

updating the linking information to indicate that the set of data objects includes one fewer copy of the data object;

determining whether the data ID is associated with a link-object; and

when the data ID is associated with a link-object, transmitting a message to one or more DSN elements requesting deletion of the link-object from the DSN memory.

2. The method of claim 1 further comprises:

determining whether additional copies of the data object are stored in memory; and

when additional copies of the data object are not stored in memory, deleting the data object from the DSN memory.

3. The method of claim 1 further comprises:

determining whether additional copies of the data object are stored in memory; and

when additional copies of the data object are not stored in memory, deleting the linking information from the DSN memory.

4. The method of claim 1 further comprises:

executing an operation to determine a number of copies of a data object stored in the DSN memory; and

executing an operation to determine a number of link-objects stored in memory.

5. The method of claim 1 further comprises:

determining whether linking information indicates a higher number of copies of a data object than a number of link objects in memory; and

when linking information indicates a higher number of copies of a data object than the number of link objects in memory, updating the linking information.

6. The method of claim 1 further comprises:

accessing deduplication tracking data for the set of data objects, wherein the deduplication tracking data includes a representation of the substantially identical data, addressing information for the only one plurality of sets of encoded data slices, and linking information that links the set of data objects to the addressing information;

determining whether the data object is the only data object in the set of data objects; and

when the data object is not the only data object in the set of data objects, updating the linking information to delete linking the data object to the addressing information.

7. A dispersed storage (DS) module of a dispersed storage network (DSN), the DS module comprises:

a first module, when operable within a computing device, causes the computing device to:

receive, via the DSN and via a network interface of a computing device, a delete data request for a data object of a set of data objects, wherein each data object of the set of data objects has substantially identical data to other data objects of the set of data objects and wherein only one plurality of sets of encoded data slices corresponding to one data object of the set of data objects is stored in memory of the DSN; and

a second module, when operable within the computing device, causes the computing device to:

determine whether the data object is associated with a data identifier (ID);

when the data object is associated with a data ID, identifying linking information associated with the data object;

update the linking information to indicate that the set of data objects includes one fewer copy of the data object;

determine whether the data ID is associated with a link-object; and

when the data ID is associated with a link-object, delete the link-object from the DSN memory.

8. The DS module of claim 7 further comprises:

the second module, when operable within the computing device, further causes the computing device to:

determine whether additional copies of the data object are stored in memory; and

when additional copies of the data object are not stored in memory, deleting the data object from the DSN memory.

9. The DS module of claim 7 further comprises:

the second module, when operable within the computing device, further causes the computing device to:

determine whether additional copies of the data object are stored in memory; and

when additional copies of the data object are not stored in memory, delete the linking information from the DSN memory.

10. The DS module of claim 7 further comprises:

the second module, when operable within the computing device, further causes the computing device to:

execute an operation to determine a number of copies of a data object stored in the DSN memory; and

execute an operation to determine a number of link-objects stored in memory.

11. The DS module of claim 7 further comprises:

determine whether linking information indicates a higher number of copies of a data object than a number of link objects in memory; and

when linking information indicates a higher number of copies of a data object than the number of link objects in memory, update the linking.

12. The DS module of claim 7 further comprises:

the second module, when operable within the computing device, causes the computing device to:

accessing deduplication tracking data for the set of data objects, wherein the deduplication tracking data includes a representation of the substantially identical data, addressing information for the only one plurality of sets of encoded data slices, and linking information that links the set of data objects to the addressing information;

determining whether the data object is the only data object in the set of data objects; and

when the data object is not the only data object in the set of data objects, updating the linking information to delete linking the data object to the addressing information.

13. A computer readable nontransitory storage medium comprises:

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

receive, via the DSN and via a network interface of a computing device of the one or more computing devices, a delete data request for a data object of a set of data objects, wherein each data object of the set of data objects has substantially identical data to other data objects of the set of data objects and wherein only one plurality of sets of encoded data slices corresponding to one data object of the set of data objects is stored in memory of the DSN;

determine whether the data object is associated with a data identifier (ID);

when the data object is associated with a data ID, identify linking information associated with the data object;

update the linking information to indicate that the set of data objects includes one fewer copy of the data object;

determine whether the data ID is associated with a link-object; and

when the data ID is associated with a link-object, delete the link-object from the DSN memory.

14. The computer readable storage medium of claim 13 further comprises:

determine whether additional copies of the data object are stored in memory; and

when additional copies of the data object are not stored in memory, delete the data object from the DSN memory.

15. The computer readable storage medium of claim 13 further comprises:

determine whether additional copies of the data object are stored in memory; and

when additional copies of the data object are not stored in memory, delete the linking information from the DSN memory.

16. The computer readable storage medium of claim 15 further comprises:

execute an operation to determine a number of copies of a data object stored in the DSN memory; and

execute an operation to determine a number of link-objects stored in memory.

17. The computer readable storage medium of claim 15 further comprises:

determine whether linking information indicates a higher number of copies of a data object than a number of link objects in memory; and

when linking information indicates a higher number of copies of a data object than the number of link objects in memory, update the linking.

18. The computer readable storage medium of claim 13 further comprises:

access deduplication tracking data for the set of data objects, wherein the deduplication tracking data includes a representation of the substantially identical data, addressing information for the only one plurality of sets of encoded data slices, and linking information that links the set of data objects to the addressing information;

determine whether the identified data object is the only data object in the set of data objects; and

when the identified data object is not the only data object in the set of data objects, updating the linking information to delete linking the identified data object to the addressing information.

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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2017
From: PEAKE, ANDREW GEORGE
To: CLEVERSAFE, INC.
Reel/Frame 041181/0920 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2017
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041636/0644 →