SELECTIVELY SETTING DSN SLICE DATA IN MOTION WITHIN DSN MEMORY BASED ON CONDITIONS AT THE FINAL DATA REST POINTS
A method for use in a distributed storage network (DSN) including multiple storage units and a distributed storage (DS) processing unit includes determining, by the DS processing unit, that at least a first storage unit is associated with a status level that fails to satisfy a threshold value associated with a first access request of a set of access requests. The DS processing unit also determines that at least a second storage unit is associated with a status level that satisfies the threshold value. The DS processing unit transmits the first access request to a performance unit, the performance unit configured to facilitate execution of alternative processing of the first access request, but transmits the second access request from the DS processing unit to the at least a second storage unit for standard processing.
1 . A method for use in a distributed storage network (DSN) including a plurality of storage units and a distributed storage (DS) processing unit, the method comprising:
determining, by the DS processing unit, that:
at least a first storage unit of the one or more of the plurality of storage units is associated with a status level that fails to satisfy a threshold value associated with a first access request of a set of access requests;
at least a second storage unit of the one or more of the plurality of storage units is associated with a status level that satisfies the threshold value associated with a second access request of the set of access requests;
transmitting the first access request from the DS processing unit to a performance unit, the performance unit including a processor and a local memory configured to facilitate execution of alternative processing of the first access request; and
transmitting the second access request from the DS processing unit to the at least a second storage unit for standard processing of the second access request.
2 . The method of claim 1 , further comprising:
performing the alternative processing of the first access request by the performance unit, wherein the alternative processing includes temporarily storing a received data slice associated with the first access request in the local memory of the performance unit when the first access request is a write request.
3 . The method of claim 2 , wherein the alternative processing includes issuing a forwarded access request to the at least a first storage unit, wherein the forwarded access request includes the received data slice temporarily stored in the local memory.
4 . The method of claim 2 , wherein the alternative processing includes:
issuing a composite access response from the performance unit to the DS processing unit, the composite access response including information associated with the at least a first storage unit and the at least a second storage unit.
5 . The method of claim 1 , wherein the alternative approach includes:
performing the alternative processing of the first access request by the performance unit, wherein the alternative processing includes retrieving a temporarily stored data slice from the local memory of the performance unit when the first access request is a read request.
6 . The method of claim 5 , further comprising:
sending a forwarded first access request from the performance unit to the at least a first storage unit; and
receiving, at the performance unit, an access response from the at least a first storage unit, wherein the access response includes a data slice to be stored in the local memory of the performance unit as the temporarily stored data slice.
7 . The method of claim 5 , further comprising:
issuing, from the performance unit, a proxy access response to the DS processing unit, wherein the proxy access response includes the temporarily stored data slice.
8 . A non-transitory computer readable medium tangibly embodying a program of computer executable instructions, the program of computer executable instructions including:
at least one instruction to determine, by a distributed storage (DS) processing unit included in a distributed storage network (DSN), that:
at least a first storage unit of a plurality of storage units included in the DSN is associated with a status level that fails to satisfy a performance threshold value associated with a first access request;
at least a second storage unit of the plurality of storage units is associated with a status level that satisfies the performance threshold value associated with a second access request;
at least one instruction to transmit the first access request from the DS processing unit to a performance unit included in the DSN, the performance unit including a processor and a local memory, and configured to facilitate execution of alternative processing of the first access request; and
at least one instruction to transmit the second access request from the DS processing unit to the at least a second storage unit for standard processing of the second access request.
9 . The non-transitory computer readable medium of claim 8 , wherein, when the first access request is a write request, the first access request includes a data slice to be temporarily stored by the performance unit in the local memory.
10 . The non-transitory computer readable medium of claim 8 , wherein the program of computer executable instructions includes:
at least one instruction to receive a proxy write response from the performance unit, the proxy write response including information associated with the at least a first storage unit.
11 . The non-transitory computer readable medium of claim 8 , wherein, when the first access request is a read request, the first access request causes the performance unit to retrieve a data slice from the at least a first storage unit.
12 . The non-transitory computer readable medium of claim 8 , wherein, when the first access request is a read request, the first access request causes the performance unit to retrieve a temporarily stored data slice from the local memory of the performance unit.
13 . The non-transitory computer readable medium of claim 12 , further comprising:
at least one instruction to receive a proxy read response from the performance unit, the proxy read response including, the temporarily stored data slice.
14 . The non-transitory computer readable medium of claim 8 , further comprising:
at least one instruction to transmit read and write access requests exclusively to the performance unit for each of a plurality of underperforming storage units.
15 . A distributed storage network (DSN) comprising:
a plurality of storage units;
a distributed storage (DS) processing unit coupled to the plurality of storage units, the DS processing unit configured to:
transmit standard access requests from the DS processing unit to first storage units of the plurality of storage units, wherein the first storage units are associated with status levels satisfying a threshold performance value;
transmit alternative access requests from the DS processing unit to a proxy for second storage units, wherein the second storage units are associated with status levels failing to satisfy the threshold performance value;
a performance unit coupled to the plurality of storage units and to the DS processing unit, the performance unit configured to act as a proxy between the DS processing unit and second storage units of the plurality of storage units; and
the DS processing unit further configured to transmit alternative access requests from the DS processing unit to the performance unit, the performance unit including a processor and a local memory configured to facilitate execution of alternative processing of the alternative access requests.
16 . The DSN of claim 15 , wherein the DS processing unit is further configured to:
determine which of the plurality of storage units are first storage units and which of the plurality of storage units are second storage units.
17 . The DSN of claim 16 , wherein the DS processing unit is further configured to:
transmit read and write access requests intended for the second storage units to the performance unit.
18 . The DSN of claim 15 , wherein the performance unit is further configured to:
temporarily store a received data slice associated with the alternative access request in a local memory of the performance unit when the alternative access request is a write request;
issue forwarded access requests to the second storage units, wherein the forwarded access requests includes the received data slice temporarily stored in the local memory; and
issue a proxy access response regarding the second storage units to the DS processing unit.
19 . The DSN of claim 15 , wherein the performance unit is further configured to:
retrieve a temporarily stored data slice from the local memory of the performance unit when an alternative access request is a read request; and
issue a proxy access response to the DS processing unit, wherein the proxy access response includes the temporarily stored data slice.
20 . The DSN of claim 15 , wherein the performance unit is further configured to:
obtain a data slice from at least one of the second storage units when an alternative access request is a read request.