Page-Cross Prefetch Filtering for Virtually Indexed Caches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache prefetchers discard page-cross prefetch requests due to technical complexities and security risks, leading to inefficient use of caching resources and increased waste.
Innovation Solution
A method and apparatus for filtering prefetch requests using a page-cross prefetch filter trained with correlation results, determining the usefulness of requests based on program and system features, and adjusting a dynamic threshold for optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If aggressive prefetching is used to increase the chance of memory blocks being cached, then demand access misses are reduced, but cache resource waste increases
Solution Approach 1:
The patent implements a feedback mechanism by training a perceptron-based filter with actual prefetch request outcomes. The filter learns from historical data which prefetch requests are useful and which are wasteful, then uses this learned knowledge to make real-time decisions about permitting or discarding prefetch requests, thereby reducing cache resource waste while maintaining high prefetch accuracy
Solution Approach 2:
The patent dynamically adjusts the decision parameters for prefetch requests by using a trained perceptron filter that evaluates multiple features (address patterns, temporal characteristics, spatial relationships) and produces a dynamic permitting decision. This replaces static prefetching rules with adaptive parameter-based filtering that optimizes the balance between prefetch accuracy and resource utilization
2Adaptability or versatility
If page-cross prefetch requests are permitted, then caching coverage is improved, but technical complexity and security risks increase
Solution Approach 1:
The patent segments the prefetch request handling into distinct components: a perceptron-based filter module that evaluates requests, a decision module that permits or discards requests, and separate tracking mechanisms for permitted and discarded requests. This segmentation isolates the complexity of page-cross prefetch handling to specific modules while keeping the overall cache system manageable
Solution Approach 2:
The patent introduces a perceptron-based filter as an intermediary between the prefetch generator and the cache execution unit. This filter acts as a mediator that evaluates page-cross prefetch requests using learned patterns and features, making intelligent decisions about which requests to permit and which to discard, thereby managing the technical complexity while enabling improved caching coverage
3Reliability
If conventional prefetchers discard all page-cross prefetch requests, then security risks are reduced, but caching efficiency decreases
Solution Approach 1:
The patent transitions from a static security policy that uniformly discards all page-cross prefetch requests to a dynamic filtering approach. The perceptron-based filter dynamically evaluates each request based on learned patterns and features, permitting requests that exhibit safe characteristics while discarding potentially risky ones. This dynamic approach maintains security while improving caching efficiency
Solution Approach 2:
The patent performs preliminary evaluation and filtering of page-cross prefetch requests before they are executed. The trained perceptron filter assesses requests in advance using multiple features and patterns, making security-informed decisions about which requests to permit. This preliminary action prevents potentially risky requests from reaching the execution stage while allowing safe requests to proceed, thereby maintaining security without sacrificing caching efficiency
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A method is disclosed for filtering requests for a cache together with corresponding apparatus for the same. The requests comprise page-cross prefetch requests and the cache is a virtually indexed physically tagged cache. The method comprising the steps of: correlating program features and/or system features associated with the requests to the determined usefulness of those requests to achieve correlation results; training a page-cross prefetch filter with the correlation results; and determining whether to permit or discard a subsequent request using the trained filter.