Configurable Cache Segmentation for Cross Thrashing Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multimedia SoCs face challenges with cross thrashing due to multiple processing components accessing a shared cache, leading to increased latency and decreased throughput, as each component continually overwrites the cache, forcing them to fetch data from main memory, which limits bandwidth and fails to meet latency requirements.

Innovation Solution

A system utilizing a qualifier-based splitter, configurable caches, and an arbiter to route transactions and manage cache access, enabling dynamic configuration of prefetching, write modes, and replacement policies, reducing cross thrashing and optimizing cache performance for each processing component.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a shared cache is used by multiple processing components, then memory bandwidth utilization is improved, but cross thrashing occurs leading to increased latency and decreased throughput

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The cache is divided into multiple independent ways (e.g., 4 ways), with each way dedicated to a specific processing component. This segmentation eliminates cross thrashing by ensuring that each processor has its own cache way, preventing one processor from evicting another's data while still utilizing the full cache bandwidth through parallel access to different ways.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If cache size is increased to reduce cross thrashing, then latency is decreased, but cache access speed decreases due to larger cache size

Engineering Contradiction:
ImprovelatencyVSAvoidcache access speed
Core Design Contradiction:
Loss of timeVSSpeed

Solution Approach 1:

Rather than increasing overall cache size, the invention segments the existing cache into multiple ways. Each processor accesses its dedicated way, maintaining fast access speeds while reducing cross thrashing. This approach achieves latency reduction without the performance penalty of enlarging the cache.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If partitioned caches are used to eliminate cross thrashing, then latency is decreased, but device complexity increases and large cache size is required

Engineering Contradiction:
ImprovelatencyVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache is segmented into multiple ways with each way dedicated to a specific processor through qualifier-based routing. The splitter component automatically routes cache requests to the appropriate way based on qualifiers, eliminating the need for complex software-based cache partitioning schemes while reducing cross thrashing and latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A qualifier-based splitter acts as an intermediary between processors and the cache, automatically routing requests to the appropriate cache way based on qualifiers. This intermediary simplifies cache management by handling the partitioning logic centrally, reducing the complexity that would otherwise be required in software-based approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If dynamic configuration of cache parameters is implemented, then cache performance is optimized for different processing components, but device complexity increases

Engineering Contradiction:
Improvecache throughputVSAvoidcache configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache system implements dynamic configuration where parameters such as prefetching, write modes, and replacement policies can be independently adjusted for each cache way. This allows optimization for different processing components while maintaining manageable complexity through the qualifier-based routing architecture that automatically directs requests to the appropriately configured way.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9430393B2System and method for managing cache
Publication Date: 2016.08.30 TEXAS INSTRUMENTS INC
  • US9430393B2 patent drawing
  • US9430393B2 patent drawing
  • US9430393B2 patent drawing

AI summary

A system includes first and second processing components, a qualified based splitter component, a first and second configurable cache element and an arbiter component. The first data processing component generates a first request for a first portion of data at a first location within a memory. The second data processing component generates a second request for a second portion of data at a second location within the memory. The qualifier based splitter component routes the first request and the second request based on a qualifier. The first configurable cache element enables or disables prefetching data within a first region of the memory. The second configurable cache element enables or disables prefetching data within a second region of the memory. The arbiter component routes the first request and the second request to the memory.