Flash Memory I/O Command Batching for Thermal Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices experience temperature rise and malfunction due to intensive executions of input-output commands, leading to unexpected errors and malfunctions.

Innovation Solution

A method and apparatus that control I/O commands by obtaining device temperature, fetching commands in batches, and adjusting execution and pause times based on temperature thresholds to prevent overheating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O commands are executed intensively to improve productivity, then data processing speed is improved, but device temperature rises causing malfunctions

Engineering Contradiction:
Improvedata processing speedVSAvoiddevice temperature
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The patent implements periodic action by introducing pause time periods between batches of I/O command executions. The controller executes commands in batches during fetching time periods, then pauses for a calculated pause time period before executing the next batch. This periodic execution pattern allows the device to cool down between operations, preventing temperature rise while maintaining productive data processing.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies dynamics by making the pause time period variable rather than fixed. The controller dynamically calculates the pause time period based on the actual execution time period of the I/O commands. When commands execute faster, the pause time is adjusted accordingly, allowing the system to adapt to varying workloads and maintain optimal temperature management while maximizing productivity.

Inventive Principle:
Principle #15Dynamics

2Productivity

If I/O commands are executed continuously to improve productivity, then data processing throughput is improved, but device reliability decreases due to overheating

Engineering Contradiction:
Improvedata processing throughputVSAvoiddevice reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback by having the controller monitor the actual execution time period of I/O commands and use this information to calculate the pause time period. This feedback mechanism ensures that the pause time is dynamically adjusted based on real-time performance data, allowing the system to maintain reliable operation by preventing overheating while maximizing data processing throughput during acceptable temperature ranges.

Inventive Principle:
Principle #23Feedback

3Temperature

If pause time period is increased to reduce temperature, then device temperature is controlled, but data processing time increases

Engineering Contradiction:
Improvedevice temperature controlVSAvoiddata processing time
Core Design Contradiction:
TemperatureVSLoss of time

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the pause time period parameter based on the actual execution time period of I/O commands. Rather than using a fixed long pause time that would unnecessarily delay processing, the system changes the pause parameter to match actual workload characteristics, maintaining temperature control while minimizing time loss during data processing operations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250306803A1Method and non-transitory computer-readable storage medium and apparatus for controlling executions of input-output commands
Publication Date: 2025.10.02 SILICON MOTION INC
  • US20250306803A1 patent drawing
  • US20250306803A1 patent drawing
  • US20250306803A1 patent drawing

AI summary

The invention introduces a method for controlling executions of input-output (I/O) commands, performed by a processing unit, which includes: obtaining a current temperature of a device side; fetching I/O commands from a command queue during a fetching time period, and executing the I/O commands to read user data from the flash module, and/or program user data into the flash module in response to the current temperature of the device side exceeding a threshold; calculating a length of an actual execution time period for the I/O commands, and calculating a length of a pause time period according to the length of the actual execution time period after the I/O commands are executed completely; and not fetching and executing any I/O command in the command queue during the pause time period.