Memory Controller Channel Utilization Distribution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


