Cache Partitioning by Sets and Ways for Power Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache partitioning in computing systems is limited by the number of cache ways and associativity, leading to inefficient use of cache space and power consumption, as well as inadequate support for diverse access patterns across different subsystems, such as multimedia and CPU operations.
Innovation Solution
The method involves partitioning a system cache across both cache ways and sets to create component caches, with a configuration table storing traits like set shift, set offset, and target ways to customize cache parameters for each component cache, allowing for dynamic partitioning and customization of associativity and replacement policies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If cache partitioning is done across cache ways only, then the implementation is simple, but the number of cache partitions is limited and cache space utilization is inefficient
Solution Approach 1:
The patent segments the cache into both sets and ways, creating a two-dimensional partitioning structure. This allows the cache to be divided into multiple independent partitions along both dimensions, significantly increasing the number of possible partitions compared to way-only partitioning while maintaining implementation feasibility through systematic addressing.
Solution Approach 2:
The patent introduces set grouping as an additional dimension for cache partitioning. By organizing caches into set groups and allowing partitioning along both set and way dimensions, the system transforms from one-dimensional (way-only) to two-dimensional partitioning, enabling exponentially more partitions without proportionally increasing complexity.
2Productivity
If associativity is increased to reduce cache conflicts, then cache performance improves, but the maximum number of cache partitions decreases
Solution Approach 1:
By segmenting the cache along both set and way dimensions, the patent creates multiple independent partitions that can each maintain their own associativity characteristics. This segmentation allows the system to achieve both high associativity within partitions (for performance) and multiple partitions (for versatility) simultaneously, as each partition operates independently.
Solution Approach 2:
The patent enables different cache partitions to have different associativity settings tailored to their specific access patterns. Each partition can be configured with local quality parameters optimized for its workload, while the overall system maintains high adaptability through the ability to create numerous partitions with varying characteristics.
3Device complexity
If minimum way partition size is determined by associativity, then cache structure is simplified, but cache space is lost due to fragmentation
Solution Approach 1:
By introducing set grouping as an additional dimension, the patent enables finer-grained control over cache partition sizes. The set offset trait allows selective inclusion of specific sets in each partition, enabling the system to pack data more efficiently and reduce wasted space while maintaining a relatively simple underlying cache structure.
Solution Approach 2:
The patent introduces configurable parameters (set shift trait, set offset trait, target ways trait) that allow dynamic adjustment of partition characteristics. These parameter changes enable the cache to adapt its partitioning strategy to minimize fragmentation and optimize space utilization without fundamentally changing the cache hardware structure.
4Ease of manufacture
If one-size cache partitions are used for all applications, then implementation is straightforward, but diverse access patterns cannot be optimized
Solution Approach 1:
The patent enables each cache partition to have customized characteristics (set shift, set offset, target ways) optimized for its specific access patterns. Different partitions can be configured with different associativity levels, set groupings, and replacement policies tailored to their workload requirements, allowing the system to simultaneously support diverse access patterns while maintaining straightforward implementation through a unified configuration mechanism.
Data Source
AI summary
Aspects include computing devices, systems, and methods for partitioning a system cache by sets and ways into component caches. A system cache memory controller may manage the component caches and manage access to the component caches. The system cache memory controller may receive system cache access requests specifying component cache identifiers, and match the component cache identifiers with records correlating traits of the component cache identifiers with in a component cache configuration table. The component cache traits may include a set shift trait, set offset trait, and target ways, which may define the locations of the component caches in the system cache. The system cache memory controller may also receive a physical address for the system cache in the system cache access request, determine an indexing mode for the component cache, and translate the physical address for the component cache.


