Accessing an encoded data slice in a dispersed storage network
A method for execution by a dispersed storage and task (DST) execution unit includes receiving a slice access request for execution by the DST execution unit. At least one ordered codec algorithm is identified. The slice access request is executed by utilizing the at least one ordered codec algorithm. A slice access response indicating an outcome of the slice access request is generated by the DST execution unit.
1. A method for execution by a dispersed storage and task (DST) execution unit that includes a processor, the method comprises:
receiving a slice access request for execution by the DST execution unit, wherein the slice access request includes a read request to read a first, pre-encoded data slice from a memory of the DST execution unit and wherein the slice access request includes a write request to write a second data slice to a memory of the DST execution unit;
identifying a plurality of ordered codec algorithms by reproducing a codec algorithm identifier associated with the first pre-encoded data slice, wherein the plurality of ordered codec algorithms is identified based on at least one of: a storage unit capability, a storage set capability, a request from another storage unit, a data type, a slice size, a performance requirement, a security requirement, or system registry information;
executing the slice access request by retrieving the first pre-encoded data slice from the memory and by performing the plurality of ordered codec algorithms in a reverse order to generate a decoded data slice from the first pre-encoded data slice, wherein the slice access request is further executed by performing the plurality of ordered codec algorithms in a forward order on the second data slice to generate an encoded data slice for storage in the memory of the DST execution unit; and
generating a slice access response indicating an outcome of the slice access request.
2. The method of claim 1 , wherein the plurality of ordered codec algorithms is identified based on at least one of: a slice name or a codec algorithm identifier associated with the slice access request.
3. The method of claim 1 , wherein the slice access response includes the decoded data slice.
4. A processing system of a dispersed storage and task (DST) execution unit 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 a slice access request for execution by the DST execution unit, wherein the slice access request includes a read request to read a first, pre-encoded data slice from a memory of the DST execution unit and wherein the slice access request includes a write request to write a second data slice to a memory of the DST execution unit;
identify a plurality of ordered codec algorithms by reproducing a codec algorithm identifier associated with the first pre-encoded data slice, wherein the plurality of ordered codec algorithms is identified based on at least one of: a storage unit capability, a storage set capability, a request from another storage unit, a data type, a slice size, a performance requirement, a security requirement, or system registry information;
execute the slice access request by retrieving the first pre-encoded data slice from the memory and by performing the plurality of ordered codec algorithms in a reverse order to generate a decoded data slice from the first pre-encoded data slice, wherein the slice access request is further executed by performing the plurality of ordered codec algorithms in a forward order on the second data slice to generate an encoded data slice for storage in the memory of the DST execution unit; and
generate a slice access response indicating an outcome of the slice access request.
5. The processing system of claim 4 , wherein the plurality of ordered codec algorithms is identified based on at least one of: a slice name or a codec algorithm identifier associated with the slice access request.
6. The processing system of claim 4 , wherein the slice access response includes the decoded data slice.
7. 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 a slice access request for execution by a DST execution unit, wherein the slice access request includes a read request to read a first, pre-encoded data slice from a memory of the DST execution unit and wherein the slice access request includes a write request to write a second data slice to a memory of the DST execution unit;
identify a plurality of ordered codec algorithms by reproducing a codec algorithm identifier associated with the first pre-encoded data slice, wherein the plurality of ordered codec algorithms is identified based on at least one of: a storage unit capability, a storage set capability, a request from another storage unit, a data type, a slice size, a performance requirement, a security requirement, or system registry information;
execute the slice access request by retrieving the first pre-encoded data slice from the memory and by performing the plurality of ordered codec algorithms in a reverse order to generate a decoded data slice from the first pre-encoded data slice, wherein the slice access request is further executed by performing the plurality of ordered codec algorithms in a forward order on the second data slice to generate an encoded data slice for storage in the memory of the DST execution unit; and
generate a slice access response indicating an outcome of the slice access request.