IP Library Granted Patent US 8,423,680
Granted Patent B2
US 8,423,680 · App. 13/423,808 · Granted Apr 16, 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,423,680
App. No.
13/423,808
Granted
Apr 16, 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 (34)

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 gap is inserted during a period when the information is being sent to the host device.

2. The method of claim 1 , wherein the information to send to the host includes setup information and data associated with at least one of the one or more commands.

3. The method of claim 2 , wherein the setup information includes a direct memory access (DMA) frame information structure (FIS).

4. The method of claim 2 , wherein the setup information includes a set device bit FIS.

5. The method of claim 2 , wherein a time delay is inserted before sending the setup information.

6. The method of claim 2 , wherein a time delay is inserted after sending the setup information.

7. The method of claim 1 , further comprising receiving the additional commands at the drive from the host device during a time delay.

8. The method of claim 1 , wherein inserting the gap includes inserting a time delay during the period when the information is being sent to the host device.

9. The method of claim 1 , wherein the function of drive state comprises a function of an amount of time since a previous command was received.

10. The method of claim 8 , wherein a length of time of the time delay is based on an amount of time since a previous command was received by the drive.

11. The method of claim 1 , wherein at least one of a length of time of a time delay or a point when the time delay is inserted is determined in real time.

12. The method of claim 1 , wherein at least one of a length of time of a time delay or a point when the time delay is inserted is a predetermined value.

13. The method of claim 1 , wherein the information to send to the host includes setup information including additional information indicating a time delay is following the setup information.

14. The method of claim 1 , wherein the information to send to the host includes status information and a time delay is inserted before sending the status information.

15. The method of claim 1 , wherein inserting the gap includes inserting additional information.

16. The method of claim 1 , wherein the host device is informed about the gap in advance of the gap.

17. The method of claim 1 , wherein the drive includes a Serial ATA (SATA) drive.

18. The method of claim 1 , wherein the function of drive state comprises a function of a current queue depth of the drive.

19. 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 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; and

computer code for conditionally inserting the gap based on the determining and otherwise not inserting the gap, and wherein the gap is inserted during a period when the information is being sent to the host device.

20. The computer program product of claim 19 , wherein the function of drive state comprises a function of a current queue depth of the drive.

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 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, the controller being further enabled to conditionally insert the gap based on the determination and to otherwise not insert the gap, and wherein the gap is inserted during a period when the information is being sent to the host device.

22. The apparatus of claim 21 , wherein the function of drive state comprises a function of a current queue depth of the drive.

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 →