Memory Controller Command Scheduling for Timing Convergence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controllers face challenges with increased number of masters, banks, and operating frequency, leading to reduced routability and timing convergency, requiring redesigns.

Innovation Solution

A memory controller that uses a holding unit, generating unit, determining unit, selecting unit, and output unit to synchronize command issuance with a slower clock, ensuring compliance with issuance timing constraints and improving timing convergency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of masters increases, then the memory controller can handle more memory access requests, but the timing convergency of arbiters in a preceding stage deteriorates

Engineering Contradiction:
Improvenumber of mastersVSAvoidtiming convergency
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent divides the arbitration process into two stages: inter-master arbitration in a preceding stage and inter-bank arbitration in a succeeding stage. By segmenting the arbitration functions, the timing convergency requirements are distributed across different stages, preventing the preceding stage from becoming overly complex when the number of masters increases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary structure where the preceding stage arbitration unit outputs to a succeeding stage arbitration unit. This intermediary stage buffers the timing requirements, allowing the preceding stage to handle more masters without directly impacting the timing convergency of the final arbitration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the number of banks increases, then the memory controller can handle more memory access requests, but the circuit size increases and timing convergency of arbiters in a succeeding stage deteriorates

Engineering Contradiction:
Improvenumber of banksVSAvoidcircuit size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the arbitration into inter-master arbitration and inter-bank arbitration performed in different stages. This segmentation prevents the circuit size from increasing proportionally with the number of banks, as the bank arbitration is handled separately in the succeeding stage.

Inventive Principle:
Principle #1Segmentation

3Speed

If the operating frequency of memory increases, then the memory performance improves, but the design requires changes to maintain timing convergency

Engineering Contradiction:
Improveoperating frequencyVSAvoiddesign robustness
Core Design Contradiction:
SpeedVSEase of manufacture

Solution Approach 1:

The patent creates a dynamic timing structure where the determination unit operates in synchronization with a clock having a lower frequency than the memory clock. This dynamic frequency separation allows the controller to adapt to different memory frequencies without requiring design changes, as the lower-frequency determination unit provides timing flexibility.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If arbitration circuits are added to handle more masters and banks, then the memory controller can handle more requests, but the routability and timing convergency deteriorate

Engineering Contradiction:
Improvenumber of masters and banksVSAvoidroutability and timing convergency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the arbitration functionality into separate units operating at different stages. This segmentation reduces the complexity of individual arbitration circuits, improving routability and timing convergency while maintaining the ability to handle multiple masters and banks.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12499037B2Memory controller and control method therefor
Publication Date: 2025.12.16 CANON KK
  • US12499037B2 patent drawing
  • US12499037B2 patent drawing
  • US12499037B2 patent drawing

AI summary

A memory controller comprises a holding unit that holds a plurality of memory accesses to a memory that operates with a first clock. The memory controller generates a plurality of command requests for causing the memory to operate based on the plurality of memory accesses; determines, in synchronization with a second clock having a lower frequency than the first clock, whether a plurality of commands corresponding to the plurality of command requests are issuable, based on a constraint on issuance timings that are respectively set for the plurality of commands; selects, in synchronization with the second clock, one command to be issued to the memory from among commands that have been determined by the determining unit to be issuable; and outputs the selected one command to the memory in synchronization with the first clock.