Distributed Out-of-Order Adaptor Circuits for Memory Interface Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrated circuits with a mixture of out-of-order and in-order clients face inefficiencies due to the need for data reordering at the memory controller, leading to sub-optimal latency, higher power consumption, and increased costs, as out-of-order clients' efficiency is compromised by the presence of in-order clients.

Innovation Solution

The implementation of distributed out-of-order adaptor circuits between in-order clients and the memory controller, which perform local data reordering using a command ID generator and reorder buffer, eliminating the need for data reordering at the memory controller and allowing out-of-order scheduling without throttling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data reordering is performed at the memory controller for in-order clients, then in-order clients can receive data in correct sequence, but out-of-order clients' efficiency is compromised and latency increases

Engineering Contradiction:
Improvedata ordering guaranteeVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the data reordering function from the memory controller and distributes it to individual client adapters. Each adapter handles reordering locally for its associated in-order client, preventing the memory controller from being bottlenecked by reordering operations and allowing out-of-order clients to operate efficiently without being blocked by in-order client requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent moves the reordering operation from the central memory controller dimension to the distributed client adapter dimension. This dimensional shift allows parallel reordering operations at multiple client adapters simultaneously, eliminating the sequential bottleneck at the memory controller and reducing overall latency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If data reordering circuitry is provided at the memory controller for each client, then all clients can be supported, but circuitry complexity and cost increase

Engineering Contradiction:
Improveclient compatibilityVSAvoidmemory controller circuitry
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of implementing one large reordering circuit at the memory controller, the patent segments the reordering functionality into multiple smaller, identical client adapter modules. Each adapter handles reordering for one or more in-order clients independently, reducing the complexity burden on the memory controller while maintaining support for multiple client types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each client adapter is self-sufficient with its own reordering buffer and logic, eliminating the need for the memory controller to provide centralized reordering services for all clients. This self-service approach reduces the memory controller's complexity while ensuring each in-order client receives properly ordered data.

Inventive Principle:
Principle #25Self-service

3Reliability

If the memory controller always reorders data before returning to clients, then in-order clients are satisfied, but memory bandwidth utilization decreases

Engineering Contradiction:
Improvedata sequence correctnessVSAvoidmemory bandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the data reordering operation from the critical memory access path at the memory controller. By moving reordering to client adapters that operate in parallel with memory transactions, the memory controller can focus on high-speed data transfer without being slowed down by reordering operations, thus maintaining high bandwidth utilization while ensuring data correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The client adapter acts as an intermediary between the memory controller and in-order clients. It receives data in any order from the memory controller and performs local reordering before presenting data to the client, thus decoupling the memory controller's high-speed operation from the client's ordering requirements and maintaining optimal bandwidth utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10552052B2Memory interface circuitry with distributed data reordering capabilities
Publication Date: 2020.02.04 TAHOE RES LTD
  • US10552052B2 patent drawing
  • US10552052B2 patent drawing
  • US10552052B2 patent drawing

AI summary

An integrated circuit may include memory interface circuitry for communicating with an external or in-package memory module. The integrated circuit may also include out-of-order (OOO) clients and in-order (IO) clients that issue read and write commands to the memory interface circuitry. The memory interface circuitry may include a memory controller having an OOO command scheduler, a write data buffer, and a simple read data pipeline. The memory interface circuitry may also include a multiport arbitration circuit for interfacing with the multiple clients and also OOO adaptor circuits interposed between the multiport arbitration circuit and the IO clients. Each of the OOO adaptor circuits may include an ID generator and a local reordering buffer and may allow the memory controller to return data to the various clients without throttling.