Storage Controller Power Throttling via Dual Credit Pools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Semiconductor storage systems face challenges in managing power consumption, particularly due to spikes in power usage when executing multiple commands in parallel, which can lead to inefficiencies and increased energy costs.

Innovation Solution

Implementing a storage controller with two tunable credit pools - a peak power credit pool and an average power credit pool - to manage and throttle power consumption by determining the availability of credits for memory operations, allowing for the prioritization and deferral of operations based on current power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple commands are executed in parallel to improve productivity, then command execution speed increases, but power consumption spikes

Engineering Contradiction:
Improvecommand execution speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The system dynamically adjusts the number of parallel commands allowed based on real-time power consumption monitoring. The controller varies the parallel command limit as a function of current power usage, enabling the system to optimize between productivity and power consumption by adapting the parallel execution level to current conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of parallel command quantity based on power consumption levels. By monitoring power usage and adjusting the number of simultaneous commands as a control parameter, the system resolves the contradiction by allowing more commands when power is available and reducing parallel execution when power consumption becomes excessive

Inventive Principle:
Principle #35Parameter changes

2Power

If power consumption is limited to reduce energy usage, then power consumption decreases, but command execution time increases

Engineering Contradiction:
Improvepower consumptionVSAvoidcommand execution time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The system dynamically adjusts the parallel command limit based on real-time power consumption monitoring. When power consumption is high, the controller reduces the number of parallel commands to throttle power usage. When power consumption decreases, the system can increase parallel execution to reduce command execution time, creating a dynamic balance between power consumption and time loss

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system periodically monitors power consumption and adjusts command execution parameters accordingly. By implementing periodic monitoring and adjustment cycles, the system can allow command execution to proceed at high speed when power is available, then periodically throttle back when power consumption becomes excessive, minimizing the impact on overall execution time while controlling power usage

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9880605B2Method and system for throttling power consumption
Publication Date: 2018.01.30 SANDISK TECHNOLOGIES LLC
  • US9880605B2 patent drawing
  • US9880605B2 patent drawing
  • US9880605B2 patent drawing

AI summary

Systems, methods, and/or devices are used to manage a storage system. In one aspect, the method includes receiving, from a host to which a storage device of the storage system is operatively coupled, a request to perform a first memory operation on one or more memory devices of the storage device. The method includes determining a count of credits corresponding to the first memory operation. If a current count of credits in the first credit pool is greater than or equal to the count of credits corresponding to the first memory operation and a current count of credits in the second credit pool is greater than or equal to the count of credits corresponding to the first memory operation, the method includes: performing the first memory operation; and decrementing the first and second credit pools according to the count of credits corresponding to the first memory operation.