Concurrent Command Limiter for Memory Subsystem

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory devices, such as 3D cross-point memory devices, are limited in the number of commands they can process concurrently, leading to command failures and performance issues due to exceeding their processing capacity, with the host system often unaware of failed commands or receiving delayed notifications.

Innovation Solution

A concurrent command limiter is implemented within the memory sub-system controller, using a counter to track executed commands and an expected completion table to anticipate when commands are complete, allowing the system to limit incoming commands and notify the host system when processing limits are reached, preventing excess commands and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the memory device processes commands without a limiter, then the host system can continuously issue commands, but the memory device exceeds its concurrent command capacity leading to command failures

Engineering Contradiction:
Improvecommand processing throughputVSAvoidcommand execution reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A concurrent command limiter is introduced as an intermediary component between the host system and the memory device. The limiter tracks the number of concurrent commands using a counter and an expected completion table, and actively manages command flow by preventing the host from issuing commands when the memory device is at capacity. This mediator resolves the contradiction by filtering and regulating commands to match the memory device's processing capacity while maintaining high throughput through efficient command management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the memory device has a limited concurrent command capacity, then the device can maintain stable operation, but the host system becomes unaware of failed commands or receives delayed notifications

Engineering Contradiction:
Improvememory device operational stabilityVSAvoidcommand status information
Core Design Contradiction:
Stability of the object's compositionVSLoss of information

Solution Approach 1:

The concurrent command limiter implements a feedback mechanism that continuously monitors the number of concurrent commands and notifies the host system when the memory device reaches its command capacity. The limiter uses a counter to track active commands and an expected completion table to anticipate when commands will finish, providing timely feedback about command status and processing limits to the host system, thereby preventing information loss about command failures or delays.

Inventive Principle:
Principle #23Feedback

3Productivity

If the host system sends more commands than the memory device can process, then the host system maintains high command issuance rate, but commands fail and may need to be resent

Engineering Contradiction:
Improvecommand issuance rateVSAvoidcommand resend time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The concurrent command limiter performs preliminary action by tracking the number of concurrent commands before the memory device can actually process them. It uses a counter that increments when commands are received and decrements when commands are expected to complete, allowing the host system to be notified in advance when the memory device is at capacity. This prevents command failures before they occur, eliminating the need for resends and reducing time loss.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12164811B2Concurrent command limiter for a memory system
Publication Date: 2024.12.10 MICRON TECHNOLOGY INC
  • US12164811B2 patent drawing
  • US12164811B2 patent drawing
  • US12164811B2 patent drawing

AI summary

A system can include a memory device and a processing device coupled with the memory device. The processing device can receive, from a host system, a command of a type; determine a weighted count of the command according to the type of the command; track, based on the weighted count, a first count of commands of the type; determine whether the first count of commands of the type satisfies a threshold criterion for commands of the type; and responsive to determining that the first count of commands of the type satisfies the threshold criterion, transmit a notification to the host system to refrain from transmitting commands of the type.