Memory Subsystem Request Control via Buffer Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory sub-systems, the backlog of requests in the back-end buffers can lead to increased latency, inefficiency, and potential saturation, as the front-end sends requests without restraint, causing the back-end buffers to become overwhelmed.

Innovation Solution

Implementing a control mechanism in the front-end of the memory sub-system that utilizes multiple thresholds to throttle the receipt of commands from the host system, thereby reducing the backlog in the back-end buffers by signaling to the host when to provide additional requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the front-end sends requests without restraint, then the productivity of the memory sub-system is improved, but the back-end buffers become saturated and latency increases

Engineering Contradiction:
Improverequest throughputVSAvoidrequest latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The front-end controller continuously monitors the number of outstanding requests in the back-end buffers and uses this feedback to dynamically adjust request sending behavior. When the buffer depth exceeds a threshold, the controller throttles or pauses request transmission, preventing saturation while maintaining high throughput when buffers are healthy.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The request sending mechanism transitions from static (unrestrained) to dynamic control. The front-end controller adapts its request sending rate in real-time based on back-end buffer status, adjusting throughput dynamically to match actual system capacity and avoid latency-prone saturation.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the front-end sends requests without restraint, then the productivity is improved, but the device complexity increases due to buffer management

Engineering Contradiction:
Improverequest throughputVSAvoidbuffer control mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The front-end controller autonomously manages buffer depth by monitoring outstanding requests and self-regulating request sending without external intervention. This self-service approach handles buffer control complexity internally, maintaining high throughput while avoiding the need for complex external buffer management systems.

Inventive Principle:
Principle #25Self-service

3Reliability

If multiple thresholds are used to throttle requests, then the reliability of the memory sub-system is improved, but the device complexity increases

Engineering Contradiction:
Improvebuffer saturation preventionVSAvoidthreshold control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The buffer depth threshold is segmented into multiple levels (e.g., warning threshold and critical threshold). Each threshold triggers different throttling strategies, allowing granular control over request sending behavior. This segmentation improves reliability by providing staged protection against saturation while keeping the control logic modular and manageable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250123770A1Request control for memory sub-systems
Publication Date: 2025.04.17 MICRON TECHNOLOGY INC
  • US20250123770A1 patent drawing
  • US20250123770A1 patent drawing
  • US20250123770A1 patent drawing

AI summary

A request can be provided, from a front-end of a memory sub-system, to a processing device of the memory sub-system and deleting the request from a buffer of the front-end of the memory sub-system. Responsive to deleting the request from the buffer, determining a first quantity of requests in the buffer and responsive to deleting the requests from the buffer, determining a second quantity of outstanding requests in the back-end of the memory sub-system. Responsive to deleting the request from the buffer and providing the request to the processing device, determining whether to provide a response to a host, wherein the response includes an indication of the quantity of requests in the buffer and of outstanding requests in a back-end of the memory sub-system, based on a comparison of the second quantity of outstanding requests to a threshold.