Data rebuild on feedback from a queue in a non-volatile solid-state storage
First Claim
1. A method of reading data in a storage system, performed by the storage system, comprising:
- receiving a request to read a bit in a storage memory;
evaluating, using feedback from a plurality of operations queues coupled to the storage memory, a path to the bit in the storage memory, responsive to the request to read the bit; and
determining a value of the bit via an alternate path to the storage memory, responsive to the evaluating, the determining comprising reading at least one other bit via the alternate path, in the storage memory.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage cluster is provided. The storage cluster includes a plurality of storage nodes, each of the plurality of storage nodes having nonvolatile solid-state memory and a plurality of operations queues coupled to the solid-state memory. The plurality of storage nodes is configured to distribute the user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can access the user data with a failure of two of the plurality of storage nodes. Each of the plurality of storage nodes is configured to determine whether a read of 1 or more bits in the solid-state memory via a first path is within a latency budget. The plurality of storage nodes is configured to perform a read of user data or metadata via a second path, responsive to a determination that the read of the bit via the first path is not within the latency budget.
263 Citations
17 Claims
-
1. A method of reading data in a storage system, performed by the storage system, comprising:
-
receiving a request to read a bit in a storage memory; evaluating, using feedback from a plurality of operations queues coupled to the storage memory, a path to the bit in the storage memory, responsive to the request to read the bit; and determining a value of the bit via an alternate path to the storage memory, responsive to the evaluating, the determining comprising reading at least one other bit via the alternate path, in the storage memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage system, comprising:
-
storage memory; a plurality of operations queues coupled to the storage memory; at least one processor, configured to use feedback from the plurality of operations queues to evaluate a path to a bit in the storage memory, responsive to a request to read the bit; and the at least one processor further configured to determine a value of the bit via an alternate path to the storage memory, responsive to a result of evaluating the path to the bit in the storage memory, and the at least one processor configured to reconstruct or rebuild the bit. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A storage system with solid-state storage memory, comprising:
-
a solid-state storage memory; a plurality of operations queues, coupled via channels to the storage memory; one or more processors configured to evaluate, using feedback from the plurality of operations queues, a path for reading a bit in the solid-state storage memory, in response to a request for a data or metadata read; and the one or more processors configured to decide whether to read the bit via the path or via an alternate path, based on a result of such evaluation, wherein the plurality of operations queues are configured to provide, as feedback to the one or more processors, information regarding at least one of;
priority of operations in the operations queues, weighting of the operations, data read operations, data write operations, or erasure operations. - View Dependent Claims (14, 15, 16, 17)
-
Specification