System, method, and computer program product for inserting a gap in information sent from a drive to a host device

US9330033B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9330033-B2
Application numberUS-201314104468-A
CountryUS
Kind codeB2
Filing dateDec 12, 2013
Priority dateJul 17, 2009
Publication dateMay 3, 2016
Grant dateMay 3, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system, method, and computer program product are provided for inserting a gap in information sent from a drive to a host device. In operation, one or more commands are received at a drive from a host device. Additionally, information is queued to send to the host device. Furthermore, a gap is inserted in the information to send to the host device such that the host device is capable of sending additional commands to the drive.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving at a drive one or more commands from a host device that is enabled to communicate with the drive using a storage protocol enabling the drive to prevent the host device from sending additional commands; queuing at the drive information to send to the host device, the information comprising setup information that comprises a Direct Memory Access (DMA) setup; determining at the drive whether to insert a gap; and based on the determining, conditionally inserting at the drive the gap to enable the host device to send the additional commands to the drive, wherein the inserting is at a point in time based at least in part on a current command queue depth of the drive. 2. The method of claim 1 , wherein the gap comprises one or more of a time delay and additional information. 3. The method of claim 1 , wherein the inserting is at a point in time based at least in part on an amount of time since a previous one of the received commands was received. 4. The method of claim 1 , wherein a length of the gap is based at least in part on a current command queue depth of the drive. 5. The method of claim 1 , wherein a length of the gap is according to a fixed value. 6. A drive, comprising: a buffer enabled to queue information to send to a host device, the information comprising setup information that comprises a Direct Memory Access (DMA) setup; and a controller enabled to conditionally insert a gap to enable the host device to send additional commands to the drive, the conditionally inserting based on a determination by the controller of whether to insert the gap, wherein the drive is enabled to receive one or more commands from the host device and to communicate with the host device using a protocol comprising a DMA storage protocol enabling the drive to prevent the host device from sending the additional commands, and wherein the inserting is at a point in time based at least in part on a current command queue depth of the drive. 7. The drive of claim 6 , wherein the gap comprises one or more of a time delay and additional information. 8. The drive of claim 6 , wherein the insertion is at a point in time based at least in part on an amount of time since a previous one of the received commands was received. 9. The drive of claim 6 , wherein a length of the gap is based at least in part on a current command queue depth of the drive. 10. The drive of claim 6 , wherein a length of the gap is according to a fixed value. 11. A tangible non-transitory computer readable medium having a set of instructions stored therein that when executed by a processing element cause the processing element to perform and/or control operations comprising: receiving one or more commands at a drive from a host device that is enabled to communicate with the drive using a storage protocol enabling the drive to prevent the host device from sending additional commands; queuing information to send to the host device, the information comprising setup information that comprises a Direct Memory Access (DMA) setup; determining whether to insert a gap; and based on the determining, conditionally inserting the gap to enable the host device to send the additional commands to the drive, wherein the inserting is at a point in time based at least in part on a current command queue depth of the drive. 12. The tangible non-transitory computer readable medium of claim 11 , wherein the gap comprises one or more of a time delay and additional information. 13. The tangible non-transitory computer readable medium of claim 11 , wherein a length of the gap is based at least in part on a current command queue depth of the drive. 14. The tangible non-transitory computer readable medium of claim 11 , wherein a length of the gap is according to a fixed value. 15. A system, comprising: a drive enabled to receive one or more commands from a host device that is enabled to communicate with the drive using a storage protocol, the drive enabled to prevent the host device from sending additional commands; a buffer enabled to queue information to send to the host device, the information comprising setup information that comprises a Direct Memory Access (DMA) setup; a controller enabled to determine whether to insert a gap and to conditionally insert the gap to enable the host device to send the additional commands to the drive, wherein the inserting is at a point in time based at least in part on a current command queue depth of the drive. 16. The system of claim 15 , wherein the gap comprises one or more of a time delay and additional information. 17. The system of claim 15 , wherein the insertion is at a point in time based at least in part on at least one of: an amount of time since a previous one of the received commands was received, and a current command queue depth of the drive. 18. The system of claim 15 , wherein a length of the gap is according to at least one of: a current command queue depth of the drive, and a fixed value.

Assignees

Inventors

Classifications

  • In-line storage system · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • G06F13/126Primary

    and has means for transferring I/O instructions and statuses between control unit and main processor · CPC title

  • using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9330033B2 cover?
A system, method, and computer program product are provided for inserting a gap in information sent from a drive to a host device. In operation, one or more commands are received at a drive from a host device. Additionally, information is queued to send to the host device. Furthermore, a gap is inserted in the information to send to the host device such that the host device is capable of sendin…
Who is the assignee on this patent?
Seagate Technology Llc
What technology area does this patent fall under?
Primary CPC classification G06F13/126. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 03 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).