IP Library Granted Patent US 12,541,308
Granted Patent B2
US 12,541,308 · App. 18/132,230 · Granted Feb 3, 2026

Reliability assessment for use with power-per-processing event estimations within a data storage device

Inventors: Ariel Navon (Revava, IL); Eran Sharon (Rishon Lezion, IL); Yoseph Hassan (Nechusha, IL); Shay Benisty (Beer Sheeva, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0625G06F3/0653G06F3/0679
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,541,308
App. No.
18/132,230
Granted
Feb 3, 2026
Kind
B2
Abstract

Methods and apparatus for power management in data storage devices are provided. One such data storage device (DSD) includes a non-volatile memory (NVM), a set of hardware processing engines, and a power sensor to measure a total power consumption of the set of hardware processing engines. A processor is configured to determine a power-per-processing event value for each of the set of processing engines based on total power consumption measurements, then control delivery of power to the processing engines based on the power-per-processing event values in accordance with a power budget. In some examples, the DSD employs a least-squares procedure to estimate the power-per-processing event values so the values can be determined without needing to measure the individual power consumption of the processing engines. Procedures are also provided for assessing the accuracy of the power-per-processing event values and for controlling further operations based on the assessment.

Claims (109)

1 . A data storage device, comprising:

a non-volatile memory (NVM);

a plurality of processing devices configured to process data stored in the NVM;

a power sensor configured to measure a total power consumption of the plurality of processing devices; and

one or more processors configured, individually or in combination, to:

store a plurality of total power consumption values obtained from the power sensor at different times;

for each total power consumption value of the plurality of total power consumption values, store an indication of particular processing devices of the plurality of processing devices that were operating while a corresponding total power consumption value was measured by the power sensor;

determine power-per-processing event values for each processing device of the plurality of processing devices based on the stored plurality of total power consumption values and the stored indications of the particular processing devices; and

control a delivery of power to the plurality of processing devices based on the power-per-processing event values.

2 . The data storage device of claim 1 , wherein the one or more processors are configured, individually or in combination, to control the delivery of power to the plurality of processing devices by being further configured to:

estimate an updated total power consumption value from the power-per-processing event values;

measure an updated total power consumption value using the power sensor;

compare the estimated updated total power consumption value to the measured updated total power consumption value to determine a difference value; and

determine whether the difference value exceeds a difference threshold.

3 . The data storage device of claim 2 , wherein the one or more processors are configured, individually or in combination, to control the delivery of power to the plurality of processing devices, in response to the difference value not exceeding the difference threshold, by being further configured to:

control the delivery of power to the plurality of processing devices using a current set of the power-per-processing event values.

4 . The data storage device of claim 2 , wherein the one or more processors are configured, individually or in combination, to control the delivery of power to the plurality of processing devices, in response to the difference value exceeding the difference threshold, by being further configured to:

update the power-per-processing event values based on the measured updated total power consumption; and

control the delivery of power to the plurality of processing devices using an updated set of the power-per-processing event values.

5 . The data storage device of claim 2 , wherein the one or more processors are configured, individually or in combination, to control the delivery of power to the plurality of processing devices, in response to the difference value exceeding the difference threshold, by being further configured to:

send the measured updated total power consumption to a host for off-line processing;

receive updated power-per-processing event values from the host; and

control the delivery of power to the plurality of processing devices using an updated set of the power-per-processing event values received from the host.

6 . The data storage device of claim 2 , wherein the one or more processors are configured, individually or in combination, to control the delivery of power to the plurality of processing devices, in response to the difference value exceeding the difference threshold, by being further configured to:

obtain default power-per-processing event values; and

control the delivery of power to the plurality of processing devices using the default power-per-processing event values.

7 . The data storage device of claim 2 , wherein the one or more processors are configured, individually or in combination, to control the delivery of power, in response to the difference value exceeding the difference threshold, by being further configured to:

adjust a power-per-processing event estimation parameter;

update the power-per-processing event values based on the measured updated total power consumption value using the adjusted estimation parameter; and

control the delivery of power to the plurality of processing devices using an updated set of the power-per-processing event values.

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

the power-per-processing event estimation parameter comprises a weight (α) to be applied to one or more total power consumption values while determining the power-per-processing event values, and

the one or more processors are further configured, individually or in combination, to adjust the weight (α).

9 . The data storage device of claim 2 , wherein the one or more processors are further configured, individually or in combination, to estimate the updated total power consumption value from the power-per-processing event values by being further configured, individually or in combination, to determine particular processing devices of the plurality of processing devices that are operating and summing the power-per-processing event values of the particular processing devices along with a baseline power value.

10 . The data storage device of claim 1 , wherein the one or more processors are configured, individually or in combination, to control the delivery of power to the plurality of processing devices by being further configured to:

determine the power-per-processing event values using an inference model;

obtain a reliability score from the inference model; and

control the delivery of power to the plurality of processing devices based on the reliability score.

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

the data storage device further comprises a temperature sensor, and

the one or more processors are further configured, individually or in combination, to adjust a power-per-processing event estimation parameter based on a temperature measured using the temperature sensor.

12 . The data storage device of claim 1 , wherein the one or more processors are further configured, individually or in combination, to:

determine an amount of available device resources;

compare the amount of available device resources to a resource availability threshold;

in response to the amount of available device resources exceeding the resource availability threshold, update the power-per-processing event values based on an updated total power consumption obtained from the power sensor; and

in response to the amount of available device resources not exceeding the resource threshold, send the updated total power consumption to a host for off-line processing, and receive updated power-per-processing event values from the host.

13 . The data storage device of claim 12 , wherein the one or more processors are configured, individually or in combination, to determine the amount of available device resources by being further configured to determine an amount of one or more of: computational resources, power resources, and bandwidth resources.

14 . A method for use by a data storage device comprising a non-volatile memory (NVM), a power sensor, and a plurality of processing devices configured to process data stored in the NVM, the method comprising:

storing a plurality of total power consumption values obtained from the power sensor at different times;

for each total power consumption value of the plurality of total power consumption values, storing an indication of particular processing devices of the plurality of processing devices that were operating while a corresponding total power consumption value was measured by the power sensor;

determining power-per-processing event values for each processing device of the plurality of processing devices based on the stored total power consumption values and the stored indications of the particular processing devices; and

controlling a delivery of power to the plurality of processing devices based on the power-per-processing event values.

15 . The method of claim 14 , wherein controlling the delivery of power to the plurality of processing devices based on the power-per-processing event values further comprises:

estimating an updated total power consumption value from the power-per-processing event values;

measuring an updated total power consumption value using the power sensor;

comparing the estimated updated total power consumption value to the measured updated total power consumption value to determine a difference value; and

determining whether the difference value exceeds a difference threshold.

16 . The method of claim 15 , wherein controlling the delivery of power in response to the difference value not exceeding the difference threshold comprises controlling the delivery of power to the plurality of processing devices using a current set of the power-per-processing event values.

17 . The method of claim 15 , wherein controlling the delivery of power in response to the difference value exceeding the difference threshold comprises:

updating the power-per-processing event values based on the measured updated total power consumption; and

controlling the delivery of power using an updated set of the power-per-processing event values.

18 . The method of claim 15 , wherein controlling the delivery of power to the plurality of processing devices based on the power-per-processing event values further comprises:

determining the power-per-processing event values using an inference model;

obtaining a reliability score from the inference model; and

controlling the delivery of power to the plurality of processing devices based on the reliability score.

19 . An apparatus for use in a data storage device, the apparatus comprising:

a non-volatile memory (NVM);

a plurality of processing devices configured to process data stored in the NVM;

means for measuring a total power consumption of the plurality of processing devices;

means for storing a plurality of total power consumption values obtained from the means for measuring the total power consumption at different times;

means for storing an indication of particular processing devices of the plurality of processing devices that were operating while a corresponding total power consumption value was measured by the means for measuring the total power consumption;

means for determining power-per-processing event values for each processing device of the plurality of processing devices based on the stored total power consumption values obtained from the means for measuring the total power consumption and the stored indications of the particular processing devices; and

means for controlling a delivery of power to the plurality of processing devices based on the power-per-processing event values.

20 . A data storage device, comprising:

a non-volatile memory (NVM);

a plurality of processing devices configured to process data stored in the NVM;

a power sensor configured to measure a total power consumption of the plurality of processing devices; and

one or more processors configured, individually or in combination, to:

determine power-per-processing event values for each processing device of the plurality of processing devices based on total power consumption values obtained from the power sensor;

control a delivery of power to the plurality of processing devices based on the power-per-processing event values;

determine an amount of available device resources;

compare the amount of available device resources to a resource availability threshold;

in response to the amount of available device resources exceeding the resource availability threshold, update the power-per-processing event values based on updated total power consumption values obtained from the power sensor; and

in response to the amount of available device resources not exceeding the resource threshold, send updated total power consumption values to a host for off-line processing and receive updated power-per-processing event values from the host.

21 . A method for use by a data storage device comprising a non-volatile memory (NVM), a power sensor, and a plurality of processing devices configured to process data stored in the NVM, the method comprising:

determining power-per-processing event values for each processing device of the plurality of processing devices based on total power consumption values obtained from the power sensor;

controlling a delivery of power to the plurality of processing devices based on the power-per-processing event values;

determining an amount of available device resources;

comparing the amount of available device resources to a resource availability threshold;

in response to the amount of available device resources exceeding the resource availability threshold, updating the power-per-processing event values based on updated total power consumption values obtained from the power sensor; and

in response to the amount of available device resources not exceeding the resource threshold, sending updated total power consumption values to a host for off-line processing and receiving updated power-per-processing event values from the host.

22 . A data storage device, comprising:

a non-volatile memory (NVM);

a plurality of processing devices configured to process data stored in the NVM;

a power sensor configured to measure a total power consumption of the plurality of processing devices; and

one or more processors configured, individually or in combination, to:

determine power-per-processing event values for each processing device of the plurality of processing devices based on total power consumption values obtained from the power sensor;

estimate an updated total power consumption value from the power-per-processing event values by being further configured to determine particular processing devices of the plurality of processing devices that are operating and sum the power-per-processing event values of the particular processing devices along with a baseline power value;

measure an updated total power consumption value using the power sensor;

compare the estimated updated total power consumption value to the measured updated total power consumption value to determine a difference value;

determine whether the difference value exceeds a difference threshold; and

control a delivery of power to the plurality of processing devices based on the power-per-processing event values and based on whether the difference value exceeds the difference threshold.

23 . A method for use by a data storage device comprising a non-volatile memory (NVM), a power sensor, and a plurality of processing devices configured to process data stored in the NVM, the method comprising:

determining power-per-processing event values for each processing device of the plurality of processing devices based on total power consumption values obtained from the power sensor;

estimating an updated total power consumption value from the power-per-processing event values by being further configured to determine particular processing devices of the plurality of processing devices that are operating and sum the power-per-processing event values of the particular processing devices along with a baseline power value;

measuring an updated total power consumption value using the power sensor;

comparing the estimated updated total power consumption value to the measured updated total power consumption value to determine a difference value;

determining whether the difference value exceeds a difference threshold; and

controlling a delivery of power to the plurality of processing devices based on the power-per-processing event values and based on whether the difference value exceeds the difference threshold.

Assignments (3)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2023
From: NAVON, ARIEL; SHARON, ERAN; HASSAN, YOSEPH; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 063686/0912 →
Continuity (2)
Continuation In Part 17959037 · Oct 3, 2022
Related Publication 20240111438A1 · Apr 4, 2024
References Cited (43)
US 8718798B2 · Bultman et al. · 2014 [cited by applicant]
US 8732635B2 · Lewis et al. · 2014 [cited by applicant]
US 8904209B2 · Davis et al. · 2014 [cited by applicant]
US 8938630B2 · Jeddeloh · 2015 [cited by applicant]
US 8949637B2 · Knight · 2015 [cited by applicant]
US 8966293B1 · Dutch et al. · 2015 [cited by applicant]
US 9851771B2 · Cooper · 2017 [cited by examiner]
US 9977487B2 · Choi et al. · 2018 [cited by applicant]
US 10996733B2 · Lee et al. · 2021 [cited by applicant]
US 11016545B2 · Yang et al. · 2021 [cited by applicant]
US 11048448B2 · Suzuki et al. · 2021 [cited by applicant]
US 11244242B2 · Prakash et al. · 2022 [cited by applicant]
US 11307778B2 · Klein · 2022 [cited by applicant]
US 11847327B2 · Palmer · 2023 [cited by applicant]
US 12019413B2 · Brophy et al. · 2024 [cited by applicant]
US 20070266269A1 · Fuchikami · 2007 [cited by applicant]
US 20090016137A1 · Hur et al. · 2009 [cited by applicant]
US 20100275047A1 · Kaneko · 2010 [cited by applicant]
US 20100275050A1 · Hong · 2010 [cited by examiner]
US 20130097433A1 · Boorman · 2013 [cited by examiner]
US 20130262904A1 · Kazama · 2013 [cited by examiner]
US 20140149760A1 · Drake · 2014 [cited by examiner]
US 20150185813A1 · Ping · 2015 [cited by examiner]
US 20150309751A1 · Ellis · 2015 [cited by examiner]
US 20160012555A1 · Harada et al. · 2016 [cited by applicant]
US 20160041762A1 · Kanno et al. · 2016 [cited by applicant]
US 20170075611A1 · Choi et al. · 2017 [cited by applicant]
US 20180182452A1 · Lee · 2018 [cited by applicant]
US 20180196490A1 · Ail · 2018 [cited by applicant]
US 20190065086A1 · Margetts et al. · 2019 [cited by applicant]
US 20190384513A1 · Matsubara · 2019 [cited by applicant]
US 20210055776A1 · Parry et al. · 2021 [cited by applicant]
US 20210303184A1 · Palmer · 2021 [cited by applicant]
US 20210359514A1 · Suzuki · 2021 [cited by applicant]
US 20220215273A1 · Sethi · 2022 [cited by applicant]
US 20220398035A1 · Thokala et al. · 2022 [cited by applicant]
US 20230058022A1 · Chung · 2023 [cited by applicant]
US 20230104672A1 · Nakamura et al. · 2023 [cited by applicant]
US 20240111438A1 · Navon · 2024 [cited by applicant]
CN 112084089A · 2020 [cited by applicant]
CN 111914000A · 2020 [cited by applicant]
CN 114238060A · 2022 [cited by applicant]
Hsu et al., “Self-Aware Workload Forecasting in Data Center Power Prediction”; 2018, 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), May 1, pp. 321-330.IEEE (10 pages). [cited by applicant]