Task-Based Cache Isolation Using Mask Descriptors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex computing systems, especially those with safety-critical tasks like self-driving vehicle control, conventional cache locking mechanisms can lead to insufficient protection of safety-critical data and decreased performance due to unpredictable cache location and increased complexity.

Innovation Solution

A method and system for task-based cache isolation using mask descriptors and identifiers, where a cache controller stores mask descriptors representing cache portions, generates index identifiers based on memory addresses and mask descriptors, and applies memory transactions to specific cache elements, ensuring isolation and efficient access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional cache locking mechanisms are used to protect safety-critical data, then data protection is improved, but device complexity increases and protection becomes insufficient due to unpredictable cache locations

Engineering Contradiction:
Improveprotection of safety-critical dataVSAvoidcomplexity of cache management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache is segmented into multiple regions, each associated with a specific task or process. Mask descriptors divide the cache into protected and non-protected portions, allowing safety-critical data to be isolated in specific segments. This segmentation enables targeted protection without requiring system-wide complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Mask descriptors are pre-configured to define protected cache regions before execution. The system performs preliminary setup of cache isolation boundaries, so that when safety-critical tasks execute, their protected regions are already established and ready to prevent eviction without real-time complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cache locking is applied to protect safety-critical data, then data protection is improved, but cache performance decreases due to reduced cache availability

Engineering Contradiction:
Improveprotection of safety-critical dataVSAvoidcache performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of applying uniform locking across the entire cache, the system applies protection locally to specific cache regions identified by mask descriptors. Only the portions of cache containing safety-critical data are protected, while other regions remain fully available for general use, maintaining overall cache performance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies partial locking - only sufficient portions of the cache are protected to ensure safety-critical data protection, rather than excessive full-cache locking. This partial action maintains the necessary protection while preserving cache performance through available unprotected regions.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the cache is locked to prevent eviction of safety-critical data, then data protection is improved, but the system becomes less adaptable to growing complexity and unpredictable data locations

Engineering Contradiction:
Improveprotection of safety-critical dataVSAvoidadaptability to complex memory management systems
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Mask descriptors serve multiple functions: they define protected regions, identify cache segments, and provide task-specific isolation boundaries. This universal mechanism adapts to different tasks and data locations without requiring separate locking mechanisms for each case, providing versatility in complex systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The cache protection system is dynamic rather than static. Mask descriptors can be configured for different tasks and can adapt to where safety-critical data actually resides in the cache. This dynamic approach allows the system to handle unpredictable data locations and evolving system complexity effectively.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11288200B2Method and system for task-based cache isolation
Publication Date: 2022.03.29 BLACKBERRY LTD
  • US11288200B2 patent drawing
  • US11288200B2 patent drawing
  • US11288200B2 patent drawing

AI summary

A method of task-based cache isolation includes: storing, in association with a cache controller, (i) a plurality of mask descriptors representing respective portions of a cache memory, and (ii) for each mask descriptor, a mask identifier; receiving, at the cache controller, a memory transaction request containing a memory address and an active one of the mask identifiers; retrieving, at the cache controller, an active one of the mask descriptors corresponding to the active mask identifier; generating, based on the memory address and the active mask descriptor, an index identifier corresponding to a cache element within the portion of the cache memory represented by the active mask descriptor; and applying the memory transaction to the cache memory at the index identifier.