Virtualized Memory System for Bank Conflict Elimination

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory capacityVSAvoidmemory access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If memory bank conflicts are avoided to ensure fast access, then memory access speed is improved, but system complexity increases

Engineering Contradiction:
Improvememory access speedVSAvoidmemory system complexity
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If CPU operates at high speed, then processing efficiency is improved, but CPU stalls due to memory bandwidth limitations

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidCPU stall time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #20Continuity of useful action

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9280464B2System and method for simultaneously storing and reading data from a memory system
Publication Date: 2016.03.08 CISCO TECHNOLOGY INC
  • US9280464B2 patent drawing
  • US9280464B2 patent drawing
  • US9280464B2 patent drawing

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.