IP Library Granted Patent US 10,452,574
Granted Patent B2
US 10,452,574 · App. 16/046,850 · Granted Oct 22, 2019

Read performance on a SATA storage device behind a host bus adapter

Inventors: Vivek Angoth (Boulder, CO); Hung Huynh (Sacremento, CA); Daniel McLeran (Loveland, CO)
Assignee: Intel Corporation
G06F13/1668G06F13/385G06F13/4282G06F2213/0032
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 10,452,574
App. No.
16/046,850
Granted
Oct 22, 2019
Kind
B2
Abstract

Examples may include a storage device coupled to a host bus adapter and a SATA controller over a SATA interface. The storage device includes a memory and a storage device controller. The storage device controller includes a collision detector and counter component to detect and count collisions on the SATA interface for a period of time; and a bus limiter component to detect a type of workload on the SATA interface, and when the detected workload is only read commands and a number of detected collisions is less than a detected collision threshold during the period of time, to set a limit on a maximum number of commands sent by the host bus adapter to the storage device controller over the SATA interface.

Claims (28)

1. An apparatus comprising:

a storage device controller, coupled to a host bus adapter and a SATA controller over a SATA interface, the storage device controller comprising

a collision detector and counter component to detect and count collisions on the SATA interface for a period of time; and

a bus limiter component to detect a type of workload on the SATA interface, and when the detected workload is only read commands and a number of detected collisions is less than a detected collision threshold during the period of time, to set a limit on a maximum number of commands received by the storage device controller over the SATA interface.

2. The apparatus of claim 1 , the bus limiter to remove the limit when the detected workload is not only read commands.

3. The apparatus of claim 1 , the bus limiter to remove the limit when the number of detected collisions is not less than the detected collision threshold.

4. The apparatus of claim 1 , the collisions comprising one or more transfer ready (XRDY) collisions on the SATA interface.

5. The apparatus of claim 1 , the bus limiter to reset the collision detector and counter when a predetermined period of time has elapsed.

6. The apparatus of claim 1 , wherein the limit on the maximum number of commands is less than a queue depth of the SATA interface.

7. A storage device comprising:

a memory; and

a storage device controller, coupled to the memory, and coupled to a host bus adapter and a SATA controller over a SATA interface, the storage device controller comprising

a collision detector and counter component to detect and count collisions on the SATA interface for a period of time; and

a bus limiter component to detect a type of workload on the SATA interface, and when the detected workload is only read commands and a number of detected collisions is less than a detected collision threshold during the period of time, to set a limit on a maximum number of commands received by the storage device controller over the SATA interface.

8. The storage device of claim 7 , the bus limiter to remove the limit when the detected workload is not only read commands.

9. The storage device of claim 7 , the bus limiter to remove the limit when the number of detected collisions is not less than the detected collision threshold.

10. The storage device of claim 7 , the collisions comprising one or more transfer ready (XRDY) collisions on the SATA interface.

11. The storage device of claim 7 , the bus limiter to reset the collision detector and counter when a predetermined period of time has elapsed.

12. The storage device of claim 7 , wherein the limit on the maximum number of commands is less than a queue depth of the SATA interface.

13. The storage device of claim 7 , the memory comprising a NAND memory.

14. A method comprising:

detecting and counting collisions on a SATA interface for a period of time, the SATA interface coupling a host bus adapter and a SATA controller to a storage device controller of a storage device;

detecting a type of workload on the SATA interface, and

setting a limit on a maximum number of commands received by the storage device controller over the SATA interface when the detected workload is only read commands and a number of detected collisions is less than a detected collision threshold during the period of time.

15. The method of claim 14 , comprising removing the limit when the detected workload is not only read commands.

16. The method of claim 14 , comprising removing the limit when the number of detected collisions is not less than the detected collision threshold.

17. The method of claim 14 , the collisions comprising one or more transfer ready (XRDY) collisions on the SATA interface.

18. The method of claim 14 , comprising resetting the collision detector count when a predetermined period of time has elapsed.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072549/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2018
From: ANGOTH, VIVEK; HUYNH, HUNG; MCLERAN, DANIEL
To: INTEL CORPORATION
Reel/Frame 046800/0139 →
Continuity (1)
Related Publication 20190042493A1 · Feb 7, 2019