Demand Paging Validation in Fault-Handling Engines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing demand paging techniques in computer systems often stall units required to remedy page faults, limiting demand paging support to engines not involved in fault remediation, as stalling these units can prevent proper fault handling.
Innovation Solution
A method that validates virtual memory address mappings before transmitting requests to engines, ensuring engines do not encounter page faults and enabling all engines to support demand paging by ensuring appropriate memory mappings are established before operations are executed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a unit performs an unsuccessful memory access and stalls while the system responds to the page fault, then the process can be remedied and execute as intended, but the stalling unit risks blocking units required to remedy the page fault
Solution Approach 1:
The patent applies preliminary action by having the host unit validate virtual memory address mappings with the MMU before issuing commands to engines. This pre-validation ensures that memory mappings are established and verified in advance, preventing page faults from occurring during engine execution. By performing the memory validation action beforehand, the system eliminates the need for engines to stall during fault remediation, thus resolving the contradiction between reliable demand paging and fast fault remediation.
2Adaptability or versatility
If engines are allowed to stall during page faults, then demand paging can be supported, but engines involved in fault remediation cannot function properly
Solution Approach 1:
The patent extracts the memory validation function from the engine execution path and places it in the host unit before command issuance. By separating the validation step from the engine operation, the system allows engines to continue functioning without stalling while the host unit handles memory mapping verification. This extraction resolves the contradiction by removing the conflict between demand paging support and fault handling capability.
Solution Approach 2:
The host unit acts as an intermediary between the command issuance and engine execution. It validates memory mappings with the MMU before transmitting commands to engines, serving as a mediator that prevents page faults from reaching the engines. This intermediary approach enables demand paging support while ensuring engines remain functional during fault remediation processes.
3Productivity
If memory mappings are validated before transmitting requests to engines, then engines do not encounter page faults and can support demand paging, but additional validation steps are required
Solution Approach 1:
The host unit performs self-service by validating its own memory mappings with the MMU before issuing commands. This self-validation approach eliminates the need for external validation mechanisms or complex coordination protocols. The host unit independently ensures memory mapping validity, simplifying the overall system architecture while enabling full engine utilization for demand paging operations.
Data Source
AI summary
One embodiment of the present invention includes techniques to support demand paging across a processing unit. Before a host unit transmits a command to an engine that does not tolerate page faults, the host unit ensures that the virtual memory addresses associated with the command are appropriately mapped to physical memory addresses. In particular, if the virtual memory addresses are not appropriately mapped, then the processing unit performs actions to map the virtual memory address to appropriate locations in physical memory. Further, the processing unit ensures that the access permissions required for successful execution of the command are established. Because the virtual memory address mappings associated with the command are valid when the engine receives the command, the engine does not encounter page faults upon executing the command. Consequently, in contrast to prior-art techniques, the engine supports demand paging regardless of whether the engine is involved in remedying page faults.


