Configurable Cache IP with Flushable Address Range

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems require manual, time-consuming software intervention to flush cache lines containing data structures, which hinders system performance and increases memory access latency.

Innovation Solution

A cache IP system with a set of service registers, including a control register, allows automatic flushing of cache lines within a specified address range, enabling system software to manage coherence and reduce memory access latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual software intervention is used to flush cache lines, then cache coherence can be maintained, but system performance deteriorates and memory access latency increases

Engineering Contradiction:
Improvecache coherenceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache IP is equipped with service registers that enable it to automatically perform flush operations without requiring external software intervention. The cache maintenance unit monitors and manages cache coherence autonomously by receiving flush commands and executing the necessary cache line invalidations, thereby freeing the processing element from manual cache management tasks while maintaining coherence reliability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A cache maintenance unit acts as an intermediary between the processing element and the cache memory system. This unit receives flush commands from software, identifies the relevant cache lines within specified address ranges, and automatically performs the flush operations. This intermediary mechanism bridges the gap between software control requirements and hardware-level cache management, improving performance by offloading the actual flush execution from the processing element

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual software flushing is implemented, then cache lines can be updated in memory, but time is consumed from the processing element

Engineering Contradiction:
Improvememory update accuracyVSAvoidprocessing element time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache IP autonomously manages the flush operation execution through its integrated maintenance unit. When a flush command is issued with a specified address range, the cache maintenance unit automatically identifies affected cache lines, determines which ones contain dirty data, and performs the memory update operations without requiring the processing element to remain engaged, thus minimizing time loss while ensuring accurate memory updates

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary identification of cache lines that require flushing before the actual flush operation begins. The cache maintenance unit pre-processes the flush command to determine the set of cache lines within the specified address range that contain modified data, preparing the flush operation in advance. This preliminary action allows the processing element to initiate the flush without being blocked during the actual memory write operations, reducing overall time loss

Inventive Principle:
Principle #10Preliminary action

3Productivity

If cache buffering is used to reduce memory access latency, then system performance improves, but the complexity of managing cache coherence increases

Engineering Contradiction:
Improvesystem performanceVSAvoidcoherence management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache IP includes an integrated maintenance unit that autonomously handles coherence management tasks. This unit monitors cache state, tracks dirty lines, and automatically executes flush operations when commanded, without requiring complex external coherence protocols or software intervention. The self-service capability reduces the complexity burden on external systems while maintaining the performance benefits of cache buffering

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The cache maintenance unit serves as an intermediary layer that simplifies coherence management for the processing element. It absorbs the complexity of coherence protocol implementation, address range analysis, and cache line identification, presenting a simple flush command interface to software while handling all the complex coherence management tasks internally, thus improving performance without exposing complexity to external systems

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11556477B2System and method for configurable cache IP with flushable address range
Publication Date: 2023.01.17 ARTERIS INC
  • US11556477B2 patent drawing

AI summary

A system and method are disclosed for a cache IP that includes registers that are programmed through a service port. Service registers are selected from the registers to define an address range so that all cache lines within the address range can be flushed automatically using a control signal sent to a control register.