Memory Device Synchronized Request Handling via Segmented Queues
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If internal requests are processed before external requests during resource contention, then internal request throughput is improved, but external request forward progress deteriorates
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.
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.
3Device complexity
If a single shared queue is used for all requests, then device complexity is reduced, but request ordering and data integrity deteriorate
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.
Data Source
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.


