IP Library Granted Patent US 7,471,486
Granted Patent B1
US 7,471,486 · App. 11/961,521 · Granted Dec 30, 2008

Disk drive estimating seek time according to a seek profile and a variance group

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 7,471,486
App. No.
11/961,521
Granted
Dec 30, 2008
Kind
B1
Abstract

A disk drive is disclosed which receives a plurality of access commands from a host, where each access command identifies a target track. The access commands are stored in a command queue, and for each command in the command queue, a seek length is computed corresponding to a number of tracks between a current track the head is over and the target track of the access command. A seek time is computed in response to the seek length using a seek profile comprising a first plurality of seek length segments and a variance group comprising a second plurality of seek length segments. Each seek length segment corresponds to a range of seek lengths, and the first plurality of seek length segments is different than the second plurality of seek length segments.

Claims (58)

1. A disk drive comprising:

a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors and a plurality of servo sectors;

a head actuated radially over the disk; and

control circuitry operable to:

receive a plurality of access commands from a host, where each access command identifies a target track;

store the access commands in a command queue; and

for each access command in the command queue:

determine a seek length corresponding to a number of tracks between a current track the head is over and the target track of the access command;

determine a seek time in response to the seek length using a seek profile comprising a first plurality of seek length segments and a variance group comprising a second plurality of seek length segments, wherein:

each seek length segment corresponds to a range of seek lengths; and

the first plurality of seek length segments is different than the second plurality of seek length segments.

2. The disk drive as recited in claim 1 , wherein the control circuitry is further operable to execute the access command in the command queue having the smallest access latency.

3. The disk drive as recited in claim 1 , wherein at least one of the first plurality of seek length segments spans more than one of the second plurality of seek length segments.

4. The disk drive as recited in claim 1 , wherein at least one of the second plurality of seek length segments spans more than one of the first plurality of seek length segments.

5. The disk drive as recited in claim 1 , wherein a difference between two of the first plurality of seek length segments corresponds to a difference in a servo system parameter.

6. The disk drive as recited in claim 1 , wherein the control circuitry is further operable to adapt the second plurality of seek length segments in response to executing at least two of the access commands.

7. The disk drive as recited in claim 1 , wherein the variance group further comprises a margin associated with each of the second plurality of seek length segments.

8. The disk drive as recited in claim 7 , wherein the control circuitry is further operable to determine the margin for each seek length segment by measuring a throughput of the disk drive after executing a plurality of the access commands.

9. A disk drive comprising:

a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors and a plurality of servo sectors;

a head actuated radially over the disk; and

control circuitry operable to:

receive a plurality of access commands from a host, where each access command identifies a target track;

store the access commands in a command queue; and

for each access command in the command queue:

determine a seek length corresponding to a number of tracks between a current track the head is over and the target track of the access command;

determine a seek time in response to the seek length using a seek profile comprising a plurality of seek length segments, wherein:

each seek length segment corresponds to a range of seek lengths; and

a margin is determined for each seek length segment by measuring a throughput of the disk drive after executing a plurality of the access commands.

10. The disk drive as recited in claim 9 , wherein a host connected to the disk drive determines the margin for each seek length segment by measuring the throughput of the disk drive after executing the plurality of the access commands.

11. The disk drive as recited in claim 9 , wherein the control circuitry is operable to determine the margin for each seek length segment by measuring the throughput of the disk drive after executing the plurality of the access commands.

12. The disk drive as recited in claim 9 , wherein the throughput of the disk drive is measured relative to a number of access commands executed per second.

13. The disk drive as recited in claim 9 , wherein the margin is determined by finding a margin that maximizes the throughput of the disk drive for each seek length segment.

14. A method of operating a disk drive, the disk drive comprising a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors and a plurality of servo sectors, and a head actuated radially over the disk, the method comprising:

receiving a plurality of access commands from a host, where each access command identifies a target track;

storing the access commands in a command queue; and

for each access command in the command queue:

determining a seek length corresponding to a number of tracks between a current track the head is over and the target track of the access command;

determining a seek time in response to the seek length using a seek profile comprising a first plurality of seek length segments and a variance group comprising a second plurality of seek length segments, wherein:

each seek length segment corresponds to a range of seek lengths; and

the first plurality of seek length segments is different than the second plurality of seek length segments.

15. The method as recited in claim 14 , further comprising executing the access command in the command queue having the smallest access latency.

16. The method as recited in claim 14 , wherein at least one of the first plurality of seek length segments spans more than one of the second plurality of seek length segments.

17. The method as recited in claim 14 , wherein at least one of the second plurality of seek length segments spans more than one of the first plurality of seek length segments.

18. The method as recited in claim 14 , wherein a difference between two of the first plurality of seek length segments corresponds to a difference in a servo system parameter.

19. The method as recited in claim 14 , further comprising adapting the second plurality of seek length segments in response to executing at least two of the access commands.

20. The method as recited in claim 14 , wherein the variance group further comprises a margin associated with each of the second plurality of seek length segments.

21. The method as recited in claim 20 , further comprising determining the margin for each seek length segment by measuring a throughput of the disk drive after executing a plurality of the access commands.

22. A method of operating a disk drive, the disk drive comprising a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors and a plurality of servo sectors, and a head actuated radially over the disk, the method comprising:

receiving a plurality of access commands from a host, where each access command identifies a target track;

storing the access commands in a command queue; and

for each access command in the command queue:

determining a seek length corresponding to a number of tracks between a current track the head is over and the target track of the access command;

determining a seek time in response to the seek length using a seek profile comprising a plurality of seek length segments, wherein:

each seek length segment corresponds to a range of seek lengths; and

a margin is determined for each seek length segment by measuring a throughput of the disk drive after executing a plurality of the access commands.

23. The method as recited in claim 22 , wherein the throughput of the disk drive is measured relative to a number of access commands executed per second.

24. The method as recited in claim 22 , wherein the margin is determined by finding a margin that maximizes the throughput of the disk drive for each seek length segment.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →