Memory Management Unit for Virtual Memory Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional computer systems face challenges in efficiently managing access to shared memory resources, particularly in handling faults and errors during virtual to physical memory space translation, which can lead to performance issues and inaccuracies.
Innovation Solution
A memory management system with a memory management unit that virtualizes context memory storage, independently controls access, and uses a translation lookaside buffer and fill component to track access requests and faults, preventing pre-emptive negative acknowledgments for context information and allowing other engines to access memory while faults are resolved.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional memory access management is used with virtual to physical translation, then memory space management is achieved, but faults and errors occur during translation causing access denials and performance issues
Solution Approach 1:
The patent introduces a shared resource management unit as an intermediary between multiple engines and the memory system. This unit independently controls access to shared resources and overrides access denials, acting as a mediator that resolves conflicts between virtual memory translation requirements and physical memory access constraints, thereby improving reliability without sacrificing productivity
Solution Approach 2:
The memory management system is segmented into distinct functional units: the shared resource management unit for access control, the translation lookaside buffer for virtual-to-physical translation, and the fill component for fault handling. This segmentation allows each unit to operate independently, preventing faults in one unit from cascading to others, thus improving overall system reliability while maintaining efficient memory access
2Reliability
If pre-emptive negative acknowledgments are issued for memory accesses, then fault prevention is attempted, but access speed and system flexibility are reduced
Solution Approach 1:
The translation lookaside buffer performs preliminary virtual-to-physical address translation and caches the results, so that subsequent memory accesses can be resolved without repeated translation operations. This preliminary action prevents translation faults while maintaining high access speed, as the buffer quickly provides physical addresses for previously translated virtual addresses
Solution Approach 2:
The fill component implements a feedback mechanism that monitors memory access requests and independently tracks their progress. When faults occur, the feedback system provides information about the fault status to the shared resource management unit, which can then make informed decisions about access control without issuing pre-emptive negative acknowledgments, thus maintaining speed while ensuring reliability
3Reliability
If one engine encounters a fault in memory access, then access control is enforced, but other engines are blocked from accessing memory
Solution Approach 1:
The system segments fault handling by engine, with the fill component independently tracking the progress of access requests from each engine separately. This segmentation allows the shared resource management unit to override access denials for specific engines without blocking other engines, maintaining fault isolation while preserving concurrent access capability and overall system productivity
Solution Approach 2:
The shared resource management unit acts as an intermediary that receives access requests from multiple engines, independently controls access to shared resources, and overrides access denials on a per-engine basis. This intermediary function allows the system to maintain reliability by controlling fault propagation while preserving productivity by allowing unaffected engines to continue accessing memory
Data Source
AI summary
A memory management system and method are described. In one embodiment, a memory management system includes a memory management unit for virtualizing context memory storage and independently controlling access to the context memory without interference from other engine activities. The shared resource management unit overrides a stream of access denials (e.g., NACKs) associated with an access problem. The memory management system and method facilitate access to memory while controlling translation between virtual and physical memory “spaces”. In one embodiment the memory management system includes a translation lookaside buffer and a fill component. The translation lookaside buffer tracks information associating a virtual memory space with a physical memory space. The fill component tracks the status of an access request progress from a plurality of engines independently and faults that occur in attempting to access a memory space.


