Dual Buffer Memory Controller with Mode Selector
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory controller devices face inefficiencies in receiving memory location contents, particularly in heterogeneous multi-core memory systems, where energy consumption and execution speed are compromised due to suboptimal data retrieval strategies.
Innovation Solution
A device with dual buffers and a mode selector, utilizing multiplexers to enable simultaneous or sequential filling of buffers based on address bits, allowing for efficient data retrieval from alternate memory locations, thereby optimizing energy consumption and execution speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single buffer is used in the memory controller, then the device complexity is reduced, but the execution speed and energy efficiency are compromised due to inability to perform parallel buffer operations
Solution Approach 1:
The memory controller is segmented into two independent buffers (buffer A and buffer B) that can operate independently. This segmentation allows parallel data retrieval operations where one buffer can be filled while the other is being read, thereby increasing execution speed without proportionally increasing device complexity.
Solution Approach 2:
The second buffer is pre-filled with data from alternate memory locations while the first buffer is being read. This preliminary action ensures that when the first buffer is exhausted, the second buffer is already ready for immediate reading, eliminating idle time and improving overall data retrieval speed.
2Adaptability or versatility
If both buffers are filled simultaneously from any memory locations, then the data retrieval flexibility is improved, but the energy consumption increases due to redundant memory access operations
Solution Approach 1:
Different filling strategies are applied to different buffers based on their current state and the access pattern requirements. Buffer A and Buffer B can be filled from alternate memory locations (e.g., even addresses for one buffer, odd addresses for the other), optimizing energy consumption by avoiding redundant accesses while maintaining flexibility through the mode selector.
Solution Approach 2:
The memory controller dynamically switches between simultaneous filling mode and sequential filling mode based on the current operational requirements. The mode selector allows the system to adapt its buffer filling strategy in real-time, choosing the most energy-efficient mode for the current data retrieval pattern while maintaining operational flexibility.
3Use of energy by moving object
If the memory controller uses sequential buffer filling mode, then the energy consumption is reduced, but the execution speed decreases due to sequential rather than parallel operations
Solution Approach 1:
The memory controller alternates between filling buffer A and buffer B in a periodic sequential manner. While one buffer is being filled sequentially (saving energy), the other buffer is being read, maintaining continuous data flow. This periodic alternation ensures that the system maintains good execution speed while consuming less energy compared to simultaneous filling.
4Device complexity
If the memory controller does not include a mode selector, then the device complexity is reduced, but the adaptability to different access patterns is compromised
Solution Approach 1:
A mode selector (multiplexer) is introduced as an intermediary component that controls the buffer filling operation based on the current access pattern requirements. This simple control element allows the memory controller to adapt between simultaneous and sequential filling modes without significantly increasing device complexity, enabling flexibility for different data access patterns.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present description relates to a device comprising two buffers (102, 104) that can be filled with contents of memory locations (112, 114), and a selector (140) of a filling mode between simultaneous filling of said buffers and sequential filling of said buffers.