IP Library Granted Patent US 8,683,469
Granted Patent B2
US 8,683,469 · App. 11/848,174 · Granted Mar 25, 2014

Adaptive command scheduling

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,683,469
App. No.
11/848,174
Granted
Mar 25, 2014
Kind
B2
Abstract

A system for enhancing command scheduling is provided. In particular embodiments, the system includes a processor and a scheduler that receives commands from the processor for accessing a storage device. The scheduler receives a set of commands, some of which have a deadline, and the scheduler is configured to determine an execution order for those commands. The scheduler is also configured to defer the execution of one or more of those commands to a later time.

Claims (33)

1. A system comprising:

a processor; and

a scheduler that receives commands from the processor for accessing a storage device, wherein the scheduler is configured to:

determine a deadline for each of the commands; and

issue at least one of the commands to the storage device at a deferred time if the deadline for the at least one of the commands falls after a time threshold,

wherein the scheduler executes a first set of the commands in a first order if the scheduler determines that the first set of the commands have deadlines in a first scheduling time window, and wherein the scheduler executes a second set of the commands in a second order that is different than the first order if the scheduler determines that the second set of the commands have deadlines in a second scheduling time window,

wherein the scheduler is configured to execute the first set of the commands having deadlines in the first scheduling time window in earliest deadline first order, and wherein the scheduler is configured to execute the second set of the commands having deadlines in the second scheduling time window in cylinder scan order.

2. The system defined in claim 1 wherein the deferred time is based at least in part on feedback associated with at least one actual command completion time.

3. The system defined in claim 1 wherein the deferred time adapts over time to variations in actual command completion times.

4. The system defined in claim 1 wherein the time threshold is based at least in part on feedback associated with at least one actual command completion time.

5. The system defined in claim 1 wherein the time threshold adapts over time to variations in actual command completion times.

6. The system defined in claim 1 wherein the time threshold adapts over time based on command completion times of a stochastic hard disk drive model.

7. The system defined in claim 1 wherein the scheduler is configured to execute a third set of the commands having deadlines in a third scheduling time window in cylinder scan order.

8. The system defined in claim 1 wherein the commands are associated with reading and writing data from the storage device, and wherein the scheduler groups the first set of the commands into a batch, defers the first set of the commands until closer to the deadlines of the first set of the commands, and executes the first set of the commands in the batch.

9. A computer system that comprises code for a command scheduler, wherein the code is stored on a non-transitory computer readable medium, the computer system comprising:

code for determining a deadline for each command of a plurality of commands for accessing a storage device; and

code for issuing at least one of the commands to the storage device at a deferred time if the deadline for the at least one of the commands falls after a time threshold, wherein the command scheduler executes a first set of the commands in a first order if the command scheduler determines that the first set of the commands have deadlines in a first scheduling time window, and wherein the command scheduler executes a second set of the commands in a second order that is different than the first order if the command scheduler determines that the second set of the commands have deadlines in a second scheduling time window, and

wherein the command scheduler executes the first set of the commands having deadlines in the first scheduling time window in earliest deadline first order and the second set of the commands having deadlines in the second scheduling time window in cylinder scan order.

10. The computer system defined in claim 9 wherein the deferred time is based at least in part on feedback associated with at least one actual command completion time.

11. The computer system defined in claim 9 wherein the deferred time adapts over time to variations in actual command completion times.

12. The computer system defined in claim 9 wherein the time threshold is based at least in part on feedback associated with at least one actual command completion time.

13. The computer system defined in claim 9 wherein the time threshold adapts over time to variations in actual command completion times.

14. The computer system defined in claim 9 wherein the time threshold adapts over time based on command completion times of a stochastic hard disk drive model.

15. The computer system defined in claim 9 wherein the first scheduling time window is a sliding window that moves while time advances.

16. A method for a command scheduler, the method comprising:

determining a deadline for each command of a plurality of commands for accessing a storage device; and

issuing at least one of the commands to the storage device at a deferred time if the deadline for the at least one of the commands falls after a time threshold, wherein the command scheduler executes a first set of the commands in a first order if the command scheduler determines that the first set of the commands have deadlines in a first scheduling time window, and wherein the command scheduler executes a second set of the commands in a second order that is different than the first order if the command scheduler determines that the second set of the commands have deadlines in a second scheduling time window, and

wherein the command scheduler executes the first set of the commands having deadlines in the first scheduling time window in earliest deadline first order and the second set of the commands having deadlines in the second scheduling time window in cylinder scan order.

17. The method defined in claim 16 wherein the deferred time is based at least in part on feedback associated with at least one actual command completion time.

18. The method defined in claim 16 wherein the deferred time adapts over time to variations in actual command completion times.

19. The method defined in claim 16 wherein the time threshold is based at least in part on feedback associated with at least one actual command completion time.

20. The method defined in claim 16 wherein the time threshold adapts over time to variations in actual command completion times.

21. The method defined in claim 16 wherein the command scheduler executes non-real-time best-effort commands in cylinder scan order.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040821/0550 →
CHANGE OF NAME Recorded Oct 25, 2012
From: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V.
To: HGST NETHERLANDS B.V.
Reel/Frame 029341/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2007
From: MOLARO, DONALD JOSEPH; DE SOUZA, JORGE CAMPELLO; NEW, RICHARD M.H.; LE MOAL, DAMIEN C.D.
To: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS, B.V.
Reel/Frame 019770/0464 →