US2018095788A1PendingUtilityA1
Scheduling operations for a storage device
Est. expiryOct 4, 2036(~10.2 yrs left)· nominal 20-yr term from priority
G06F 3/0619G06F 2209/482G06F 3/0689G06F 12/0253G06F 2212/702G06F 3/0665G06F 9/4881G06F 21/572G06F 9/4401G06F 3/0632G06F 3/0607G06F 2212/7205G06F 3/064G06F 16/252G06F 16/211G06F 16/2282G06F 3/0688G06F 3/0652G06F 3/0655G06F 3/061G06F 12/0246G06F 3/065
60
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A request to perform an operation at a storage device of a storage array may be received. Schedulable units of the storage device may be identified. An availability of each schedulable unit of the schedulable units of the storage device may be determined. The requested operation may be scheduled based on the availability of each of the schedulable units of the storage device. Furthermore, the requested operation may be performed at the storage device based on the scheduling.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
receiving a request to perform a write operation at a solid-state storage device of a solid-state storage array; receiving, by a processing device of a host system associated with the solid-state storage array, a topology of the solid-state storage device comprising an arrangement of a plurality of schedulable units of the solid-state storage device; identifying, by the processing device of the host system, the plurality of schedulable units of the solid-state storage device based on the topology; determining, by the processing device, other access operations that are currently being performed or have been scheduled to be performed by the plurality of schedulable units of the solid-state storage device; scheduling, by an application that is executed by the processing device of the host system, the requested write operation based on the determination of the other access operations that are being performed or have been scheduled to be performed by the plurality of schedulable units of the solid-state storage device; and performing the requested write operation based on the scheduling.
2 . The method of claim 1 , wherein the other access operations correspond to read operations or write operations that are being performed or have been scheduled to be performed by the plurality of schedulable units of the solid-state storage device correspond to a garbage collection process.
3 . The method of claim 1 , wherein the scheduling of the requested write operation comprises:
assigning the requested write operation to be performed by a particular schedulable unit of the plurality of schedulable units that is available to perform the requested write operation, wherein data of the write operation is stored at a data block of the particular schedulable unit.
4 . The method of claim 1 , further comprising:
receiving a read operation for data stored at a particular schedulable unit of the plurality of schedulable units; determining that the particular schedulable unit is performing another read operation or write operation and is not available to perform the read operation; and in response to determining that the particular schedulable unit is not available, retrieving additional data from a plurality of other schedulable units from a plurality of other solid-state storage devices.
5 . The method of claim 4 , 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.
6 . The method of claim 1 , further comprising:
identifying an entity associated with the requested write operation; and determining a priority associated with the entity, wherein the scheduling of the requested write operation is based on the determined priority.
7 . The method of claim 6 , wherein the scheduling of the requested write operation comprises:
assigning the requested write operation to a particular schedulable unit of the plurality of schedulable units that is available to perform the requested write operation earlier than another particular schedulable unit of the plurality of schedulable units when the priority associated with the entity indicates a higher priority than another entity.
8 . The method of claim 1 , wherein the application is associated with an operating system.
9 . The method of claim 1 , wherein the application is associated with a user space.
10 . A system comprising:
a storage array comprising a plurality of storage volumes; and a storage controller coupled to the storage array, the storage controller comprising a processing device, the processing device to:
receive a request to perform an operation at a storage device of the storage array;
receive a topology of the storage device, comprising an arrangement of a plurality of schedulable units of the storage device;
identify the plurality of schedulable units of the storage device based on the topology;
determine an availability of each schedulable unit of the plurality of schedulable units of the storage device; and
schedule the requested operation based on the availability of each of the plurality of schedulable units of the storage device; and
perform the requested operation at the storage device based on the scheduling.
11 . The system of claim 10 , wherein to determine the availability of each schedulable unit of the plurality of schedulable units, the processing device is further to:
determine read operations or write operations that are being performed or have been scheduled to be performed by each schedulable unit of the plurality of schedulable units of the storage device.
12 . The system of claim 11 , wherein read operations or write operations correspond to a garbage collection process.
13 . The system of claim 10 , wherein to schedule the requested operation, the processing device is further to:
assign the requested operation to be performed by a particular schedulable unit of the plurality of schedulable units that is available to perform the requested write operation.
14 . The system of claim 10 , 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; determine that the particular schedulable unit is performing another read operation or write operation and is not available to perform the read operation; and in response to determining that the particular schedulable unit is not available, retrieve additional data from a plurality of other schedulable units from a plurality of other storage devices.
15 . The system of claim 14 , 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 storage devices.
16 . The system of claim 10 , wherein the scheduling of the requested operation is based on a priority associated with a user account of the requested operation.
17 . The system of claim 10 , wherein the storage controller to execute an application associated with an operating system.
18 . The system of claim 10 , wherein the storage controller to execute an application associated with a user space.
19 . A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device of a host system to:
receive a request to perform an operation at a storage device of a storage array; receive a topology of the storage device, comprising an arrangement of a plurality of schedulable units of the storage device; identify the plurality of schedulable units of the storage device based on the topology; determine an availability of each schedulable unit of the plurality of schedulable units of the storage device; and schedule, by the processing device, the requested operation based on the availability of each of the plurality of schedulable units of the storage device; and perform the requested operation at the storage device based on the scheduling.
20 . The non-transitory computer readable storage medium of claim 19 , wherein to determine the availability of each schedulable unit of the plurality of schedulable units, the processing device is further to:
determine read operations or write operations that are being performed or have been scheduled to be performed by each schedulable unit of the plurality of schedulable units of the storage device.
21 . The non-transitory computer readable storage medium of claim 20 , wherein read operations or write operations correspond to a garbage collection process.
22 . The non-transitory computer readable storage medium of claim 19 , wherein to schedule the requested operation, the processing device is further to:
assign the requested operation to be performed by a particular schedulable unit of the plurality of schedulable units that is available to perform the requested write operation.
23 . The non-transitory computer readable storage medium of claim 19 , 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; determine that the particular schedulable unit is performing another read operation or write operation and is not available to perform the read operation; and in response to determining that the particular schedulable unit is not available, retrieve additional data from a plurality of other schedulable units from a plurality of other storage devices.
24 . The non-transitory computer readable storage medium of claim 23 , 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 storage devices.
25 . The non-transitory computer readable storage medium of claim 19 , wherein the processing device to execute an application associated with an operating system.
26 . The non-transitory computer readable storage medium of claim 19 , wherein the processing device to execute an application associated with a user space.Join the waitlist — get patent alerts
Track US2018095788A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.