Scheduling policy for queues in a non-volatile solid-state storage
First Claim
1. A method for queues in a non-volatile solid-state storage, performed by a storage system, comprising:
- receiving a request for a write operation into one of a plurality of operation queues of a non-volatile solid-state storage;
assigning a sequential address to data of the write operation, according to a progression of sequential addresses assigned to data for write operations; and
selecting, from the plurality of operation queues, the write operation for execution, based on a benefit to the non-volatile solid-state storage, with the write operation for execution having a greater benefit than a further write operation for garbage collection, based on the sequential address of the data of the write operation and an address of data of the further write operation for garbage collection, the sequential address and the address in accordance with the progression.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of applying scheduling policies is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis coupling the storage nodes as a cluster. The method includes receiving operations relating to a non-volatile memory of one of the plurality of storage nodes into a plurality of operation queues. The method includes evaluating each of the operations in the plurality of operation queues as to benefit to the non-volatile solid-state storage according to a plurality of policies. For each channel of a plurality of channels coupling the operation queues to the non-volatile memory, the method includes iterating a selection and an execution of a next operation from the plurality of operation queues, with each next operation having a greater benefit than at least a subset of operations remaining in the operation queues.
-
Citations
20 Claims
-
1. A method for queues in a non-volatile solid-state storage, performed by a storage system, comprising:
-
receiving a request for a write operation into one of a plurality of operation queues of a non-volatile solid-state storage; assigning a sequential address to data of the write operation, according to a progression of sequential addresses assigned to data for write operations; and selecting, from the plurality of operation queues, the write operation for execution, based on a benefit to the non-volatile solid-state storage, with the write operation for execution having a greater benefit than a further write operation for garbage collection, based on the sequential address of the data of the write operation and an address of data of the further write operation for garbage collection, the sequential address and the address in accordance with the progression. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:
-
placing a write operation into one of a plurality of operation queues of a non-volatile solid-state storage; assigning an address to data of the write operation, the address from a sequential, nonrepeating address space and according to a progression of sequential addresses assigned to other data for write operations in the non-volatile solid-state storage; and executing the write operation from one of the plurality of operation queues, based on a benefit to the non-volatile solid-state storage, with the write operation for execution having a greater benefit than a further write operation for garbage collection, based on the sequential address of the data of the write operation and an address of data of a further write operation for garbage collection, the sequential address and the address in accordance with the progression. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A storage system, comprising;
-
non-volatile solid-state storage memory; a plurality of operation queues coupled to the non-volatile solid-state storage memory; and one or more processors configured to place a first write operation into one of the plurality of operation queues of the storage system, configured to assign an address to data of the first write operation, the address being from a sequential nonrepeating address space according to a progression of sequential addresses assigned to other data for write operations in the non-volatile solid-state storage, and configured to select and execute the first write operation from the one of the plurality of operation queues as having greater benefit for the storage system than a second write operation for garbage collection, based on the address assigned to the data of the first write operation and an address of data of the second write operation, the address assigned to the first write operation and the address of the data of the second write operation in accordance with the progression. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification