IP Library Granted Patent US 10,514,748
Granted Patent B2
US 10,514,748 · App. 15/716,961 · Granted Dec 24, 2019

Reactive power management for non-volatile memory controllers

Inventors: Reed P. Tidwell (Salt Lake City, UT); Yoav Weinberg (Thornhill, CA); Daniel Tuers (Kapaa, HI); Matthew Davidson (Los Altos, CA); Eran Erez (Bothell, WA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F1/324G06F1/329G06F3/0625G06F3/0659G06F9/5094
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 10,514,748
App. No.
15/716,961
Granted
Dec 24, 2019
Kind
B2
Abstract

Systems, methods, and apparatus are provided that can reduce power consumption of memory controllers in response to memory command backlog in various situations. A data storage device includes a plurality of sets of non-volatile memory (NVM) devices, a central controller, and a plurality of channel controllers. Each channel controller is coupled to a distinct set of the plurality of sets of NVM devices. Each channel controller includes a command queue configured to store pending memory commands and provide backlog information. The central controller is configured to receive the backlog information of the command queues of the plurality of channel controllers, and adjust a clock frequency of the central controller and one or more clock frequencies of the plurality of channel controllers based on the backlog information such that the pending memory commands in each of the command queues are below a predetermined threshold level.

Claims (43)

1. A data storage device comprising:

a plurality of sets of non-volatile memory (NVM) devices;

a central controller; and

a plurality of channel controllers, each channel controller coupled to a distinct set of the plurality of sets of NVM devices, each channel controller comprising a command queue configured to store pending memory commands and provide backlog information,

wherein the central controller is configured to:

receive the backlog information of the command queues of the plurality of channel controllers; and

adjust a clock frequency of the central controller and one or more clock frequencies of the plurality of channel controllers based on the backlog information such that the pending memory commands in each of the command queues are below a predetermined threshold level.

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

reduce the clock frequency of the central controller when the backlog information indicates that the pending memory commands in the command queue of at least one of the channel controllers exceeds a predetermined threshold level.

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

reduce at least one of the clock frequency of the central controller or the one or more clock frequencies of the plurality of channel controllers based on the backlog information.

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

reduce at least one of the clock frequency of the central controller or the one or more clock frequencies of the plurality of channel controllers when the backlog information indicates that a memory command processing throughput of the central controller is different from that of at least one of the channel controllers.

5. The data storage device of claim 3 , wherein each of the plurality of channel controllers is configured to:

maintain a clock frequency of a memory interface coupled between the plurality of channel controllers and the plurality of sets of NVM devices.

6. The data storage device of claim 3 , wherein the central controller is further configured to:

determine reclaimed power credits corresponding to power saved when reducing at least one of the clock frequency of the central controller or the one or more clock frequencies of the plurality of channel controllers; and

allocate the reclaimed power credits to one or more of the plurality of channel controllers for executing memory commands.

7. The data storage device of claim 1 , wherein each of the plurality of channel controllers is configured to:

determine the backlog information;

receive power credits allocated by the central controller, based at least in part on the backlog information; and

limit execution of memory commands in the command queue in accordance with the received power credits.

8. The data storage device of claim 7 , wherein each of the plurality of channel controllers is further configured to:

control a speed of issuance of the memory commands to the distinct set of the plurality of sets of NVM devices based on the power credits.

9. A method of operating a data storage device comprising a central controller and a plurality of channel controllers, the method comprising:

at the central controller, issuing memory commands to the plurality of channel controllers, each of the channel controllers comprising a command queue for storing the corresponding memory commands for a distinct set of a plurality of sets of non-volatile memory (NVM) devices and providing backlog information;

at the central controller, receiving the backlog information of the pending memory commands in the command queues; and

adjusting a clock frequency of the central controller and one or more clock frequencies of the plurality of channel controllers based on the backlog information such that the pending memory commands in each of the command queues are below a predetermined threshold level.

10. The method of claim 9 , further comprising:

reducing at least one of the clock frequency of the central controller or the one or more clock frequencies of the plurality of channel controllers based on the backlog information.

11. The method of claim 10 , further comprising:

reducing at least one of the clock frequency of the central controller or the one or more clock frequencies of the plurality of channel controllers when the backlog information indicates that a memory command processing throughput of the central controller is different from that of at least one of the channel controllers.

12. The method of claim 10 , further comprising, at each of the plurality of channel controllers:

maintaining a clock frequency of a memory interface coupled between the plurality of channel controllers and the plurality of sets of NVM devices.

13. The method of claim 10 , further comprising:

determining reclaimed power credits corresponding to power saved when reducing at least one of the clock frequency of the central controller or the one or more clock frequencies of the plurality of channel controllers; and

allocating the reclaimed power credits to one or more of the plurality of channel controllers for executing memory commands.

14. The method of claim 9 , further comprising, at each of the channel controllers:

determining the backlog information of the command queue;

receiving power credits allocated by the central controller, based at least in part on the backlog information; and

limit execution of memory commands in the command queue in accordance with the received power credits.

15. The method of claim 14 , further comprising, at each of the plurality of channel controllers:

controlling a speed of issuance of the memory commands to the distinct set of the plurality of sets of NVM devices based on the power credits.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
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 - 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 Sep 27, 2017
From: TIDWELL, REED P.; WEINBERG, YOAV; TUERS, DANIEL; DAVIDSON, MATTHEW; EREZ, ERAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043714/0407 →
Continuity (1)
Related Publication 20190094938A1 · Mar 28, 2019