System, method, and computer program product for inserting a gap in information sent from a drive to a host device
First Claim
Patent Images
1. A method, comprising:
- receiving one or more commands at a drive from a host device, the host device and the drive communicating via a storage protocol comprising DMA data phases wherein the drive is enabled to prevent the host device from sending additional commands to the drive;
queuing information to send to the host device;
determining, as a function of drive state and independent of current host signaling, whether to insert a gap in the information to send to the host device, such that the gap is between respective data of a consecutive two of the DMA data phases and that the host device is enabled to send the additional commands to the drive;
conditionally inserting the gap based on the determining and otherwise not inserting the gap; and
wherein the function of drive state comprises a function of a current queue depth of the drive.
6 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
21 Claims
-
1. A method, comprising:
-
receiving one or more commands at a drive from a host device, the host device and the drive communicating via a storage protocol comprising DMA data phases wherein the drive is enabled to prevent the host device from sending additional commands to the drive; queuing information to send to the host device; determining, as a function of drive state and independent of current host signaling, whether to insert a gap in the information to send to the host device, such that the gap is between respective data of a consecutive two of the DMA data phases and that the host device is enabled to send the additional commands to the drive; conditionally inserting the gap based on the determining and otherwise not inserting the gap; and wherein the function of drive state comprises a function of a current queue depth of the drive. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer program product embodied on a computer readable medium, comprising:
-
computer code for receiving one or more commands at a drive from a host device, the host device and the drive communicating via a storage protocol comprising DMA data phases wherein the drive is enabled to prevent the host device from sending additional commands to the drive; computer code for queuing information to send to the host device; computer code for determining, as a function of a current queue depth of the drive and independent of current host signaling, whether to insert a gap in the information to send to the host device such that the gap is between respective data of a consecutive two of the DMA data phases and that the host device is enabled to send the additional commands to the drive; and computer code for conditionally inserting the gap based on the determining and otherwise not inserting the gap.
-
-
21. An apparatus, comprising:
-
a drive enabled to receive one or more commands from a host device, the host device and the drive enabled to communicate via a storage protocol comprising DMA data phases wherein the drive is enabled to prevent the host device from sending additional commands to the drive; a buffer enabled to queue information to send to the host device; and a controller enabled to make a determination, as a function of a current queue depth of the buffer and independent of current host signaling, whether to insert a gap in the information to send to the host device, such that the gap is between respective data of a consecutive two of the DMA data phases and that the host device is enabled to send the additional commands to the drive, the controller being further enabled to conditionally insert the gap based on the determination and to otherwise not insert the gap.
-
Specification