Memory Controller Arbitration Logic for Shared Data Bus Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controllers experience a decrease in memory utilization efficiency due to the need to wait for a period before issuing commands to different memories after a read/write command, leading to inefficient memory switching when a memory access request is stopped to a memory to which the preceding read/write command was issued.

Innovation Solution

A memory controller with a holding circuit to store access requests and a control circuit that selects arbitrary access requests, preventing selection of access requests to memories other than the one that received the preceding read/write command for a predetermined period after the command issuance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the memory controller switches memories to satisfy timing constraints and avoid signal collision, then shared signals do not collide, but a gap occurs in the data bus causing decreased memory utilization efficiency

Engineering Contradiction:
Improvesignal collision avoidanceVSAvoidmemory utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory controller predicts future memory access patterns and pre-positions memory banks to minimize switching gaps. By anticipating upcoming access requests, the controller prepares the memory system in advance, reducing the impact of timing constraints on overall utilization efficiency.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the memory controller arbitrates memory access requests to reduce memory switching times, then the number of switching operations decreases, but memory utilization efficiency still deteriorates when access requests are stopped to the preceding memory

Engineering Contradiction:
Improvememory switching operationsVSAvoidmemory utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The memory controller dynamically adjusts arbitration decisions based on real-time memory access patterns and timing constraints. When a memory access request is stopped to the preceding memory, the controller modifies its arbitration behavior to maintain optimal utilization, transitioning from static arbitration to adaptive dynamic control.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller monitors memory access outcomes and uses this feedback to adjust future arbitration decisions. By detecting when access requests are stopped to the preceding memory, the controller learns from past performance and optimizes subsequent arbitration to prevent utilization deterioration.

Inventive Principle:
Principle #23Feedback

3Reliability

If the memory controller waits for the read/write command period to elapse before issuing commands to different memories, then timing constraints are satisfied, but memory access latency increases during the waiting period

Engineering Contradiction:
Improvetiming constraint complianceVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory controller maintains continuous useful action by overlapping command issuance to different memories with the read/write command execution period. Through pipelining and parallel operations, the controller ensures that waiting periods are minimized and memory resources remain actively utilized throughout the timing constraint window.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20240370173A1Memory controller, control method for memory controller, and storage medium
Publication Date: 2024.11.07 CANON KK
  • US20240370173A1 patent drawing
  • US20240370173A1 patent drawing
  • US20240370173A1 patent drawing

AI summary

A memory controller that issues a command to access a plurality of memories sharing a data signal, the memory controller comprising: a holding circuit configured to hold a read and/or write access request; and a control circuit configured to select an arbitrary access request from the access requests held in the holding circuit and to issue a read command and/or a write command, wherein the control circuit controls not to select, for a predetermined period from issuance of a read command and/or a write command immediately preceding, an access request to a memory other than a memory to which the read command and/or the write command was issued immediately preceding, from among the access requests held in the holding circuit.