IP Library Granted Patent US 8,615,609
Granted Patent B2
US 8,615,609 · App. 13/858,064 · Granted Dec 24, 2013

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

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,615,609
App. No.
13/858,064
Granted
Dec 24, 2013
Kind
B2
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.

Claims (42)

1. A method, 1 comprising:

receiving one or more commands at a drive from a host device, the host device enabled to communicate with the drive using a storage protocol that allows the drive to prevent the host device from sending additional commands;

queuing information to send to the host device, wherein the information comprises setup information and the setup information comprises a Direct Memory Access (DMA) setup;

determining whether to insert a time delay; and

based on the determining, conditionally inserting the time delay to enable the host device to send the additional commands to the drive, wherein the inserting the time delay is before sending the DMA setup.

2. The method of claim 1 , further comprising examining whether some of the received commands are actively queued in a buffer associated with the drive; and wherein the determining is conditional based on results of the examining.

3. The method of claim 1 , wherein the information comprises one or more of

data information,

data structure information,

Direct Memory Access (DMA) Frame Information Structure (FIS), set device bit FIS, and

data associated with at least one of the received commands.

4. The method of claim 1 , wherein the determining is based at least in part on a current command queue depth of the drive.

5. The method of claim 1 , wherein the determining is based at least in part on an amount of time since a previous one of the received commands was received.

6. The method of claim 1 , further comprising determining 1 in real time a length of the time delay.

7. A system, comprising:

means for receiving one or more commands at a drive from a host device, the host device enabled to communicate with the drive using a storage protocol that allows the drive to prevent the host device from sending additional commands;

means for queuing information to send to the host device, wherein the information comprises setup information and the setup information comprises a Direct Memory Access (DMA) setup;

means for determining whether to insert a time delay; and

means for conditionally inserting, based on the means for determining, the time delay to enable the host device to send the additional commands to the drive, wherein the inserting the time delay is before sending the DMA setup.

8. The system of claim 7 , further comprising means for examining whether some of the received commands are actively queued in a buffer associated with the drive; and wherein the means for determining is conditional based at least in part on results of the means for examining.

9. The system of claim 7 , wherein the information comprises one or more

of

data information,

data structure information,

Direct Memory Access (DMA) Frame Information Structure (FIS), set device bit FIS, and

data associated with at least one of the received commands.

10. The system of claim 7 , wherein the means for determining operates based at least in part on a current command queue depth of the drive.

11. The system of claim 7 , wherein the means 1 for determining operates based at least in part on an amount of time since a previous one of the received commands was received.

12. The system of claim 7 , further comprising means for determining in real time a length of the time delay.

13. A non-transitory computer readable medium having a set of instructions stored therein which when executed by a computer causes the computer to perform functions comprising:

receiving one or more commands at a drive from a host device, the host device enabled to communicate with the drive using a storage protocol that allows the drive to prevent the host device from sending additional commands;

queuing information to send to the host device, wherein the information comprises setup information and the setup information comprises a Direct Memory Access (DMA) setup; and

conditionally inserting a time delay to enable the host device to send the additional commands to the drive, wherein the inserting the time delay is before sending the DMA setup.

14. The non-transitory computer readable medium of claim 13 , wherein the functions further comprise examining whether some of the received commands are actively queued in a buffer associated with the drive, and determining whether to insert the time delay based at least in part on results of the examining.

15. The non-transitory computer readable medium of claim 13 , wherein the functions further comprise determining whether to insert the time delay based at least in part on a current command queue depth of the drive.

16. The non-transitory computer readable medium of claim 13 , wherein the functions further comprise determining whether to insert the time delay based at least in part on an amount of time since a previous one of the received commands was received.

17. The non-transitory computer readable medium 1 of claim 13 , wherein the functions further comprise determining in real time an onset and length of the time delay.

18. The non-transitory computer readable medium of claim 13 , wherein the information comprises one or more of data information,

data structure information,

Direct Memory Access (DMA) Frame Information Structure (FIS),

set device bit FIS, and

data associated with at least one of the commands.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034776/0363 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS INCLUDED IN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL/FRAME (032856/0031) Recorded Nov 6, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034177/0257 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →