Virtualized Memory System for Bank Conflict Elimination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer systems face performance bottlenecks due to slower external main memory systems that cannot keep pace with increasingly faster CPUs, leading to CPU stalls and reduced processing efficiency.
Innovation Solution
A virtualized memory system is introduced that translates memory access requests from a virtualized address space into a larger physical address space, allowing simultaneous read and write operations without memory bank conflicts, thereby optimizing memory performance and bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If external main memory systems are used to provide high memory density, then memory capacity is improved, but memory access speed deteriorates
Solution Approach 1:
The memory system is divided into multiple independent memory banks (Bank 0, Bank 1, Bank 2, etc.), each capable of simultaneous read and write operations. This segmentation allows the system to perform multiple memory operations in parallel, effectively increasing the throughput and masking the speed limitations of individual memory banks while maintaining high memory density.
Solution Approach 2:
The patent introduces a virtualized memory address space that maps to physical memory banks in a multi-dimensional manner. The virtual address translation mechanism enables simultaneous access to different memory banks through address mapping, adding a dimensional layer to memory access that allows parallel operations without conflicts, thereby improving effective access speed while preserving capacity.
2Speed
If memory bank conflicts are avoided to ensure fast access, then memory access speed is improved, but system complexity increases
Solution Approach 1:
A virtualized memory controller acts as an intermediary between the CPU and physical memory banks. It translates virtual memory addresses to physical bank addresses and manages simultaneous read/write operations by directing them to appropriate banks. This intermediary layer handles the complexity of conflict avoidance internally, presenting a simplified interface to the CPU while maintaining fast access speeds through intelligent address mapping and bank selection.
3Productivity
If CPU operates at high speed, then processing efficiency is improved, but CPU stalls due to memory bandwidth limitations
Solution Approach 1:
The memory system enables continuous useful action by allowing simultaneous read and write operations in different memory banks during the same clock cycle. This eliminates idle time in the memory subsystem, ensuring that the CPU can continuously receive data and send results without stalls. The parallel operation capability maintains a steady stream of data flow, matching the CPU's high-speed processing requirements.
Solution Approach 2:
The system performs preliminary actions by pre-fetching data and preparing memory banks for upcoming operations. The virtualized address space allows the system to anticipate memory access patterns and pre-position data in appropriate banks, reducing wait times for the CPU. This preliminary preparation ensures that data is ready when the CPU needs it, eliminating stalls and maintaining high processing efficiency.
Data Source
AI summary
A system and method for providing high-speed memory operations is disclosed. The technique uses virtualization of memory space to map a virtual address space to a larger physical address space wherein no memory bank conflicts will occur. The larger physical address space is used to prevent memory bank conflicts from occurring by moving the virtualized memory addresses of data being written to memory to a different location in physical memory that will eliminate a memory bank conflict. This allows the memory system to both store and read data in the same cycle with no conflicts.


