Memory Device Synchronized Request Handling via Segmented Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face complexity in managing prioritization and ordering of requests between CXL (Compute Express Link) external requests and internal requests, particularly in scenarios with resource contention, which can lead to blocking and improper execution order.

Innovation Solution

Implementing separate processing queues for deferred requests, where CXL requests are prioritized and maintained in external queues, ensuring in-order processing by judicious selection based on cache tag states and queue conditions, preventing internal requests from blocking external ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate processing queues are implemented for CXL and internal requests, then request prioritization and ordering are improved, but device complexity increases

Engineering Contradiction:
Improverequest execution orderVSAvoidqueue management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the request processing system into separate queues: an external queue for CXL requests and an internal queue for internal requests. This segmentation allows independent management and prioritization of different request types, ensuring that external requests are processed in order without being blocked by internal requests, thus resolving the contradiction between reliability and complexity by organizing the system into manageable segments.

Inventive Principle:
Principle #1Segmentation

2Productivity

If internal requests are processed before external requests during resource contention, then internal request throughput is improved, but external request forward progress deteriorates

Engineering Contradiction:
Improveinternal request throughputVSAvoidexternal request forward progress
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting request processing into separate external and internal queues, the patent ensures that external requests are processed first when resources are available. Internal requests only access resources when external requests are not waiting, thus maintaining external request forward progress while still allowing internal requests to achieve throughput through efficient resource utilization during idle periods.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the queue management logic) that mediates between external and internal requests. This intermediary monitors the state of external requests and controls access to shared resources, ensuring that internal requests do not block external requests while still allowing internal requests to proceed when appropriate, thus resolving the contradiction between throughput and forward progress.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a single shared queue is used for all requests, then device complexity is reduced, but request ordering and data integrity deteriorate

Engineering Contradiction:
Improvequeue structureVSAvoiddata integrity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the request queue into separate external and internal queues to maintain data integrity and proper ordering. This segmentation prevents internal requests from interfering with the ordered processing of external requests, ensuring that cache operations are performed in the correct sequence even though the overall device complexity increases slightly due to the multiple queues.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250013562A1Synchronized request handling at a memory device
Publication Date: 2025.01.09 MICRON TECHNOLOGY INC
  • US20250013562A1 patent drawing
  • US20250013562A1 patent drawing
  • US20250013562A1 patent drawing

AI summary

System and techniques for synchronized request handling at a memory device are described herein. A request is received at the memory device. Here, the request indicates a memory address corresponding to a set of cache lines and a single cache line in the set of cache lines. The memory device maintains a deferred list for the set of cache lines and a set of lists with each member of the set of lists corresponding to one cache line in the set of cache lines. The memory device tests the deferred list to determine that the deferred list is not empty and places the request in the deferred list.