Handling data slice revisions in a dispersed storage network
First Claim
1. A method for execution by a storage unit of a dispersed storage network (DSN) that includes a processor, the method comprises:
- receiving, via a network, a data slice for storage;
writing the data slice by generating a first bin that includes the data slice and storing the first bin in a first location of a memory device of the storage unit;
generating an original bin pointer associated with the data slice that includes a reference to the first location;
receiving, via the network, a revision of the data slice;
writing the revision of the data slice by generating a second bin that includes the revision of the data slice and storing the second bin in a second location of the memory device, wherein the second bin is a revised version of the first bin;
generating a modified bin pointer by editing the original bin pointer to include a reference to the second location;
generating a back pointer associated with the revision of the data slice that references the first location in response to commencing writing of the revision of the data slice; and
deleting the back pointer in response to determining that the revision of the data slice has reached a finalized write stage;
wherein the original bin pointer is stored in a random access memory (RAM) of the storage unit, and wherein the back pointer is generated by retrieving the original bin pointer from RAM; and
wherein the back pointer is generated in conjunction with generating the modified bin pointer, wherein the modified bin pointer includes the back pointer, and wherein the back pointer is deleted from the modified bin pointer in response to determining that the revision of the data slice has reached the finalized write stage.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for execution by a storage unit of a dispersed storage network (DSN) includes receiving a data slice for storage. A first bin that includes the data slice is generated and stored in a first location of a memory device of the storage unit, and a bin pointer that includes a reference to the first location is generated. A revision of the data slice is later received, and a second bin that includes the revised data slice is generated and stored in a second location of the memory device. A modified bin pointer is generated by editing the bin pointer to include a reference to the second location. A back pointer that references the first location is generated in response to commencing writing of the revised data slice. The back pointer is deleted in response to determining that the revised data slice has reached a finalized write stage.
-
Citations
18 Claims
-
1. A method for execution by a storage unit of a dispersed storage network (DSN) that includes a processor, the method comprises:
-
receiving, via a network, a data slice for storage; writing the data slice by generating a first bin that includes the data slice and storing the first bin in a first location of a memory device of the storage unit; generating an original bin pointer associated with the data slice that includes a reference to the first location; receiving, via the network, a revision of the data slice; writing the revision of the data slice by generating a second bin that includes the revision of the data slice and storing the second bin in a second location of the memory device, wherein the second bin is a revised version of the first bin; generating a modified bin pointer by editing the original bin pointer to include a reference to the second location; generating a back pointer associated with the revision of the data slice that references the first location in response to commencing writing of the revision of the data slice; and deleting the back pointer in response to determining that the revision of the data slice has reached a finalized write stage; wherein the original bin pointer is stored in a random access memory (RAM) of the storage unit, and wherein the back pointer is generated by retrieving the original bin pointer from RAM; and wherein the back pointer is generated in conjunction with generating the modified bin pointer, wherein the modified bin pointer includes the back pointer, and wherein the back pointer is deleted from the modified bin pointer in response to determining that the revision of the data slice has reached the finalized write stage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A processing system of a storage unit of a dispersed storage network (DSN) comprises:
-
at least one processor; a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to; receive, via a network, a data slice for storage; write the data slice by generating a first bin that includes the data slice and storing the first bin in a first location of a memory device of the storage unit; generate an original bin pointer associated with the data slice that includes a reference to the first location; receive, via the network, a revision of the data slice; write the revision of the data slice by generating a second bin that includes the revision of the data slice and storing the second bin in a second location of the memory device, wherein the second bin is a revised version of the first bin; generate a modified bin pointer by editing the original bin pointer to include a reference to the second location; generate a back pointer associated with the revision of the data slice that references the first location in response to commencing writing of the revision of the data slice; and delete the back pointer in response to determining that the revision of the data slice has reached a finalized write stage; wherein the original bin pointer is stored in a random access memory (RAM) of the storage unit, and wherein the back pointer is generated by retrieving the original bin pointer from RAM; and wherein the back pointer is generated in conjunction with generating the modified bin pointer, wherein the modified bin pointer includes the back pointer, and wherein the back pointer is deleted from the modified bin pointer in response to determining that the revision of the data slice has reached the finalized write stage. - View Dependent Claims (17)
-
-
18. A non-transitory computer readable storage medium comprises:
-
at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to; receive, via a network, a data slice for storage; write the data slice by generating a first bin that includes the data slice and storing the first bin in a first location of a memory device; generate an original bin pointer associated with the data slice that includes a reference to the first location; receive, via the network, a revision of the data slice; write the revision of the data slice by generating a second bin that includes the revision of the data slice and storing the second bin in a second location of the memory device, wherein the second bin is a revised version of the first bin; generate a modified bin pointer by editing the original bin pointer to include a reference to the second location; generate a back pointer associated with the revision of the data slice that references the first location in response to commencing writing of the revision of the data slice; and delete the back pointer in response to determining that the revision of the data slice has reached a finalized write stage; wherein the original bin pointer is stored in a random access memory (RAM), and wherein the back pointer is generated by retrieving the original bin pointer from RAM; and wherein the back pointer is generated in conjunction with generating the modified bin pointer, wherein the modified bin pointer includes the back pointer, and wherein the back pointer is deleted from the modified bin pointer in response to determining that the revision of the data slice has reached the finalized write stage.
-
Specification