IP Library Granted Patent US 9,417,961
Granted Patent B2
US 9,417,961 · App. 14/546,914 · Granted Aug 16, 2016

Resource allocation and deallocation for power management in devices

Inventors: Dillip K. Dash (San Diego, CA); James V. Henson (Poway, CA); Bhasker R. Jakka (San Diego, CA)
Assignee: HGST Netherlands B.V.
G06F11/1072G06F1/26G06F1/3287G06F3/0625G06F3/0653G06F3/0679G06F11/1008
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 9,417,961
App. No.
14/546,914
Granted
Aug 16, 2016
Kind
B2
Abstract

In general, techniques are described for resource allocation and deallocation that facilitates power management. A device comprising one or more processors and a memory may be configured to perform the techniques. The processor may be configured to determine usage of a first non-zero subset of a plurality of resources, the plurality of resources allocated and released in accordance with a thermometer data structure. The processors may further be configured to compare the usage of the first non-zero subset of the plurality of resources to a threshold separating the first non-zero subset of the plurality of resources from a second non-zero subset of the plurality of resources, and power on the second non-zero subset of the plurality of resources based at least on the comparison. The memory may be configured to store the threshold.

Claims (38)

1. A method comprising:

determining, by a controller of a device, usage of a first non-zero subset of a plurality of resources of the device, the plurality of resources allocated and released in accordance with a thermometer data structure;

comparing, by the controller, the usage of the first non-zero subset of the plurality of resources to a threshold separating the first non-zero subset of the plurality of resources from a second non-zero subset of the plurality of resources; and

powering on the second non-zero subset of the plurality of resources based at least on the comparison.

2. The method of claim 1 , wherein the device comprises a solid state drive (SSD), and wherein the plurality of resources support one or more of writing data to and reading data from a non-volatile memory of the SSD.

3. The method of claim 1 , further comprising determining, by the controller, the usage of the first non-zero subset of the plurality of resources based at least on an analysis of the thermometer data structure.

4. The method of claim 1 , wherein the thermometer data structure includes a respective bit for each of the plurality of resources, each of the respective bits indicating whether the corresponding one of the plurality of resources is allocated to a requesting unit or available for allocation to a requesting unit.

5. The method of claim 4 , further comprising determining the usage of the first non-zero subset of the plurality of resources based at least on a statistical analysis of the respective bits of the thermometer data structure.

6. The method of claim 1 , further comprising translating the usage of the first non-zero subset of the plurality of resources to a predicted usage indicative of an expected number of the plurality of resources that will be requested,

wherein comparing the usage of the first non-zero subset of the plurality of resources comprises comparing the expected number of the plurality of resources that will be requested to the threshold.

7. The method of claim 1 , wherein each of the plurality of resources comprises a respective memory slot, each of the respective memory slots including a same number of bytes.

8. The method of claim 1 , wherein each of the plurality of resources comprises a respective error checking and correction (ECC) decoder used to perform ECC decoding with respect to ECC encoded data written to a non-volatile memory of a solid state drive.

9. The method of claim 1 ,

wherein powering on the second non-zero subset of the plurality of resources comprises powering on the second non-zero subset of the plurality of resources when the usage equals to or exceeds the threshold, and

wherein the method further comprises powering off the second non-zero subset of the plurality of resources when the usage is less than the threshold.

10. The method of claim 1 , further comprising dynamically setting the threshold to different values over time to control power consumption.

11. A device comprising:

one or more processors configured to determine usage of a first non-zero subset of a plurality of resources, the plurality of resources allocated and released in accordance with a thermometer data structure, compare the usage of the first non-zero subset of the plurality of resources to a threshold separating the first non-zero subset of the plurality of resources from a second non-zero subset of the plurality of resources, and power on the second non-zero subset of the plurality of resources based at least on the comparison; and

a memory configured to store the threshold.

12. The device of claim 11 ,

wherein the device comprises a solid state drive (SSD), and

wherein the plurality of resources support one or more of writing data to and reading data from a non-volatile memory of the SSD.

13. The device of claim 11 , wherein the one or more processors are further configured to determine the usage of the first non-zero subset of the plurality of resources based at least on an analysis of the thermometer data structure.

14. The device of claim 11 , wherein the thermometer data structure includes a respective bit for each of the plurality of resources, each of the respective bits indicating whether the corresponding one of the plurality of resources is allocated to a requesting unit or available for allocation to a requesting unit.

15. The device of claim 14 , wherein the one or more processors are further configured to determine the usage of the first non-zero subset of the plurality of resources based at least on a statistical analysis of the respective bits of the thermometer data structure.

16. The device of claim 11 ,

wherein the one or more processors are further configured to translate the usage of the first non-zero subset of the plurality of resources to a predicted usage indicative of an expected number of the plurality of resources that will be requested, and

wherein the one or more processors are configured to compare the expected number of the plurality of resources that will be requested to the threshold.

17. The device of claim 11 , wherein each of the plurality of resources comprises a respective memory slot, each of the respective memory slots including a same number of bytes.

18. The device of claim 11 , wherein each of the plurality of resources comprises a respective error checking and correction (ECC) decoder used to perform ECC decoding with respect to ECC encoded data written to a non-volatile memory of a solid state drive.

19. The device of claim 11 ,

wherein the one or more processors are configured to power on the second non-zero subset of the plurality of resources when the usage equals to or exceeds the threshold, and

wherein the one or more processors are further configured to power off the second non-zero subset of the plurality of resources when the usage is less than the threshold.

20. The device of claim 11 , wherein the one or more processors are further configured to dynamically set the threshold to different values over time to control power consumption.

21. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

determine usage of a first non-zero subset of a plurality of resources, the plurality of resources allocated and released in accordance with a thermometer data structure;

compare the usage of the first non-zero subset of the plurality of resources to a threshold separating the first non-zero subset of the plurality of resources from a second non-zero subset of the plurality of resources; and

power on the second non-zero subset of the plurality of resources based at least on the comparison.

Assignments (6)
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 →
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 040829/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2014
From: DASH, DILLIP K.; HENSON, JAMES V.; JAKKA, BHASKER R.
To: HGST NETHERLANDS B.V.
Reel/Frame 034201/0971 →
Continuity (1)
Related Publication 20160139639A1 · May 19, 2016