IP Library Granted Patent US 11,507,502
Granted Patent B2
US 11,507,502 · App. 17/182,829 · Granted Nov 22, 2022

Data storage device performance prediction based on valid fragment count

Inventors: Narendhiran Chinnaanangur Ravimohan (Bangalore, IN); Meenakshi C (Bangalore, IN); Michael Lavrentiev (Milpitas, CA)
Assignee: Western Digital Technologies, Inc.
G06F12/0261G06F2212/1044
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 11,507,502
App. No.
17/182,829
Granted
Nov 22, 2022
Kind
B2
Abstract

Systems and methods data storage device performance prediction based on garbage collection resources are described. The data storage device may process host storage operations and determine a valid fragment count parameter for a current or future data block. Based on the valid fragment count parameter a predicted performance value for host storage operations is determined and the host device is notified of the predicted performance value.

Claims (94)

1. A data storage device comprising:

a storage medium configured to store host data; and

a storage device controller, comprising a processor and memory, configured to:

receive storage operations from a host device;

process garbage collection operations in parallel with the received storage operations;

determine, based on the garbage collection operations, a plurality of operating parameter values;

determine, using a valid fragment count prediction function and the plurality of operating parameter values, a valid fragment count parameter for a future time;

determine, based on the valid fragment count parameter, a predicted performance value for host storage operations; and

notify, through a host interface, the host device of the predicted performance value.

2. The data storage device of claim 1 , wherein:

the valid fragment count parameter is based on a valid fragment count value of a data block selected for garbage collection; and

the storage device controller is further configured to:

determine at least one performance threshold corresponding to at least one range of valid fragment count values for predicted performance values;

compare the valid fragment count value to the at least one performance threshold; and

initiate, responsive to the valid fragment count value meeting the at least one performance thresholds, notification of the host device.

3. The data storage device of claim 2 , wherein:

the at least one performance threshold includes:

a first performance threshold; and

a second performance threshold; and

the storage device controller is further configured to:

determine, responsive to the first performance threshold being met by the valid fragment count value, a first predicted performance value; and

determine, responsive to the second performance threshold being met by the valid fragment count value, a second predicted performance value.

4. The data storage device of claim 1 , wherein the storage device controller is further configured to:

determine a trigger condition for garbage collection; and

initiate, responsive to the trigger condition for garbage collection being met, determining the valid fragment count parameter.

5. The data storage device of claim 1 , wherein the storage device controller is further configured to:

determine a free block count;

compare the free block count to a performance predictor trigger threshold; and

initiate, responsive to the free block count meeting the performance predictor trigger threshold, determining the valid fragment count parameter.

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

the storage device controller is further configured to determine a host access pattern; and

determining the predicted performance value for host storage operations is further based on the host access pattern.

7. The data storage device of claim 1 , wherein determining the valid fragment count parameter includes:

determining a performance window; and

determining each operating parameter value of the plurality of operating parameter values over the performance window.

8. The data storage device of claim 1 , wherein:

determining the valid fragment count parameter includes determining a prediction horizon value;

the valid fragment count prediction function uses the prediction horizon value to determine the valid fragment count parameter for the future time; and

the future time corresponds to the prediction horizon value.

9. The data storage device of claim 1 , wherein the plurality of operating parameter values include:

an invalid data ratio value;

a write amplification value; and

a nonzero valid fragment count value.

10. The data storage device of claim 1 , wherein:

the storage device controller is further configured to:

store a correlation table between valid fragment count parameter values and predicted performance values for determining the predicted performance value; and

determine, based on the predicted performance value, at least one indicator value; and

notifying the host device of the predicted performance value includes providing the at least one indicator value in a notification to the host device.

11. A computer-implemented method, comprising:

receiving, by a data storage device, storage operations from a host device;

processing garbage collection operations in parallel with the received storage operations;

determining, based on the garbage collection operations, a plurality of operating parameter values;

determining, by the data storage device, a valid fragment count parameter for a future time using a valid fragment count prediction function and the plurality of operating parameter values;

determining, by the data storage device and based on the valid fragment count parameter, a predicted performance value for host storage operations; and

notifying, by the data storage device, the host device of the predicted performance value.

12. The computer-implemented method of claim 11 , further comprising:

determining, by the data storage device, at least one performance threshold corresponding to at least one range of valid fragment count values for predicted performance values;

comparing, by the data storage device, a valid fragment count value to the at least one performance threshold, wherein the valid fragment count parameter is based on the valid fragment count value of a data block selected for garbage collection; and

initiating, responsive to the valid fragment count value meeting the at least one performance threshold, notification of the host device.

13. The computer-implemented method of claim 12 , further comprising:

determining, by the data storage device and responsive to a first performance threshold being met by the valid fragment count value, a first predicted performance value; and

determining, by the data storage device and responsive to a second performance threshold being met by the valid fragment count value, a second predicted performance value.

14. The computer-implemented method of claim 11 , further comprising:

determining, by the data storage device, a trigger condition for garbage collection; and

initiating, by the data storage device and responsive to the trigger condition for garbage collection being met, determining the valid fragment count parameter.

15. The computer-implemented method of claim 11 , further comprising:

determining, by the data storage device, a free block count;

comparing, by the data storage device, the free block count to a performance predictor trigger threshold; and

initiating, by the data storage device and responsive to the free block count meeting the performance predictor trigger threshold, determining the valid fragment count parameter.

16. The computer-implemented method of claim 11 , further comprising:

determining, by the data storage device, a host access pattern, wherein determining the predicted performance value for host storage operations is further based on the host access pattern.

17. The computer-implemented method of claim 11 , wherein

determining the valid fragment count parameter includes:

determining, by the data storage device, a performance window; and

determining, by the data storage device, each operating parameter value of the plurality of operating parameter values over the performance window.

18. The computer-implemented method of claim 11 , wherein:

determining the valid fragment count parameter includes determining a prediction horizon value;

the valid fragment count prediction function uses the prediction horizon value to determine the valid fragment count parameter for the future time; and

the future time corresponds to the prediction horizon value.

19. The computer-implemented method of claim 11 , further comprising:

storing, in the data storage device, a correlation table between valid fragment count parameter values and predicted performance values for determining the predicted performance value; and

determining, by the data storage device and based on the predicted performance value, at least one indicator value, wherein notifying the host device of the predicted performance value includes providing the at least one indicator value in a notification to the host device.

20. A data storage device, comprising:

a storage medium configured to store host data;

a storage device controller comprising:

a processor;

an operating memory; and

a host interface configured for communication with a host device;

means for receiving storage operations from a host device;

means for processing garbage collection operations in parallel with the received storage operations;

means for determining, based on the garbage collection operations, a plurality of operating parameter values;

means for determining, using a valid fragment count prediction function and the plurality of operating parameter values, a valid fragment count parameter for a future time;

means for determining, based on the valid fragment count parameter, a predicted performance value for host storage operations; and

means for notifying the host device of the predicted performance value.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2021
From: RAVIMOHAN, NARENDHIRAN CHINNAANANGUR; C, MEENAKSHI; LAVRENTIEV, MICHAEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055377/0692 →