Ordering entries of an input command queue
US-2024289052-A1 · Aug 29, 2024 · US
US12373108B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-12373108-B1 |
| Application number | US-202418622629-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 29, 2024 |
| Priority date | Mar 29, 2024 |
| Publication date | Jul 29, 2025 |
| Grant date | Jul 29, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods for implementing optimized host-side device-specific queues for a storage device are described. A host system may implement a host-side queue for a storage device that is optimized using device-specific parameters. When an access request to the storage device is received, the request may be enqueued in an order optimized according to parameters of the storage device. Requests are then sent to the device in an optimized order. Optimization parameters may be provided by the manufacturer and read by the host system from the device, the parameters including physical device geometry and runtime telemetry data. In some embodiments, queue ordering for the host-side queue may be supplied by the storage device.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a disk storage device; and a host computing system attached to the disk storage device, the host computing system comprising one or more processors and a memory storing program instructions that, when executed on the one or more processors, implement a storage interface configured to: receive a request to perform an input-output (IO) operation at the disk storage device connected to the host computing system; enqueue the received IO operation in an asynchronous queue maintained by the host computing system for the disk storage device, wherein the asynchronous queue comprises a plurality of IO operations in a sorted order, the sorted order optimized for the disk storage device, wherein a capacity of IO requests of the asynchronous queue is larger than a capacity of IO requests of an input queue maintained within the disk storage device, and wherein maintaining the asynchronous queue comprises sorting the asynchronous queue according to one or more parameters specific to the disk storage device; and responsive to an indication that the disk storage device is ready to receive IO operations, send one or more IO operations of the plurality of IO operations to the disk storage device according to the sorted order. 2. The system of claim 1 , wherein the one or more parameters comprise data layout information, performance metrics, error processing information and current state information of the disk storage device, wherein the one or more parameters are obtained from the disk storage device, wherein the data layout information comprise physical block information for a plurality of storage zones of the disk storage device, and wherein the current state information comprises one or more of: a position parameter; a thermal measurement; a vibration measurement; an error rate; and a power consumption measurement. 3. The system of claim 1 , wherein the one or more parameters are obtained from a manufacturer of the storage device or from reading the one or more parameters from the disk storage device. 4. The system of claim 1 , wherein to sort the queue according to the one or more parameters specific to the disk storage device, the storage interface is configured to: send respective portions of the individual operations of the plurality of IO operations in the queue to the disk storage device; receive, from the disk storage device, a list comprising the respective portions of the individual operations of the plurality of IO operations sorted according to the one or more parameters; and sort the queue according to the received list. 5. A computer-implemented method, comprising: receiving, at a computing device, a request to perform an input-output (IO) operation at a storage device connected to the computing device; enqueuing the received IO operation in a queue maintained by the computing device for the storage device, wherein the queue comprises a plurality of IO operations in a sorted order, the sorted order optimized for the storage device, wherein a capacity of IO requests of the queue is larger than a capacity of IO requests of an input queue maintained within the storage device, and wherein maintaining the queue comprises sorting the queue according to one or more parameters specific to the storage device; and responsive to an indication that the storage device is ready to receive IO operations, sending one or more IO operations of the plurality of IO operations to the storage device according to the sorted order. 6. The computer-implemented method of claim 5 , further comprising obtaining, by the computing device, the one or more parameters from the storage device. 7. The computer-implemented method of claim 5 , wherein the one or more parameters are provided by a manufacturer of the storage device. 8. The computer-implemented method of claim 7 , wherein the one or more parameters comprise current state information of the storage device, wherein the one or more parameters are obtained from the storage device, and wherein the current state information comprises one or more of: a position parameter; a thermal measurement; a vibration measurement; an error rate; and a power consumption measurement. 9. The computer-implemented method of claim 5 , further comprising: establishing a known state of the storage device responsive to one of: an initialization of the storage device; a detected error of the storage device; or a period of time elapsed since a previous established known state; wherein establishing the known state comprises sending a plurality of IO operations to the storage device, wherein individual operations of the plurality of IO operations access a same storage block. 10. The computer-implemented method of claim 5 , wherein the IO operation comprises a logical address, and wherein the one or more IO operations sent to the storage device individually comprise respective physical addresses. 11. The computer-implemented method of claim 10 , further comprising configuring the storage device to disable retries on detected errors of IO operations. 12. The computer-implemented method of claim 5 , further comprising: receiving, at the computing device, another request to perform another input-output (IO) operation at the storage device; and responsive to determining according to the one or more parameters that a completion time of the other IO operation is above a threshold time, rejecting performance of the IO operation. 13. The computer-implemented method of claim 5 , wherein sorting the queue according to the one or more parameters specific to the disk storage device comprises: sending, by the computing device, respective portions of the individual operations of the plurality of IO operations in the queue to the disk storage device; receiving, by the computing device from the disk storage device, a list comprising the respective portions of the individual operations of the plurality of IO operations sorted according to the one or more parameters; and sorting the queue according to the received list. 14. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more computing devices cause the one or more computing devices to implement a programmatic interface for a disk storage device, the programmatic interface performing: receiving a request to perform an input-output (IO) operation at the disk storage device; enqueuing the received IO operation in an asynchronous queue as part of the programmatic interface, wherein the asynchronous queue comprises a plurality of IO operations in a sorted order, the sorted order optimized for the disk storage device, wherein a capacity of IO requests of the asynchronous queue is larger than a capacity of IO requests of an input queue maintained within the disk storage device, and wherein maintaining the asynchronous queue comprises sorting the asynchronous queue according to one or more criteria specific to the disk storage device; and responsive to an indication that the disk storage device is ready to receive IO operations, sending one or more IO operations of the plurality of IO operations to the disk storage device according to the sorted order. 15. The one or more non-transitory computer-accessible storage media of claim 14 , the programmatic interface further performing obtaining the one or more criteria from the disk storage device. 16. The one or more non-transitory computer-accessible storage media of claim 14 , wherein the one or more criteria are provided by a manufacturer of the disk storage
in relation to response time · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Magnetic disk device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.