Non-Volatile Memory Command Throttling via Staggered Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If commands are executed in parallel across multiple memory channels, then productivity is improved, but power consumption increases

Engineering Contradiction:
Improvecommand execution throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #19Periodic action

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.

Inventive Principle:
Principle #15Dynamics

2Use of energy by moving object

If commands are throttled to reduce power consumption, then power usage is optimized, but productivity decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidcommand execution throughput
Core Design Contradiction:
Use of energy by moving objectVSProductivity

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #25Self-service

3Loss of energy

If commands are deferred in command queues, then power consumption spikes are reduced, but loss of time increases

Engineering Contradiction:
Improvepower consumption spikesVSAvoidcommand execution delay
Core Design Contradiction:
Loss of energyVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS9582211B2Throttling command execution in non-volatile memory systems based on power usage
Publication Date: 2017.02.28 SANDISK TECHNOLOGIES LLC
  • US9582211B2 patent drawing
  • US9582211B2 patent drawing
  • US9582211B2 patent drawing

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.