Distributed storage network memory access based on memory state
First Claim
1. A method for execution by a distributed storage (DS) unit of a distributed storage network, the method comprising:
- maintaining memory states of a plurality of memories of the DS unit, wherein a memory of the plurality of memories is in a write only state, a read state, or a write with read priority state; and
receiving a first request regarding a first data slice;
determining a first memory of the plurality of memories associated with the first data slice;
determining the memory state of the first memory from the memory states of the plurality of memories;
when the memory state of the first memory is the write only state, the first request is a read request, and the DS unit determines to process the first request;
reconstructing the first data slice from corresponding parity data stored in a parity memory of the DS unit and one or more corresponding data slices stored in one or more other memories of the plurality of memories that are in the read state of the write with read priority state; and
outputting the reconstructed encoded data slice in response to the first requestwhen the memory state of the first memory is write with read priority and the first request is the read request;
pausing write requests to the first memory upon receiving the first request to retrieve the first data slice;
retrieving the first data slice from the first memory; and
outputting the retrieved first data slice.
5 Assignments
0 Petitions
Accused Products
Abstract
A distributed storage unit determines how to handle a read or write request for a data slice based on a state of the memory the data slice is to be read from or written to. When receiving a request to retrieve a data slice, the distributed storage unit, determines a state of the memory in which the data slice is stored. Based on the memory state, one of multiple different methods for obtaining the data slice is selected. The methods include, among others, a direct read from the memory, and reconstructing the data slice using other memories and parity values. In response to a write request, the distributed storage unit can determine whether to use the currently selected memory for writing, or rotate the memory used for writing, based on a state of the memory.
-
Citations
14 Claims
-
1. A method for execution by a distributed storage (DS) unit of a distributed storage network, the method comprising:
-
maintaining memory states of a plurality of memories of the DS unit, wherein a memory of the plurality of memories is in a write only state, a read state, or a write with read priority state; and receiving a first request regarding a first data slice; determining a first memory of the plurality of memories associated with the first data slice; determining the memory state of the first memory from the memory states of the plurality of memories; when the memory state of the first memory is the write only state, the first request is a read request, and the DS unit determines to process the first request; reconstructing the first data slice from corresponding parity data stored in a parity memory of the DS unit and one or more corresponding data slices stored in one or more other memories of the plurality of memories that are in the read state of the write with read priority state; and outputting the reconstructed encoded data slice in response to the first request when the memory state of the first memory is write with read priority and the first request is the read request; pausing write requests to the first memory upon receiving the first request to retrieve the first data slice; retrieving the first data slice from the first memory; and outputting the retrieved first data slice. - View Dependent Claims (2, 3, 4)
-
-
5. A distributed storage unit comprising:
-
a plurality of memories operable for storing encoded data slices; one or more parity memories operable for storing parity data of two or more encoded data slices stored in two or more memories of the plurality of memories; a storage unit control module operable to; receive a request to retrieve a stored encoded data slice; determine a memory of the plurality of memories storing the stored encoded data slice determine a memory state of the memory; when the memory state is a write only memory state; retrieve corresponding parity data from the one or more parity memories; retrieve one or more corresponding encoded data slices of the two or more encoded data slices from the two or more memories; reconstruct the stored encoded data slice from the corresponding parity data and the one or more corresponding encoded data slices; and output the reconstructed encoded data slice in response to the request when the memory state is write with read priority; pause write requests upon receiving the request to retrieve the stored encoded data slice; retrieve the stored encoded data slice from the memory; and output the retrieved encoded data slice. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A distributed storage unit comprising:
-
a plurality of memories operable for storing encoded data slices; one or more parity memories operable for storing parity data of two or more encoded data slices stored in two or more memories of the plurality of memories; a storage unit control module operable to; receive a request to write an encoded data slice; select one of the plurality of memories as a primary memory to store the encoded data slice; set a state of the selected one of the plurality of memories to a write only memory state of the primary memory and states of other memories of the plurality of memories are to a read only state or a write with read priority state; store parity information associated with the encoded data slice in one of the one or more parity memories; store the encoded data slice in the primary memory; and determine when to rotate the primary memory from the selected one of the plurality of memories to another one of the plurality of memories. - View Dependent Claims (12, 13, 14)
-
Specification