Optimizing storage system performance using storage device topology
Abstract
A topology of a solid-state storage device of a storage system is received from a storage controller. A plurality of schedulable units of the solid-state storage device that are configured to perform parallel access operations are identified based on the topology. A determination as to which of the plurality of schedulable units are associated with other access operations that have been scheduled to be performed by the solid-state storage device is made. A write operation is scheduled to be performed by one or more of the plurality of schedulable units that are not associated with the other access operations that have been scheduled to be performed by the solid-state storage device. The write operation is performed to store data at the solid-state storage device based on the scheduling.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . (canceled)
2 . A storage system comprising:
a plurality of solid-state storage devices; and a storage system controller, operatively coupled to the plurality of solid-state storage devices, the storage system controller comprising a processing device, the processing device to:
receive, from a storage controller, a topology of a solid-state storage device of the plurality of solid-state storage devices;
identify a plurality of schedulable units of the solid-state storage device that are configured to perform parallel access operations based on the topology;
determine which of the plurality of schedulable units are associated with other access operations that have been scheduled to be performed by the solid-state storage device;
schedule a write operation to be performed by one or more of the plurality of schedulable units that are not associated with the other access operations that have been scheduled to be performed by the solid-state storage device; and
perform the write operation to store data at the solid-state storage device based on the scheduling.
3 . The storage system of claim 2 , wherein the other access operations correspond to write operations that have been scheduled to be performed by the plurality of schedulable units of the solid-state storage device.
4 . The storage system of claim 2 , wherein to schedule the write operation the processing device is further to:
assign the write operation to be performed by the one or more of the plurality of schedulable units that is available to perform the write operation, wherein the data of the write operation is stored at a data block of the one or more of the plurality of schedulable units.
5 . The storage system of claim 2 , wherein the processing device is further to:
receive a read operation for data stored at a particular schedulable unit of the plurality of schedulable units, wherein additional data is retrieved from a plurality of other schedulable units from a plurality of other solid-state storage devices upon determining that the particular schedulable unit storing the data is performing another access operation.
6 . The storage system of claim 5 , wherein the processing device is further to:
reconstruct the data stored at the particular schedulable unit based on the additional data from the plurality of other schedulable units from the plurality of other solid-state storage devices.
7 . The storage system of claim 2 , wherein the processing device is further to:
determine a priority associated with an entity associated with the write operation, wherein the scheduling of the write operation is based on the determined priority.
8 . The storage system of claim 2 , wherein the other access operations comprise a garbage collection process.
9 . A method comprising:
receiving, from a storage controller, a topology of a solid-state storage device of a storage system; identifying a plurality of schedulable units of the solid-state storage device that are configured to perform parallel access operations based on the topology; determining which of the plurality of schedulable units are associated with other access operations that have been scheduled to be performed by the solid-state storage device; scheduling, by a processing device, a write operation to be performed by one or more of the plurality of schedulable units that are not associated with the other access operations that have been scheduled to be performed by the solid-state storage device; and performing the write operation to store data at the solid-state storage device based on the scheduling.
10 . The method of claim 9 , wherein the other access operations correspond to write operations that have been scheduled to be performed by the plurality of schedulable units of the solid-state storage device.
11 . The method of claim 9 , wherein the scheduling of the write operation comprises:
assigning the write operation to be performed by the one or more of the plurality of schedulable units that is available to perform the write operation, wherein the data of the write operation is stored at a data block of the one or more of the plurality of schedulable units.
12 . The method of claim 9 , further comprising:
receiving a read operation for data stored at a particular schedulable unit of the plurality of schedulable units, wherein additional data is retrieved from a plurality of other schedulable units from a plurality of other solid-state storage devices upon determining that the particular schedulable unit storing the data is performing another access operation.
13 . The method of claim 12 , further comprising:
reconstructing the data stored at the particular schedulable unit based on the additional data from the plurality of other schedulable units from the plurality of other solid-state storage devices.
14 . The method of claim 9 , further comprising:
determining a priority associated with an entity associated with the write operation, wherein the scheduling of the write operation is based on the determined priority.
15 . The method of claim 9 , wherein the other access operations comprise a garbage collection process.
16 . A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device of a storage system controller to:
receive, from a storage controller, a topology of a solid-state storage device of a storage system; identify a plurality of schedulable units of the solid-state storage device that are configured to perform parallel access operations based on the topology; determine which of the plurality of schedulable units are associated with other access operations that have been scheduled to be performed by the solid-state storage device; schedule, by the processing device, a write operation to be performed by one or more of the plurality of schedulable units that are not associated with the other access operations that have been scheduled to be performed by the solid-state storage device; and perform the write operation to store data at the solid-state storage device based on the scheduling.
17 . The non-transitory computer readable storage medium of claim 16 , wherein the other access operations correspond to write operations that have been scheduled to be performed by the plurality of schedulable units of the solid-state storage device.
18 . The non-transitory computer readable storage medium of claim 16 , wherein to schedule the write operation the processing device is further to:
assign the write operation to be performed by the one or more of the plurality of schedulable units that is available to perform the write operation, wherein the data of the write operation is stored at a data block of the one or more of the plurality of schedulable units.
19 . The non-transitory computer readable storage medium of claim 16 , wherein the processing device is further to:
receive a read operation for data stored at a particular schedulable unit of the plurality of schedulable units, wherein additional data is retrieved from a plurality of other schedulable units from a plurality of other solid-state storage devices upon determining that the particular schedulable unit storing the data is performing another access operation.
20 . The non-transitory computer readable storage medium of claim 19 , wherein the processing device is further to:
reconstruct the data stored at the particular schedulable unit based on the additional data from the plurality of other schedulable units from the plurality of other solid-state storage devices.
21 . The non-transitory computer readable storage medium of claim 16 , wherein the processing device is further to:
determine a priority associated with an entity associated with the write operation, wherein the scheduling of the write operation is based on the determined priority.Join the waitlist — get patent alerts
Track US2020394304A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.