IP Library Granted Patent US 12,300,283
Granted Patent B1
US 12,300,283 · App. 18/410,679 · Granted May 13, 2025

Data storage device executing host access commands in a manner to optimize performance and reduce energy costs

Inventors: Stephen Cauterucio (San Jose, CA); Abigail Cheng (Aliso Viejo, CA); Andrew Larson (Rochester, MN)
Assignee: Western Digital Technologies, Inc.
G11B5/5547
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 12,300,283
App. No.
18/410,679
Granted
May 13, 2025
Kind
B1
Abstract

A data storage device executes access commands received from a host by a recording head actuated over a magnetic storage medium. A target command is selected from queued host access commands. A free command is selected that can be executed during a time required for a seek from the recording head location to a target command location. A seek energy difference between the energy required to seek from the recording head location to a free command location to the target command location, and to seek from the recording head location directly to the target command location is determined. The device seeks to and executes the free and target commands if the seek energy difference is less than a threshold, and seeks directly to the target command if the seek energy difference is greater than the threshold.

Claims (60)

1. A data storage device comprising:

a magnetic storage medium;

a recording head configured to be actuated over the magnetic storage medium; and

control circuitry configured to:

select a target command from one or more access commands received from a host and stored in a host queue;

select a free command that can be executed during a target seek time required for a target seek from a recording head location to a target command location on the magnetic storage medium;

determine a seek energy difference between (a) a sum of a first free seek energy required to seek from the recording head location to a free command location and a second free seek energy required to seek from the free command location to the target command location, and (b) a target seek energy required to seek from the recording head location directly to the target command location;

in response to the seek energy difference being less than a predetermined threshold, seek to and execute the free command and then seek to and execute the target command; and

in response to the seek energy difference being greater than the predetermined threshold, seek directly to and execute the target command.

2. The data storage device of claim 1 , wherein the control circuitry is further configured to select the target command by balancing the target seek time with an energy cost of the target seek.

3. The data storage device of claim 1 , wherein the control circuitry is further configured to dynamically move the predetermined threshold based on an amount of free storage space remaining in a device cache.

4. The data storage device of claim 3 , wherein the control circuitry is further configured to:

responsive to the amount of free storage space remaining in the device cache increasing, dynamically move the predetermined threshold to a decreased seek energy difference; and

responsive to the amount of free storage space remaining in the device cache decreasing, dynamically move the predetermined threshold to an increased seek energy difference.

5. The data storage device of claim 3 , wherein the host queue has a queue depth (QD) of one.

6. The data storage device of claim 3 , wherein the control circuitry is further configured to move write commands stored in the host queue and received from the host to the device cache.

7. The data storage device of claim 6 , wherein:

the target command is a read command; and

the free command is a write command.

8. The data storage device of claim 3 , wherein the device cache is a Dynamic Random-Access Memory (DRAM).

9. The data storage device of claim 3 , wherein the control circuitry is further configured to select the free command from the device cache.

10. The data storage device of claim 1 , wherein the control circuitry is further configured to select the free command from background commands of the data storage device.

11. The data storage device of claim 1 , wherein the control circuitry is further configured to select the free command from the host queue as part of a leapfrog sort.

12. The data storage device of claim 1 , wherein the control circuitry is further configured to execute multiple free commands during the target seek time required for the target seek from the recording head location to the target command location.

13. A method for executing access commands received from a host in a data storage device having a recording head configured to be actuated over a magnetic storage medium, the method comprising:

selecting a target command from one or more access commands received from the host and stored in a host queue;

selecting a free command that can be executed during a target seek time required for a target seek from a recording head location to a target command location on the magnetic storage medium;

determining a seek energy difference between (a) a sum of a first free seek energy required to seek the recording head from the recording head location to a free command location and a second free seek energy required to seek the recording head from the free command location to the target command location, and (b) a target seek energy required to seek the recording head from the recording head location directly to the target command location; and

(1) in response to the seek energy difference being less than a predetermined threshold, seeking the recording head from the recording head location to the free command location, based at least in part on executing the free command, and then seeking the recording head from the free command location to the target command location, based at least in part on executing the target command; or

(2) in response to the seek energy difference being greater than the predetermined threshold, directly seeking the recording head from the recording head location to the target command location, based at least in part on executing the target command.

14. The method of claim 13 , further comprising:

selecting the target command by balancing the target seek time with an energy cost of the target seek.

15. The method of claim 13 , further comprising:

dynamically moving the predetermined threshold based on an amount of free storage space remaining in a device cache.

16. The method of claim 15 , further comprising:

responsive to the amount of free storage space remaining in the device cache increasing, dynamically moving the predetermined threshold to a decreased seek energy difference; and

responsive to the amount of free storage space remaining in the device cache decreasing, dynamically moving the predetermined threshold to an increased seek energy difference.

17. The method of claim 15 , further comprising:

moving write commands stored in the host queue and received from the host to the device cache.

18. The method of claim 17 , wherein:

the target command is a read command; and

the free command is a write command.

19. One or more processing devices or components configured, individually or in combination, to execute access commands received from a host in a data storage device having a recording head configured to be actuated over a magnetic storage medium, the one or more processing devices or components comprising, individually or in combination:

means for selecting a target command from one or more access commands received from the host, wherein the one or more access commands are stored in a host queue;

means for selecting a free command that can be executed during a target seek time required for a target seek from a recording head location to a target command location on the magnetic storage medium;

means for determining a seek energy difference between (a) a sum for a first seek energy required to seek the recording head from the recording head location to a free command location and a second seek energy required to seek the recording head from the free command location to the target command location, and (b) a target seek energy required to seek the recording head from the recording head location directly to the target command location; and

(1) in response to the seek energy difference being less than a predetermined threshold, means for seeking the recording head from the recording head location to the free command location, based at least in part on executing the free command, and then means for seeking the recording head from the free command location to the target command location, based at least in part on executing the target command; or

(2) in response to the seek energy difference being greater than the predetermined threshold, means for directly seeking the recording head from the recording head location to the target command location, based at least in part on executing the target command.

20. The one or more processing devices or components of claim 19 , further comprising, individually or in combination:

means for selecting the target command by balancing the target seek time with an energy cost of the target seek.

21. The one or more processing devices or components of claim 19 , further comprising, individually or in combination:

means for dynamically moving the predetermined threshold based on an amount of free storage space remaining in a device cache.

22. The one or more processing devices or components of claim 21 , further comprising, individually or in combination:

means for dynamically moving the predetermined threshold to a decreased seek energy difference, responsive to the amount of free storage space remaining in the device cache increasing; and

means for dynamically moving the predetermined threshold to an increased seek energy difference, responsive to the amount of free storage space remaining in the device cache decreasing.

23. The one or more processing devices or components of claim 21 , further comprising, individually or in combination:

means for moving write commands stored in the host queue and received from the host to the device cache.

24. The one or more processing devices or components of claim 23 , wherein:

the target command is a read command; and

the free command is a write command.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2024
From: CAUTERUCIO, STEPHEN; CHENG, ABIGAIL; LARSON, ANDREW
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069354/0308 →
PATENT COLLATERAL AGREEMENT (AR) Recorded May 15, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 067417/0329 →
PATENT COLLATERAL AGREEMENT (DDTL) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0206 →
PATENT COLLATERAL AGREEMENT (AR) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0284 →
References Cited (23)
US 4039918A · Cheng · 1977 [cited by examiner]
US 5418971A · Carlson · 1995 [cited by examiner]
US 5570332A · Heath · 1996 [cited by examiner]
US 5854941A · Ballard · 1998 [cited by examiner]
US 6145052A · Howe · 2000 [cited by examiner]
US 6987639B1 · Yu · 2006 [cited by examiner]
US 7450334B1 · Wang · 2008 [cited by examiner]
US 8797669B1 · Burton · 2014 [cited by examiner]
US 9600205B1 · Nowell et al. · 2017 [cited by applicant]
US 10014018B1 · Kiyonaga · 2018 [cited by examiner]
US 11010099B1 · Hall · 2021 [cited by applicant]
US 11295781B1 · Liu · 2022 [cited by examiner]
US 11656797B2 · Hall · 2023 [cited by applicant]
US 20030033474A1 · Lin · 2003 [cited by examiner]
US 20030174433A1 · Espeseth · 2003 [cited by examiner]
US 20120260047A1 · Haines et al. · 2012 [cited by applicant]
US 20200286512A1 · Hall · 2020 [cited by examiner]
US 20210096764A1 · Calfee · 2021 [cited by examiner]
JP 2003308176A · 2003 [cited by applicant]
Hikida et al., A Power Saving Storage Method That Considers Individual Disk Rotation, Retrieved from https://link.springer.com/chapter/10.1007/978-3-642-29035-0_10, 2012, pp. 2. [cited by applicant]
Mhdawy et al., An Energy Effiecient Approach for Big Data Mass Storage Systems Using a Sequential Cache, Dec. 15, 2022, Journal of Theoretical And Applied Information Technology, vol. 100, No. 23, pp. 6882-6890. [cited by applicant]
Yu et al., A Dynamic Disk Drive Power Management Algorithm, Retrieved from https://cseweb.ucsd.edu/classes/fa05/cse226/public_html/PROJECTS/DynamicSpindown.pdf on Jul. 19, 2023, pp. 15. [cited by applicant]
Zedlewski et al., Modeling Hard-Disk Power Consumption, Retrieved from https://homes.cs.washington.edu/˜arvind/papers/dempsey.pdf on Jul. 19, 2023, pp. 14. [cited by applicant]