Parametric Hash Cache Access Control for Probabilistic Timing Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache structures in real-time systems are deterministic, failing to provide true probabilities for cache hits and misses, which is essential for Probabilistic Timing Analysis (PTA) and security, while fully-associative caches are energy and area expensive and do not scale well.
Innovation Solution
A method and device that generate seed values during program execution to create a parametric hash function for cache set identification, allowing each address to have a true probability of allocation to any cache set, using a pseudo-random number generator and updating the seed value periodically or on events.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If deterministic placement policies are used in cache structures, then cache access behavior is predictable and simple to implement, but true probabilities for cache hits and misses cannot be provided, failing PTA requirements
Solution Approach 1:
The patent applies dynamics by making the placement policy non-deterministic through random seed values that change over time. The hash function incorporates a random seed that is updated periodically or on events, transforming the static deterministic placement into a dynamic probabilistic system that can provide true probabilities for cache hits and misses, thereby meeting PTA requirements while maintaining implementation simplicity
Solution Approach 2:
The patent changes the parameter of the placement function by introducing a random seed value that varies over time. Instead of using a fixed deterministic hash function, the system uses a parameterized hash function where the seed can be updated based on time or events, enabling probabilistic analysis while maintaining the same basic cache structure and placement mechanism
2Reliability
If fully-associative caches are used to achieve probabilistic behavior, then true probabilities for cache allocation can be provided, but energy consumption and area increase significantly
Solution Approach 1:
The patent changes the parameter of the placement function by introducing a random seed value that varies over time. Instead of using a fixed deterministic hash function, the system uses a parameterized hash function where the seed can be updated based on time or events, enabling probabilistic analysis while maintaining the same basic cache structure and placement mechanism
Solution Approach 2:
The patent creates a probabilistic placement mechanism by copying and varying the seed value rather than redesigning the entire cache architecture. The same cache structure with standard placement policies is used, but the seed parameter is randomized and updated, providing probabilistic behavior without the need for fully-associative cache redesign, thus avoiding the energy and area penalties
3Device complexity
If deterministic placement policies are used, then cache structure remains simple, but hit/miss patterns are observable and security is compromised
Solution Approach 1:
The patent applies dynamics by making the placement policy non-deterministic through random seed values that change over time. The hash function incorporates a random seed that is updated periodically or on events, transforming the static deterministic placement into a dynamic probabilistic system that can provide true probabilities for cache hits and misses, thereby meeting PTA requirements while maintaining implementation simplicity
Solution Approach 2:
The patent applies preliminary action by updating the seed value before cache access operations. The seed is updated periodically or on events prior to the access, ensuring that the placement function uses a fresh random parameter for each access pattern. This preliminary seed update prevents predictable hit/miss patterns from being established, thereby securing the system against timing attacks while maintaining simple cache structure
Data Source
AI summary
The present disclosure relates to a device for controlling the access to a cache structure comprising multiple cache sets during the execution of at least one computer program, the device comprising a module for generating seed values during the execution of the at least one computer program; a parametric hash function module for generating a cache set identifier to access the cache structure, the identifier being generated by combining a seed value generated by the module for generating seed values and predetermined bits of an address to access a main memory associated to the cache structure.


