Memory Controller Merging Module for Bandwidth Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional system memory has limited bandwidth, allowing it to fulfill only a limited number of memory access requests within a given time period, leading to inefficiencies in processing large numbers of requests and wasted clock cycles due to requests for data portions smaller than the configured burst size.
Innovation Solution
Incorporating a merging module within the memory controller that identifies and merges multiple memory access requests, allowing them to be fulfilled as a single burst transaction, thereby improving memory access request fulfillment efficiency and conserving system memory bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If system memory fulfills memory access requests individually, then each request is processed accurately, but the number of requests fulfilled within a given time period is limited due to bandwidth constraints
Solution Approach 1:
The patent merges multiple small memory access requests into a single larger burst transaction. The memory controller identifies multiple pending requests for different data portions and combines them into one consolidated request that can be fulfilled in a single burst, thereby reducing the total number of transactions and improving memory bandwidth utilization.
Solution Approach 2:
The memory controller performs preliminary analysis of pending memory access requests to identify those that can be merged. Before issuing requests to system memory, the controller pre-processes the request queue to combine compatible requests, ensuring that burst transactions are fully utilized and minimizing wasted clock cycles.
2Productivity
If system memory processes small data requests separately, then data accuracy is maintained, but burst size configuration is wasted and bandwidth is underutilized
Solution Approach 1:
The patent combines multiple small data requests into a single burst transaction that fully utilizes the configured burst size. By merging requests for different data portions into one consolidated transaction, the system maximizes memory bandwidth utilization and eliminates the waste associated with partial burst transactions.
3Ease of operation
If the memory controller issues multiple separate memory access requests, then all data access needs are met, but the fulfillment queue becomes congested and processing efficiency decreases
Solution Approach 1:
The memory controller performs preliminary merging of requests in the fulfillment queue before issuing them to system memory. By pre-processing the queue to identify and combine compatible requests, the controller reduces the number of transactions that need to be managed, simplifying queue management while improving fulfillment efficiency.
Data Source
AI summary
An integrated circuit may include a memory controller serving as an interface between master processing modules and system memory. The master processing modules may provide memory access requests to the memory controller along with respective tag identifications. The memory controller may place the memory access requests in a queue for fulfillment. The memory controller may include a merging module that generates a memory access request to replace two or more memory access requests previously received from the master processing modules. The merging module may store information associated with the memory access requests that were merged and use the stored information to assign appropriate tag identifications to portions of data obtained from system memory when fulfilling the generated memory access request. The memory controller may include a verification module that can be used with test equipment to optimize the design of the master processing modules for improved memory access performance.


