Parametric Hash Cache Access Control for Probabilistic Timing Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovePTA requirement complianceVSAvoidcache control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveprobability guaranteeVSAvoidcache energy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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

Inventive Principle:
Principle #35Parameter changes

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

Inventive Principle:
Principle #26Copying

3Device complexity

If deterministic placement policies are used, then cache structure remains simple, but hit/miss patterns are observable and security is compromised

Engineering Contradiction:
Improvecache structure simplicityVSAvoidsecurity vulnerability
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9396119B2Device for controlling the access to a cache structure
Publication Date: 2016.07.19 BARCELONA SUPERCOMPUTING CENT CENT NAT DE SUPERCOMPUTACION
  • US9396119B2 patent drawing
  • US9396119B2 patent drawing
  • US9396119B2 patent drawing

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.