Non-Volatile Memory Command Throttling via Staggered Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in managing power consumption spikes due to parallel command execution across multiple memory channels, leading to inefficiencies and increased energy usage.
Innovation Solution
Implementing a system that defers command execution in non-volatile memory systems based on power usage by using a power usage monitor and staggered wait logic to generate wait enable signals, allowing each memory channel to resume command execution at staggered start times, thereby reducing overlapping wait periods and managing power consumption across channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If commands are executed in parallel across multiple memory channels, then productivity is improved, but power consumption increases
Solution Approach 1:
The system implements periodic throttling of command execution by introducing wait periods between command batches. The power usage monitor continuously monitors power consumption and triggers throttling when thresholds are exceeded, creating a periodic pattern of execution and waiting that regulates power usage while maintaining productivity during permitted execution windows.
Solution Approach 2:
The command execution system dynamically adjusts its behavior based on real-time power consumption levels. The throttling mechanism modifies the execution schedule dynamically, transitioning between active execution and wait states based on power conditions, thereby optimizing the balance between productivity and power consumption.
2Use of energy by moving object
If commands are throttled to reduce power consumption, then power usage is optimized, but productivity decreases
Solution Approach 1:
The system applies partial throttling by allowing some commands to execute while throttling others based on power conditions. Rather than completely stopping execution, the system selectively delays command batches, applying just enough throttling to meet power requirements while preserving maximum possible productivity.
Solution Approach 2:
The command execution system self-regulates by monitoring its own power consumption and automatically adjusting its execution schedule. The power usage monitor and throttling logic work together to create a self-managing system that optimizes its own power usage without external intervention, balancing productivity and power consumption autonomously.
3Loss of energy
If commands are deferred in command queues, then power consumption spikes are reduced, but loss of time increases
Solution Approach 1:
The system performs preliminary actions by pre-fetching and queuing commands before power throttling is triggered. Commands are prepared and staged in the command queue in advance, so when throttling occurs, the system can quickly resume execution from the prepared queue rather than needing to re-process commands, thereby reducing the effective time loss.
Solution Approach 2:
The command queue acts as a cushion that absorbs the impact of power throttling. By maintaining a buffer of pre-loaded commands in the queue, the system cushions against productivity loss during throttling periods, as execution can resume quickly once power conditions improve without needing to wait for command generation.
Data Source
AI summary
A method of operation in a non-volatile memory system for deferring, in accordance with a determination to reduce power consumption by the non-volatile memory system, execution of commands in a command queue corresponding to a distinct set of non-volatile memory devices during a respective wait period. In some implementations, the respective wait period for a first distinct set of non-volatile memory devices in at least two distinct sets is at least partially non-overlapping with the respective wait period for a second distinct set of non-volatile memory devices in the at least two distinct sets.


