Memory Controller Architecture with Color Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory interface circuitry on programmable integrated circuits either lacks scheduling efficiency for memory bandwidth utilization or is limited in flexibility when scaling across different memory protocols and topologies, with hardened solutions offering high performance but limited scalability and soft solutions providing flexibility but reduced performance.

Innovation Solution

The implementation of a memory controller architecture that partitions memory controller circuitry into memory protocol agnostic blocks, memory protocol dependent blocks, and user-dependent blocks, using multiple color pipelines for parallel processing of memory access requests, a rate matching circuit for clock domain crossing, and a coloring control circuit for even distribution of memory commands across pipelines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardened/fixed application-specific memory interface solutions are used, then operating frequency and performance are improved, but scalability across different memory protocols and topologies deteriorates

Engineering Contradiction:
Improveoperating frequencyVSAvoidscalability across memory protocols
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The memory interface is segmented into separate modules: a configurable memory controller that handles protocol-specific logic and a hardened interface layer that provides high-performance memory access. This segmentation allows the controller to be adapted to different protocols while maintaining high-speed access through the hardened interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory controller incorporates dynamic configuration capabilities that allow it to be reprogrammed or reconfigured for different memory protocols and topologies. This dynamic adaptability enables the same hardware platform to support multiple memory standards while maintaining optimized performance characteristics.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If soft/programmable memory interface solutions are used, then flexibility for different memory protocols is improved, but scheduling efficiency and performance deteriorate

Engineering Contradiction:
Improveflexibility for memory protocolsVSAvoidscheduling efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The architecture separates the programmable memory controller from the performance-critical memory access paths. The controller can be softly programmed for protocol flexibility, while the interface layer maintains hardened, efficient scheduling and access patterns, thus preserving both adaptability and performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A dedicated memory interface layer acts as an intermediary between the programmable controller and the physical memory. This intermediary handles the time-critical scheduling and access optimization, allowing the programmable controller to focus on protocol adaptation without compromising scheduling efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If out-of-order memory controllers are used, then memory bandwidth utilization is improved, but scheduling determinism deteriorates

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidscheduling determinism
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory controller implements dynamic scheduling that can adapt its behavior based on system conditions. It can switch between in-order and out-of-order processing modes, or use priority-based arbitration, allowing it to maintain determinism when needed while optimizing bandwidth when conditions permit non-deterministic scheduling.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller allows configuration of scheduling parameters and arbitration policies that can be adjusted to balance between determinism and bandwidth utilization. By changing these parameters, the system can optimize for either deterministic timing or maximum throughput depending on the application requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10268392B2Memory controller architecture with improved memory scheduling efficiency
Publication Date: 2019.04.23 ALTERA CORP
  • US10268392B2 patent drawing
  • US10268392B2 patent drawing
  • US10268392B2 patent drawing

AI summary

Integrated circuits that include memory interface and controller circuitry for communicating with external memory are provided. The memory interface and controller circuitry may include a user logic interface, a memory controller, and a physical layer input-output interface. The user logic interface may be operated in a first clock domain. The memory controller may be operated in a second clock domain. The physical layer interface may be operated in a third clock domain that is an integer multiple of the second clock domain. The user logic interface may include only user-dependent blocks. The physical layer interface may include memory protocol agnostic blocks and/or memory protocol specific blocks. The memory controller may include both memory protocol agnostic blocks and memory protocol dependent blocks. The memory controller may include one or more color pipelines for scheduling memory requests in a parallel arbitration scheme.