Hybrid DIMM Cache Manager for Out-of-Order Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory systems face inefficiencies in managing data dependencies for out-of-order processing, leading to increased latency and incorrect data retrieval due to queuing data access requests in the order received, which is undesirable as not all requests have dependencies and many can be issued and completed out of order.

Innovation Solution

Implementing a cache manager that structures DRAM as a cache to store recently accessed data, using content-addressable memories to track outstanding write and read access requests, allowing read and write access requests to be processed out of order unless data dependencies exist, thereby maintaining minimal latency and ensuring correct data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data access requests are queued and processed in the order received, then data dependency correctness is maintained, but processing latency increases and productivity decreases

Engineering Contradiction:
Improvedata dependency correctnessVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic request processing by maintaining multiple queues (first queue for requests without dependencies, second queue for requests with dependencies) and selectively processing requests based on dependency status. The system dynamically switches between processing modes: out-of-order processing for independent requests to minimize latency, and in-order processing for dependent requests to ensure correctness. This dynamic queue management resolves the contradiction by adapting the processing order to the specific characteristics of each request.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the data access requests into two distinct categories: requests without data dependencies (processed in first queue) and requests with data dependencies (processed in second queue). This segmentation allows the system to apply different processing strategies to different request types simultaneously, enabling out-of-order processing for independent requests while maintaining in-order processing for dependent requests, thereby resolving the latency-correctness trade-off.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data access requests are processed out of order, then productivity and speed improve, but data dependency correctness deteriorates

Engineering Contradiction:
Improverequest processing throughputVSAvoiddata dependency correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts processing order based on real-time dependency analysis. Requests are initially classified into dependency-free and dependency-containing groups. The dependency-free group is processed out of order to maximize throughput, while the dependency-containing group is processed in order to ensure correctness. This dynamic classification and differential processing strategy enables the system to achieve high productivity without sacrificing reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an intermediary mechanism (the second queue) that handles requests with data dependencies. This intermediary queue acts as a buffer that maintains the necessary processing order for dependent requests while allowing the main processing flow to continue at high speed through out-of-order processing of independent requests. The intermediary queue mediates between the conflicting requirements of speed and correctness.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all data access requests are processed in order, then data dependency correctness is ensured, but device complexity and operational overhead increase

Engineering Contradiction:
Improvedata dependency correctnessVSAvoidqueue management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the request processing system into two distinct queues with clearly defined purposes: the first queue for dependency-free requests and the second queue for dependency-containing requests. This segmentation simplifies the overall management complexity by creating clear boundaries and processing rules for each queue type, making the system easier to manage despite handling complex dependency scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different processing qualities are applied to different queues: the first queue allows out-of-order processing for maximum efficiency, while the second queue enforces in-order processing for correctness. This local quality differentiation optimizes the overall system by applying the appropriate processing strategy to each specific context, reducing the need for complex global coordination mechanisms.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11531622B2Managing data dependencies for out of order processing in a hybrid DIMM
Publication Date: 2022.12.20 MICRON TECHNOLOGY INC
  • US11531622B2 patent drawing
  • US11531622B2 patent drawing
  • US11531622B2 patent drawing

AI summary

Systems and methods are disclosed including a processing device operatively coupled to a first and a second memory device. The processing device can receive a set of data access requests, from a host system, in a first order and execute the set of data access requests in a second order. The processing device can further identify a late data access request of the set of data access requests and determine whether a data structure in a local memory associated with the processing device includes a previous outstanding data access request corresponding to an address associated with the late data access request. Responsive to determining that the data structure includes an indication of a previous outstanding data access request corresponding to the address associated with the late data access request, identifying a type of data dependency associated with the previous outstanding data access request and performing one or more operations associated with the type of data dependency.