Memory Controller Channel Utilization Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, particularly system-on-chip (SoC) implementations, memory transaction delays can disrupt critical processes like video playback and image capture, as some functional circuits are sensitive to latency in memory operations, while others like graphics processors can compensate for longer memory transaction times.

Innovation Solution

A memory controller circuit manages memory transactions by distributing data blocks across multiple memory circuits based on communication channel utilization, using page access schemes and timing windows to prioritize real-time transactions, and adjusting data transfer limits to ensure efficient and timely data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory transactions are handled in a first-come-first-served manner without prioritization, then the memory system operates with simple control logic, but latency-sensitive circuits like camera and display circuits experience delays that cause frame loss and video playback disruption

Engineering Contradiction:
Improvetimely data storage and retrieval for real-time circuitsVSAvoidmemory controller management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments memory transactions into different priority levels, separating real-time transactions (camera, display) from non-real-time transactions (processing cores, graphics). The memory controller includes separate arbitration logic for each priority level, allowing real-time transactions to be handled with guaranteed timing while non-real-time transactions use standard FIFO scheduling. This segmentation resolves the contradiction by providing reliable timing for critical circuits without requiring complete redesign of the entire memory control system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a transaction priority identifier as an intermediary element that carries timing requirements through the memory system. This identifier is inserted by the master circuit and used by the memory controller to determine arbitration priority. The intermediary mechanism allows the system to automatically route transactions appropriately without complex direct control logic between all circuits, resolving the contradiction between reliability and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple memory circuits are used to increase bandwidth, then data transfer capacity improves, but the complexity of distributing and managing data across multiple channels increases

Engineering Contradiction:
Improvememory bandwidth and data transfer capacityVSAvoiddata distribution management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the data bus into multiple independent channels, each capable of handling transactions separately. The memory controller includes channel selection logic that automatically distributes transactions across available channels based on current utilization. This segmentation increases total bandwidth while keeping individual channel management simple, resolving the contradiction between productivity and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic channel selection where the memory controller continuously monitors channel utilization and adapts its distribution strategy in real-time. When certain channels become congested, the controller automatically routes transactions to less-utilized channels. This dynamic adaptation allows the system to maintain high productivity across multiple channels without requiring complex static distribution logic.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If data blocks are allocated with fixed memory space regardless of actual data size, then memory addressing simplifies, but memory space utilization decreases when data blocks contain variable amounts of data

Engineering Contradiction:
Improvememory addressing simplicityVSAvoidmemory space utilization efficiency
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent changes the addressing parameter from byte-addressable to block-addressable memory space. Each transaction operates on fixed-size data blocks with aligned addresses, simplifying the addressing logic in the memory controller. While this may appear to reduce utilization, the system compensates by efficiently packing multiple blocks into memory and using bank interleaving to maximize physical memory usage. This parameter change resolves the contradiction by making addressing trivial while maintaining overall efficiency through system-level optimization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11086534B2Memory data distribution based on communication channel utilization
Publication Date: 2021.08.10 APPLE INC
  • US11086534B2 patent drawing
  • US11086534B2 patent drawing
  • US11086534B2 patent drawing

AI summary

An embodiment of an apparatus includes a plurality of processing circuits, a plurality of memory circuits, and a memory controller circuit coupled to each memory circuit via a respective communication channel. A particular processing circuit may generate a data stream that includes a plurality of data blocks. The memory controller circuit may receive the plurality of data blocks from the particular processing circuit. The memory controller circuit may distribute the plurality of data blocks among the plurality of memory circuits based on respective utilizations of the plurality of communication channels.