Dynamic Cache Indexing Function Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems face performance issues due to large latencies in main memory structures, which are exacerbated by cache misses caused by ineffective indexing functions in cache architectures, leading to underutilization and overutilization of cache resources.

Innovation Solution

Implementing a plurality of indexing functions that can be chosen and used dynamically based on the specific needs of a computer program to optimize cache performance, either through hardwired specialized hardware or customizable lookup tables, allowing for improved mapping of main memory addresses to cache locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single indexing function is used in cache architecture, then the cache design is simple, but cache performance deteriorates due to cache conflicts and misses

Engineering Contradiction:
Improvecache design complexityVSAvoidcache performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic indexing function selection where the cache can switch between multiple indexing functions (e.g., bit selection, set associative, fully associative) based on the access patterns of different programs or program portions. This dynamic adaptation allows the cache to optimize performance for varying workloads without permanently increasing structural complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the indexing function parameter based on program characteristics and cache performance metrics. By monitoring cache miss rates and switching between different indexing functions (changing the mapping parameter), the system achieves improved cache performance without requiring a fundamentally complex cache structure

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cache size is increased to reduce conflicts, then cache performance improves, but memory latency and system cost increase

Engineering Contradiction:
Improvecache performanceVSAvoidmemory latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instead of increasing cache size, the patent changes the indexing function parameter to reduce cache conflicts. By switching between different indexing functions (e.g., from bit selection to set associative), the system achieves better cache utilization and reduced misses without the latency penalty of larger cache structures

Inventive Principle:
Principle #35Parameter changes

3Productivity

If associativity of cache is increased to allow addresses to be placed in multiple locations, then cache misses reduce, but design complexity and cost increase significantly

Engineering Contradiction:
Improvecache miss reductionVSAvoidcache design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic associativity selection where the cache can switch between different associativity modes (direct-mapped, set-associative, fully-associative) based on program behavior. This allows the system to achieve high miss reduction when needed while maintaining simple direct-mapped behavior for other cases, avoiding permanent complexity increase

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the cache into multiple ways or sets that can be independently configured with different indexing functions. This segmentation allows different portions of the cache to use different associativity levels simultaneously, achieving high performance for specific workloads while maintaining overall design simplicity

Inventive Principle:
Principle #1Segmentation

4Device complexity

If bit selection indexing function is used for simplicity, then cache design is straightforward, but cache conflicts occur causing underutilization and overutilization of cache locations

Engineering Contradiction:
Improveindexing function simplicityVSAvoidcache utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent dynamically selects between bit selection and other indexing functions based on program characteristics and cache performance. When bit selection causes excessive conflicts, the system switches to alternative functions, maintaining simplicity while improving utilization efficiency through adaptive behavior

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the indexing function parameter from fixed bit selection to dynamically selectable functions. By monitoring cache conflict rates and switching to alternative indexing functions when conflicts exceed thresholds, the system achieves better utilization without permanently complicating the indexing mechanism

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7856529B2Customizable memory indexing functions
Publication Date: 2010.12.21 MASSACHUSETTS INST OF TECH
  • US7856529B2 patent drawing
  • US7856529B2 patent drawing
  • US7856529B2 patent drawing

AI summary

Methods and apparatus related to memory indexing. Receiving indications of an indexing function for use with a memory. Performing indexing functions with a processor before addressing a memory location. Referencing a customizable lookup table to determine a memory location. Translating a computer program to control a computer system to use a desired indexing function. Determining desired indexing functions based on performance of a computer system.