Memory Controller Priority Command Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices lack an efficient mechanism to manage and prioritize the execution of commands from multiple hosts, leading to potential performance imbalances and inefficiencies in command processing.

Innovation Solution

A memory system with a controller that stores commands in a queue and determines their execution order based on when the commands were added and whether they are from a designated priority host, using a combination of FIFO management and priority host identification to ensure timely execution of commands from connected hosts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If commands are executed in FIFO order without priority handling, then processing fairness is maintained, but response time for priority hosts increases

Engineering Contradiction:
Improvecommand execution delayVSAvoidoverall system throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements dynamic command execution ordering by introducing priority levels that allow the system to adapt its processing sequence based on host importance. Priority hosts can have their commands executed ahead of standard hosts, creating a dynamic rather than static execution order that responds to different operational scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different execution treatment to different hosts by identifying priority hosts and giving their commands preferential processing. This local quality differentiation allows certain hosts to receive faster service while others follow standard FIFO ordering, optimizing for specific critical operations without completely disrupting overall fairness.

Inventive Principle:
Principle #3Local quality

2Speed

If priority host commands are always executed first, then response time for priority hosts is improved, but fairness to other hosts deteriorates

Engineering Contradiction:
Improvecommand processing speedVSAvoidservice fairness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies priority handling partially rather than universally. Only commands from identified priority hosts receive expedited processing, while commands from standard hosts continue to be processed in FIFO order. This partial application of priority rules maintains fairness for the majority of hosts while providing enhanced service where needed.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If connection duration is unlimited, then host convenience is improved, but performance bottlenecks increase

Engineering Contradiction:
Improvehost connection convenienceVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements periodic evaluation of connection status and command queues. The controller periodically assesses which hosts are connected and which commands are waiting, using this periodic information to make execution decisions. This periodic action prevents indefinite connection states from causing performance degradation while maintaining operational convenience.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10095442B2Memory device that changes execution order of commands
Publication Date: 2018.10.09 KIOXIA CORP
  • US10095442B2 patent drawing
  • US10095442B2 patent drawing
  • US10095442B2 patent drawing

AI summary

A memory device includes a memory unit, a communication interface through which commands are received from a plurality of hosts, and a controller configured to store the commands in a queue and determine an order of execution of the commands according to when the commands were added to the queue and whether or not the commands issued from a host that is designated as a priority host. The controller determines the commands issued from the priority host to be executed prior to other commands that were not issued from the priority host, and determines the other commands to be executed in the order they were added to the queue.