IP Library Granted Patent US 8,595,432
Granted Patent B1
US 8,595,432 · App. 13/237,683 · Granted Nov 26, 2013

Scheduling commands in a dependent array of disk drives

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,595,432
App. No.
13/237,683
Granted
Nov 26, 2013
Kind
B1
Abstract

A disk drive is disclosed comprising a head actuated over a disk. The disk drive receives a plurality of access commands including a first access command out of a group G of access commands. The access commands are stored in a command queue. A completion status is received for a number of access commands out of the G access commands that are assigned to other disk drives, and the first access command is selected from the command queue based on the completion status.

Claims (67)

1. A disk drive comprising:

a disk;

a head actuated over the disk; and

control circuitry operable to:

receive a plurality of access commands including a first access command out of a group G of access commands;

store the access commands in a command queue;

receive a completion status for a number of access commands out of the G access commands that are assigned to other disk drives;

select the first access command from the command queue based on the completion status; and

execute the first access command.

2. The disk drive as recited in claim 1 , wherein the completion status comprises a number of access commands out of the G access commands that are pending in the other disk drives.

3. The disk drive as recited in claim 1 , wherein the completion status comprises a number of access commands out of the G access commands that are completed by other disk drives.

4. The disk drive as recited in claim 1 , wherein the control circuitry is further operable to:

estimate a seek latency of the head and a rotational latency of the disk associated with executing each access command stored in the command queue; and

select the first access command from the command queue based on the completion status, the seek latency, and the rotational latency estimated for the first access command.

5. The disk drive as recited in claim 4 , wherein the control circuitry is further operable to:

estimate an access time first_T corresponding to the seek latency and the rotational latency;

adjust the first_T in response to the completion status; and

select the first access command from the command queue based on the adjusted first_T.

6. The disk drive as recited in claim 5 , wherein the control circuitry is further operable to adjust the first_T according to:

(first — T +( TFOD ( Q )*( G−F− 1)))/ G

where:

TFOD(Q) represents an average time for the other disk drives to complete a single access command at a command queue depth of Q; and

F represents a number of the access commands out of the G access commands completed by the other disk drives.

7. The disk drive as recited in claim 5 , wherein the control circuitry is further operable to adjust the first_T according to:

(first — T *( G−F ))/ G

where F represents a number of the access commands out of the G access commands completed by the other disk drives.

8. The disk drive as recited in claim 5 , wherein the control circuitry is further operable to:

estimate an access time second_T for a second access command stored in the command queue; and

when the second_T is less than the adjusted first_T, select the second access command from the command queue for execution prior to selecting the first access command from the command queue.

9. The disk drive as recited in claim 1 , wherein the control circuitry is further operable to:

receive the plurality of access commands over a first interface; and

receive the completion status over a second interface.

10. A method of operating a disk drive, the disk drive comprising a head actuated over a disk, the method comprising:

receiving a plurality of access commands including a first access command out of a group G of access commands;

storing the access commands in a command queue;

receiving a completion status for a number of access commands out of the G access commands that are assigned to other disk drives;

selecting the first access command from the command queue based on the completion status; and

executing the first access command.

11. The method as recited in claim 10 , wherein the completion status comprises a number of access commands out of the G access commands that are pending in the other disk drives.

12. The method as recited in claim 10 , wherein the completion status comprises a number of access commands out of the G access commands that are completed by other disk drives.

13. The method as recited in claim 10 , further comprising:

estimating a seek latency of the head and a rotational latency of the disk associated with executing each access command stored in the command queue; and

selecting the first access command from the command queue based on the completion status, the seek latency, and the rotational latency estimated for the first access command.

14. The method as recited in claim 13 , further comprising:

estimating an access time first_T corresponding to the seek latency and the rotational latency;

adjusting the first_T in response to the completion status; and

selecting the first access command from the command queue based on the adjusted first_T.

15. The method as recited in claim 14 , further comprising adjusting the first_T according to:

(first — T +( TFOD ( Q )*( G−F− 1)))/ G

where:

TFOD(Q) represents an average time for the other disk drives to complete a single access command at a command queue depth of Q; and

F represents a number of the access commands out of the G access commands completed by the other disk drives.

16. The method as recited in claim 14 , further comprising adjusting the first_T according to:

(first — T *( G−F ))/ G

where F represents a number of the access commands out of the G access commands completed by the other disk drives.

17. The method as recited in claim 14 , further comprising:

estimating an access time second_T for a second access command stored in the command queue; and

when the second_T is less than the adjusted first_T, selecting the second access command from the command queue for execution prior to selecting the first access command from the command queue.

18. The method as recited in claim 10 , further comprising:

receiving the plurality of access commands over a first interface; and

receiving the completion status over a second interface.

19. A method of scheduling commands in a dependent array of disk drives, the method comprising:

transmitting a first access command out of a group G of access commands to a first disk drive;

transmitting a plurality of the access commands out of the group G of access commands to other disk drives; and

transmitting a completion status to the first disk drive, wherein the completion status identifies a status of the plurality of access commands transmitted to the other disk drives.

20. The method as recited in claim 19 , wherein the completion status comprises a number of access commands out of the G access commands that are pending in the other disk drives.

21. The method as recited in claim 19 , wherein the completion status comprises a number of access commands out of the G access commands that are completed by other disk drives.

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 →