Memory Interface Virtual Physical Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in maintaining data coherency across multiple processors due to the separate cache hierarchies associated with each processor, where modifications to a cache line in one processor's local cache may not immediately be reflected in main memory, leading to issues with data consistency.

Innovation Solution

A memory interface is introduced that includes a memory management unit for mapping virtual addresses to physical addresses and a coherency manager with a reverse translation module to translate snoop requests between virtual and physical address spaces, ensuring data coherency by managing cache line states and evictions based on fill levels and access criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If each processor has a separate cache hierarchy to reduce memory access latency, then access speed is improved, but data coherency between processors deteriorates

Engineering Contradiction:
Improvememory access speedVSAvoiddata coherency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a memory interface as an intermediary component between the cache memory and main memory. This interface includes a coherency manager that mediates snoop requests from the memory bus, translating physical addresses to virtual addresses and managing cache line states. The intermediary ensures that cache modifications are properly coordinated with main memory, resolving the data coherency issue while preserving the performance benefits of separate cache hierarchies.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism through the coherency manager that monitors snoop requests on the memory bus. When a snoop request is detected, the system translates the physical address to a virtual address and checks the corresponding cache line state. This feedback loop ensures that cache modifications are properly reflected in main memory, maintaining data coherency across processors.

Inventive Principle:
Principle #23Feedback

2Productivity

If cache lines are modified locally without immediate writeback to maintain high processing speed, then productivity is improved, but data consistency across processors deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent enables processors to continue modifying cache lines locally without interruption, maintaining high processing productivity. The coherency manager in the memory interface continuously monitors snoop requests and manages the writeback process in the background. This allows useful actions (processing) to continue uninterrupted while still ensuring data consistency through coordinated writeback operations.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The memory interface acts as an intermediary that decouples local cache modifications from immediate writeback requirements. Processors can modify cache lines locally for high-speed processing, while the coherency manager mediates the synchronization with main memory through snoop request handling, ensuring data consistency without blocking processor operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If a memory interface translates all address requests to maintain virtual address space support, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveaddress space supportVSAvoidtranslation mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the address translation function into two distinct modules: a memory management unit that handles virtual-to-physical address translation for memory requests, and a coherency manager with a reverse translation module that handles physical-to-virtual translation for snoop requests. This segmentation allows each module to specialize in specific translation tasks, improving adaptability while managing complexity through functional decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory interface is designed with multi-functionality to handle both memory requests and snoop requests with different address translation requirements. The coherency manager serves multiple purposes: managing cache line states, handling snoop requests, and providing reverse address translation. This universal design improves adaptability to different memory access patterns while consolidating functions to manage overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11372777B2Memory interface between physical and virtual address spaces
Publication Date: 2022.06.28 IMAGINATION TECH LTD
  • US11372777B2 patent drawing
  • US11372777B2 patent drawing
  • US11372777B2 patent drawing

AI summary

A memory interface for interfacing between a memory bus addressable using a physical address space and a cache memory addressable using a virtual address space, the memory interface comprising: a memory management unit configured to maintain a mapping from the virtual address space to the physical address space; and a coherency manager comprising a reverse translation module configured to maintain a mapping from the physical address space to the virtual address space; wherein the memory interface is configured to: receive a memory read request from the cache memory, the memory read request being addressed in the virtual address space; translate the memory read request, at the memory management unit, to a translated memory read request addressed in the physical address space for transmission on the memory bus; receive a snoop request from the memory bus, the snoop request being addressed in the physical address space; and translate the snoop request, at the coherency manager, to a translated snoop request addressed in the virtual address space for processing in connection with the cache memory.