Host Command Queueing with Die Status Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing electronic systems face inefficiencies in managing command queues between hosts and memory systems, particularly due to the lack of effective status monitoring and queuing mechanisms for storage devices, leading to potential data access conflicts and reduced system performance.

Innovation Solution

The proposed electronic system includes a host and a memory controller with a controller memory buffer that stores status information of storage device dies, allowing the host to queue commands based on die availability, ensuring that commands are only executed when dies are in an idle state, thereby preventing data access conflicts and optimizing system operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the host continuously outputs commands to the storage device, then the command queue length increases and throughput improves, but data access conflicts occur when dies are busy, reducing system reliability

Engineering Contradiction:
Improvecommand throughputVSAvoiddata access reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The host performs preliminary status checking of dies before queving commands. The host controller checks whether target dies are in idle or busy states, and only queues commands for dies that are currently idle. This preliminary action prevents command queving for busy dies, avoiding data access conflicts while maintaining high command throughput.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the host checks the status of each die before queving commands, then data access conflicts are prevented, but the time required for command queving increases

Engineering Contradiction:
Improvedata access reliabilityVSAvoidcommand queving time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The host performs a quick status check of dies before command queving to determine if dies are idle or busy. This preliminary status verification is designed to be fast, checking only the essential ready/busy state without performing full die operations. The status check information is used to intelligently queue commands only for idle dies, preventing conflicts while minimizing time loss.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple commands are queued for the same die simultaneously, then command processing efficiency improves, but data access conflicts occur causing system errors

Engineering Contradiction:
Improvecommand processing efficiencyVSAvoiddata access conflict
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The host controller continuously monitors the status of each die and uses this feedback information to control command queving. When a die is in idle state, commands can be queued for that die. When a die becomes busy, the host receives status feedback and stops queving new commands for that die until it becomes idle again. This feedback mechanism ensures that multiple commands are not queued for the same die simultaneously, preventing data access conflicts while maximizing command processing efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11061607B2Electronic system having host and memory controller, and operating method thereof
Publication Date: 2021.07.13 SK HYNIX INC
  • US11061607B2 patent drawing
  • US11061607B2 patent drawing
  • US11061607B2 patent drawing

AI summary

There are provided an electronic system and an operating method thereof. The electronic system includes: a host for queuing an external command to wait or to be output, based on a status of dies included in a storage device; a central processing unit for generating a command for controlling the storage device in response to a request received from the host or the external command; and a controller memory buffer for storing status information indicating whether the dies are in a status in which access is possible or a status in which access is impossible, wherein the central processing unit receives status information of the dies from the storage device, and stores status information matched to each of the dies in the controller memory buffer.