IP Library Granted Patent US 7,114,029
Granted Patent B1
US 7,114,029 · App. 10/286,127 · Granted Sep 26, 2006

Disk drive employing a multi-phase rotational position optimization (RPO) algorithm

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,114,029
App. No.
10/286,127
Granted
Sep 26, 2006
Kind
B1
Abstract

A disk drive is disclosed which executes a rotational position optimization (RPO) algorithm for selecting a next command to execute out of a plurality of pending commands. The RPO algorithm comprises a first phase and a second phase. The first phase of the RPO algorithm is executed relative to a first priority and in response to at least one non-real-time parameter. The second phase of the RPO algorithm is executed relative to a second priority higher than the first priority and in response to at least one real-time parameter.

Claims (63)

1. A disk drive comprising:

(a) a disk;

(b) a head actuated radially over the disk; and

(c) a disk controller for executing a rotational position optimization (RPO) algorithm for selecting a next command to execute out of a plurality of pending commands, wherein:

the RPO algorithm comprises a first phase and a second phase;

the first phase of the RPO algorithm is executed relative to a first priority to compute a seek latency and a rotational latency for at least one of the pending commands in response to at least one non-real-time parameter; and

the second phase of the RPO algorithm is executed relative to a second priority higher than the first priority to update at least one of the seek latency and the rotational latency for the at least one pending command in response to at least one real-time parameter.

2. The disk drive as recited in claim 1 , wherein:

(a) the disk drive further comprises:

a plurality of allocation state queues for storing commands comprising cache segments; and

a plurality of allocation states comprising:

an available—allocation state indicating an allocated cache segment storing write data that has been written to the disk;

a valid—allocation state indicating an allocated cache segment storing cached read data; and

a dirty—allocation state indicating an allocated cache segment storing write data not yet written to the disk; and

(b) the non-real time parameter comprises at least one of the allocation states.

3. The disk drive as recited in claim 1 , wherein the non-real time parameter comprises a cache segment size.

4. The disk drive as recited in claim 1 , wherein:

(a) the disk drive further comprises a voice coil motor for actuating the head radially over the disk; and

(b) the real time parameter comprises a temperature of the voice coil motor.

5. The disk drive as recited in claim 1 , wherein:

(a) the disk comprises a plurality of tracks, each track comprising a plurality of blocks and a plurality of embedded servo sectors recorded at a predetermined interval;

(b) the disk controller enables a counter relative to a reference servo sector;

(c) the disk controller modifies the counter as the head passes each servo sector; and

(d) when the first phase of the RPO algorithm terminates, the second phase of the RPO algorithm processes the counter to select the next command to execute.

6. A method of executing a rotational position optimization (RPO) algorithm in a disk drive for selecting a next command to execute out of a plurality of pending commands, the disk drive comprising a disk and a head actuated radially over the disk, and the RPO algorithm comprising a first phase and a second phase, the method comprising the steps of:

executing the first phase of the RPO algorithm relative to a first priority to compute a seek latency and a rotational latency for at least one of the pending commands in response to at least one non-real-time parameter; and

executing the second phase of the RPO algorithm relative to a second priority higher than the first priority to update at least one of the seek latency and the rotational latency for the at least one pending command in response to at least one real-time parameter.

7. The method as recited in claim 6 , wherein:

(a) the disk drive further comprises:

a plurality of allocation state queues for storing commands comprising cache segments; and

a plurality of allocation states comprising:

an available—allocation state indicating an allocated cache segment storing write data that has been written to the disk;

a valid—allocation state indicating an allocated cache segment storing cached read data; and

a dirty—allocation state indicating an allocated cache segment storing write data not yet written to the disk; and

(b) the non-real time parameter comprises at least one of the allocation states.

8. The method as recited in claim 6 , wherein the non-real time parameter comprises a cache segment size.

9. The method as recited in claim 6 , wherein:

(a) the disk drive further comprises a voice coil motor for actuating the head radially over the disk; and

(b) the real time parameter comprises a temperature of the voice coil motor.

10. The method as recited in claim 6 , wherein the disk comprises a plurality of tracks, each track comprising a plurality of blocks and a plurality of embedded servo sectors recorded at a predetermined interval, further comprising the steps of:

(a) enabling a counter relative to a reference servo sector;

(b) modifying the counter as the head passes each servo sector; and

(c) when the first phase of the RPO algorithm terminates, processing the counter during the second phase of the RPO algorithm to select the next command to execute.

11. A disk drive comprising:

(a) a disk;

(b) a head actuated radially over the disk;

(c) a plurality of allocation state queues for storing commands comprising cache segments;

(d) a plurality of allocation states comprising:

an available allocation state indicating an allocated cache segment storing write data that has been written to the disk;

a valid allocation state indicating an allocated cache segment storing cached read data; and

a dirty allocation state indicating an allocated cache segment storing write data not vet written to the disk; and

(e) a disk controller for executing a rotational position optimization (RPO) algorithm for selecting a next command to execute out of a plurality of pending commands, wherein:

the RPO algorithm comprises a first phase and a second phase;

the first phase of the RPO algorithm is executed relative to a first priority and in response to at least one non-real-time parameter;

the second phase of the RPO algorithm is executed relative to a second priority higher than the first priority and in response to at least one real-time parameter; and

the non-real time parameter comprises at least one of the allocation states.

12. A method of executing a rotational position optimization (RPO) algorithm in a disk drive for selecting a next command to execute out of a plurality of pending commands, the disk drive comprising a disk and a head actuated radially over the disk, a plurality of allocation state queues for storing commands comprising cache segments, and a plurality of allocation states comprising:

an available allocation state indicating an allocated cache segment storing write data that has been written to the disk;

a valid allocation state indicating an allocated cache segment storing cached read data; and

a dirty allocation state indicating an allocated cache segment storing write data not yet written to the disk;

the RPO algorithm comprising a first phase and a second phase, the method comprising the steps of:

executing the first phase of the RPO algorithm relative to a first priority and in response to at least one non-real-time parameter; and

executing the second phase of the RPO algorithm relative to a second priority higher than the first priority and in response to at least one real-time parameter, wherein the non-real time parameter comprises at least one of the allocation states.

Assignments (6)
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 9, 2008
From: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 021502/0451 →