Dynamic Memory Bank Interleaving for Higher Access Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Advanced driver assistance systems (ADAS) and autonomous vehicle (AV) systems face challenges in achieving high-throughput access to information stored in dynamic memory modules, due to significant time gaps between consecutive accesses to the same group of memory banks.
Innovation Solution
The method involves converting a set of access requests into a set of commands, scheduling the execution of these commands to interleave between different groups of memory banks, and using a dynamic memory controller to execute the commands according to the schedule, thereby reducing the impact of time gaps between accesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If consecutive accesses are made to the same group of memory banks, then memory operations can be performed sequentially, but significant time gaps are imposed between consecutive accesses
Solution Approach 1:
The memory banks are divided into multiple groups, allowing the system to segment access operations across different groups. When one group is being accessed, another group can be prepared or accessed simultaneously, effectively dividing the access timeline to eliminate idle time gaps.
Solution Approach 2:
The patent implements continuous useful action by ensuring that while one group of memory banks is undergoing operations (such as refresh or access), another group is being accessed for data operations. This overlapping of operations ensures that the memory subsystem is continuously productive without idle time gaps.
2Productivity
If memory banks are organized in multiple groups, then access throughput can be improved by interleaving, but the memory controller complexity increases
Solution Approach 1:
The memory banks are divided into multiple groups, allowing the system to segment access operations across different groups. When one group is being accessed, another group can be prepared or accessed simultaneously, effectively dividing the access timeline to eliminate idle time gaps.
Solution Approach 2:
The memory controller dynamically schedules and interleaves access commands across different memory bank groups based on current operation status. This dynamic scheduling optimizes throughput by adapting to the timing requirements of different memory operations without requiring a completely complex static architecture.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A method for accessing a dynamic memory module, the method may include (i) receiving, by a memory controller, a set of access requests for accessing the dynamic memory module; (ii) converting the access requests to a set of commands, wherein the set of commands comprise (a) a first sub-set of commands that are related to a first group of memory banks, and (b) a second sub-set of commands that are related to a second group of memory banks; (iii) scheduling, by a scheduler of the memory controller, an execution of the first sub-set; (iv) scheduling an execution of the second sub-set to be interleaved with the execution of the first sub-set; and (v) executing the set of commands according to the schedule.