IP Library Granted Patent US 12,373,326
Granted Patent B2
US 12,373,326 · App. 18/523,839 · Granted Jul 29, 2025

Systems and methods for optimizing hard drive throughput

Inventor: David W. Pfitzner (St Peters, AU)
Assignee: Netflix, Inc.
G06F11/3485G06F11/2294G06F11/3058G06F11/3419
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,373,326
App. No.
18/523,839
Granted
Jul 29, 2025
Kind
B2
Abstract

The disclosed computer-implemented method includes accessing a hard drive to measure operational characteristics of the hard drive. The method next includes deriving hard drive health factors used to control the hard drive that are based on the measured operational characteristics. The derived hard drive health factors include an average per-seek time indicating an average amount of time the hard drive spends seeking specified data that is to be read and an average read speed indicating an average amount of time the hard drive spends reading the specified data. The method next includes determining, based on the hard drive health factors and the operational characteristics, an amount of load servicing capacity currently available at the hard drive, and then includes regulating the amount of load servicing performed by the hard drive according to the determined amount of available load servicing capacity. Various other methods, systems, and computer-readable media are also disclosed.

Claims (36)

1. A computer-implemented method comprising:

accessing at least one hard drive to measure one or more operational characteristics of the hard drive;

calculating a scaled hard drive health factor designed to regulate the hard drive based on the measured operational characteristics, the scaled hard drive health factor comprising a measured hard drive capacity that is reduced by a specified hard drive capacity target value;

determining, based on the scaled hard drive health factor, an amount of load servicing capacity currently available at the hard drive, including identifying a service time limit comprising a maximum amount of time between receiving a read request and servicing the read request and identifying a number of read requests that can currently be reordered into a read order that is based on the specified data's location on disk; and

adjusting, based on the identified number of read requests that can currently be reordered, the amount of load servicing performed by the hard drive in a manner that upholds the identified service time limit according to the determined amount of available load servicing capacity based on the scaled hard drive health factor.

2. The computer-implemented method of claim 1 , further comprising deriving one or more hard drive health factors including an average per-seek time indicating an average amount of time the hard drive spends seeking specified data that is to be read and an average read speed indicating an average amount of time the hard drive spends reading the specified data.

3. The computer-implemented method of claim 2 , wherein determining the amount of load servicing capacity is further based on the derived hard drive health factors and the measured operational characteristics.

4. The computer-implemented method of claim 1 , wherein data stored on the hard drive is stored in specified locations on the hard drive, and wherein the amount of load servicing capacity currently available at the hard drive is further determined based on the location of the stored data.

5. The computer-implemented method of claim 4 , wherein more frequently accessed data is stored on an outer portion of the hard drive, and wherein less frequently accessed data is stored on an inner portion of the hard drive.

6. The computer-implemented method of claim 2 , wherein deriving the one or more hard drive health factors includes implementing a queuing delay to estimate at least one of the average per-seek time or the average read speed.

7. The computer-implemented method of claim 1 , wherein the operational characteristics of the hard drive comprise at least one of input/output operations per second (IOPS) read from the hard drive or megabytes per second (MBPS) read from the hard drive.

8. The computer-implemented method of claim 7 , wherein determining, based on the scaled hard drive health factors and the measured operational characteristics, the amount of load servicing capacity currently available at the hard drive further comprises calculating a combined hard drive health factor that comprises a product of the IOPS and an average per-seek time added to the MBPS read divided by an average read speed.

9. The computer-implemented method of claim 8 , wherein determining, based on the scaled hard drive health factors and the measured operational characteristics, the amount of load servicing capacity currently available at the hard drive further comprises:

calculating a combined hard drive health factor that comprises a product of the IOPS and the average per-seek time added to the MBPS read divided by the average read speed; and

estimating a target value for the combined hard drive health factor.

10. The computer-implemented method of claim 9 , wherein adjusting the amount of load servicing performed by the hard drive according to the determined amount of available load servicing capacity further includes adjusting the amount of load servicing performed by the hard drive according to the estimated target value.

11. The computer-implemented method of claim 10 , further comprising establishing respective limits for the calculated combined hard drive health factor and the calculated scaled hard drive health factor.

12. The computer-implemented method of claim 11 , wherein the respective limits for the calculated combined hard drive health factor and the calculated scaled hard drive health factor comprise dynamic limits subject to change based on one or more factors.

13. A system comprising:

at least one physical processor; and

physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to:

access at least one hard drive to measure one or more operational characteristics of the hard drive;

calculate a scaled hard drive health factor designed to regulate the hard drive based on the measured operational characteristics, the scaled hard drive health factor comprising a measured hard drive capacity that is reduced by a specified hard drive capacity target value;

determine, based on the scaled hard drive health factor, an amount of load servicing capacity currently available at the hard drive, including identifying a service time limit comprising a maximum amount of time between receiving a read request and servicing the read request and identifying a number of read requests that can currently be reordered into a read order that is based on the specified data's location on disk; and

adjust, based on the identified number of read requests that can currently be reordered, the amount of load servicing performed by the hard drive in a manner that both upholds the identified service time limit according to the determined amount of available load servicing capacity based on the scaled hard drive health factor.

14. The system of claim 13 , wherein data stored on the hard drive is stored in specified locations on the hard drive, and wherein the amount of load servicing capacity currently available at the hard drive is further determined based on the location of the stored data.

15. The system of claim 14 , wherein more frequently accessed data is stored on an outer portion of the hard drive, and wherein less frequently accessed data is stored on an inner portion of the hard drive.

16. The system of claim 15 , further comprising determining how much data stored on the hard drive is served from the outer portion of the drive and determining how much data stored on the hard drive is served from the inner portion of the drive.

17. The system of claim 16 , wherein data stored on the inner portion of the hard drive is moved to the outer portion of the hard drive upon determining that at least a portion of the data stored on the inner portion of the hard drive is being accessed more frequently than at least a portion of the data stored on the outer portion of the hard drive.

18. The system of claim 13 , wherein the at least one hard drive is part of a cluster of hard drives serving media content over a computer network.

19. The system of claim 18 , wherein the cluster of hard drives serving media content over the computer network is configured to receive and handle multiple simultaneous data read requests, and wherein the determined amount of load servicing capacity currently available at the hard drive indicates whether one or more hard drives should be added to or removed from the cluster of hard drives.

20. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

access at least one hard drive to measure one or more operational characteristics of the hard drive;

calculate a scaled hard drive health factor designed to regulate the hard drive based on the measured operational characteristics, the scaled hard drive health factor comprising a measured hard drive capacity that is reduced by a specified hard drive capacity target value;

determine, based on the scaled hard drive health factor, an amount of load servicing capacity currently available at the hard drive, including identifying a service time limit comprising a maximum amount of time between receiving a read request and servicing the read request and identifying a number of read requests that can currently be reordered into a read order that is based on the specified data's location on disk; and

adjust, based on the identified number of read requests that can currently be reordered, the amount of load servicing performed by the hard drive in a manner that both upholds the identified service time limit according to the determined amount of available load servicing capacity based on the scaled hard drive health factor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2023
From: PFITZNER, DAVID W.
To: NETFLIX, INC.
Reel/Frame 065707/0316 →
Continuity (2)
Continuation 17150507 · Jan 15, 2021
Related Publication 20240095147A1 · Mar 21, 2024
References Cited (32)
US 6015348A · Lambright · 2000 [cited by examiner]
US 6574754B1 · Smith · 2003 [cited by examiner]
US 9063939B2 · Dalton · 2015 [cited by examiner]
US 9069616B2 · Kadatch · 2015 [cited by examiner]
US 9218264B2 · Xavier · 2015 [cited by examiner]
US 9395920B2 · Deng · 2016 [cited by examiner]
US 9503517B1 · Brooker · 2016 [cited by examiner]
US 9776091B1 · Lebrun · 2017 [cited by examiner]
US 9804993B1 · Brooker · 2017 [cited by examiner]
US 9823840B1 · Brooker · 2017 [cited by examiner]
US 10430102B2 · Kaczmarczyk · 2019 [cited by examiner]
US 10695677B2 · Lebrun · 2020 [cited by examiner]
US 10901825B2 · Greco · 2021 [cited by examiner]
US 11212196B2 · Wright · 2021 [cited by examiner]
US 11318390B2 · Lebrun · 2022 [cited by examiner]
US 11379354B1 · Brooker · 2022 [cited by examiner]
US 11899558B2 · Pfitzner · 2024 [cited by examiner]
US 20070244827A1 · Candelore · 2007 [cited by examiner]
US 20130081014A1 · Kadatch · 2013 [cited by examiner]
US 20130117225A1 · Dalton · 2013 [cited by examiner]
US 20130132057A1 · Deng · 2013 [cited by examiner]
US 20150234716A1 · Brooker · 2015 [cited by examiner]
US 20160259569A1 · Povzner · 2016 [cited by examiner]
US 20170131934A1 · Kaczmarczyk · 2017 [cited by examiner]
US 20170147425A1 · Waheed · 2017 [cited by examiner]
US 20170235485A1 · Davis · 2017 [cited by examiner]
US 20180065048A1 · Lebrun · 2018 [cited by examiner]
US 20200142788A1 · Hu · 2020 [cited by examiner]
US 20200251143A1 · Nangare · 2020 [cited by examiner]
US 20200391119A1 · Lebrun · 2020 [cited by examiner]
Vandebogart, Steve, Christopher Frost, and Eddie Kohler. “Reducing Seek Overhead with Application-Directed Prefetching.” USENIX Annual Technical Conference. 2009. (Year: 2009). [cited by examiner]
Examination Report received for Australian application 2022208002 mailed Dec. 20, 2023. [cited by applicant]