Cache Sub-Partitioning for Sub-Entity Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing devices with multiple processing subsystems, cache contention occurs among processing subsystems and their sub-entities, leading to inefficient operation despite partitioning, as sub-entities within a partition still contend for space, resulting in inefficient data access and cache usage.
Innovation Solution
A partitioning mechanism that divides cache memory into sub-partitions based on memory access patterns and properties of sub-entities, allocating specific sub-partitions to each sub-entity to prevent eviction of their cache blocks and optimize access, thereby enhancing cache efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If caches are partitioned into partitions for processing subsystems, then processing subsystems can have protected access to cache portions, but sub-entities within a partition still contend for space leading to inefficient operation
Solution Approach 1:
The patent applies segmentation by dividing the cache into partitions for processing subsystems, and then further dividing each partition into sub-partitions for sub-entities. This multi-level segmentation eliminates contention at the sub-entity level while maintaining protected access at the partition level, resolving the contradiction between partition protection and sub-entity efficiency.
Solution Approach 2:
The patent implements local quality by allocating different portions of the cache to different sub-entities based on their specific access patterns and requirements. Each sub-entity receives customized cache allocation rather than uniform sharing, improving local access efficiency while maintaining overall system reliability.
2Adaptability or versatility
If sub-entities share cache partitions, then cache space is available for multiple sub-entities, but contention for space occurs causing inefficient data access
Solution Approach 1:
The patent segments the shared cache partition into dedicated sub-partitions for each sub-entity. This maintains cache sharing capability at the partition level while eliminating contention at the sub-entity level through dedicated sub-partition allocation, resolving the contradiction between adaptability and productivity.
3Reliability
If fixed cache partitioning is used, then processing subsystems have guaranteed access, but cannot adapt to varying memory access patterns of sub-entities
Solution Approach 1:
The patent implements dynamic cache partitioning where sub-partitions are allocated and reallocated based on observed memory access patterns of sub-entities. The system maintains guaranteed access through protected sub-partition allocation while adapting to varying access patterns through runtime monitoring and reallocation, resolving the contradiction between reliability and adaptability.
Data Source
AI summary
Some embodiments include a partitioning mechanism that partitions a cache memory into sub-partitions for sub-entities. In the described embodiments, the cache memory is initially partitioned into two or more partitions for one or more corresponding entities. During a partitioning operation, the partitioning mechanism is configured to partition one or more of the partitions in the cache memory into two or more sub-partitions for one or more sub-entities of a corresponding entity. A cache controller then uses a corresponding sub-partition for memory accesses by the one or more sub-entities.


