Memory Controller Idle Time Command Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems do not efficiently anticipate and process commands from hosts, leading to delays in data operations.

Innovation Solution

A memory system and operating method that determine command patterns based on idle time periods and history information to anticipate and execute operations proactively, such as read, write, erase, or background commands, by using a memory controller to calculate idle time and predict expected commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the memory system executes operations only after receiving commands from the host, then the system operates with simple control logic, but the command processing speed is delayed

Engineering Contradiction:
Improvecommand processing speedVSAvoidcontrol logic complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory controller performs preliminary actions by determining command patterns and executing operations in advance based on idle time analysis and history information. When idle time falls within a specific range, the controller proactively determines the likely command type (read, write, erase, or background) and prepares the memory device accordingly, so that when the actual command arrives, the operation can be executed immediately without waiting for command processing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the memory system proactively determines and executes operations based on idle time and history information, then command processing speed improves, but the control logic complexity increases

Engineering Contradiction:
Improveoperation execution efficiencyVSAvoidmemory controller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller performs self-service by autonomously analyzing idle time duration and consulting history information to determine command patterns without external intervention. The controller monitors its own idle periods, compares them against predefined ranges, and independently decides which operations to execute proactively, thereby improving productivity while managing complexity through self-directed decision-making rather than requiring complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

3Loss of time

If the memory system uses idle time analysis and history information to predict commands, then operational delays are reduced, but the system requires additional monitoring and data storage capabilities

Engineering Contradiction:
Improveoperational delayVSAvoidmonitoring and storage requirements
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The memory controller introduces an intermediary mechanism by maintaining history information that serves as a mediator between idle time observation and command prediction. This history information acts as a stored record of past command patterns during idle periods, allowing the controller to reference previous behaviors and make informed predictions about upcoming commands, thereby reducing operational delays while using a structured intermediary data store rather than complex real-time analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11755248B2Memory system and operating method of memory system
Publication Date: 2023.09.12 MIMIRIP LLC
  • US11755248B2 patent drawing
  • US11755248B2 patent drawing
  • US11755248B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a memory system and an operating method of the memory system. According to embodiments of the present disclosure, the memory system may determine, according to a time period to which the length of the idle time belongs among a plurality of set time periods, a command pattern indicating a command type of a command expected to be received from the host, and may execute an operation corresponding to the command pattern. In this case, the type of command may be a read command, a write command, or an erase command, and the command pattern may be a read pattern, a write pattern, or an erase pattern.