Processor Cache Hierarchy with Mid-Level Invalidation Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network processors face challenges in efficiently processing and securing network protocol layers from L3 to L7, particularly in managing cache hierarchies to optimize performance and security.

Innovation Solution

A memory subsystem with a three-level cache hierarchy, including L1 instruction and data caches, a mid-level cache, and a low-level cache and controller, which maintains a directory to track instruction and data locations and selectively sends invalidation commands to optimize cache operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a three-level cache hierarchy (L1, mid-level, and low-level cache) is implemented, then data access performance is improved and communication traffic within the memory subsystem is reduced, but device complexity increases due to the need to manage multiple cache levels and maintain a directory to track instruction and data locations

Engineering Contradiction:
Improvenetwork processing efficiencyVSAvoidmemory subsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache hierarchy is segmented into three distinct levels (L1 instruction cache, mid-level instruction cache, and low-level cache) with specialized functions. Each level manages specific portions of the cache hierarchy, allowing independent optimization and reduction of complexity in individual segments while achieving overall performance improvement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The mid-level instruction cache acts as an intermediary between the L1 instruction caches and the low-level cache. It receives invalidation commands from the low-level cache and selectively propagates them to L1 caches, reducing the communication burden on the L1 caches while maintaining coherence across the hierarchy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the low-level cache sends invalidation commands to the mid-level cache, then data integrity is maintained across multiple processor cores, but communication traffic within the memory subsystem increases

Engineering Contradiction:
Improvedata integrityVSAvoidcommunication traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs partial invalidation actions by selectively sending invalidation commands only when necessary. The low-level cache determines whether an invalidation is needed based on whether the instruction is stored at the mid-level cache, avoiding unnecessary communication while maintaining data integrity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The mid-level cache maintains its own state information about stored instructions and autonomously manages invalidation operations. It receives invalidation commands from the low-level cache and selectively propagates them to L1 caches based on its own state, reducing the burden on other components.

Inventive Principle:
Principle #25Self-service

3Reliability

If a directory is maintained to track instruction and data locations, then cache coherence is improved, but device complexity and memory subsystem bandwidth requirements increase

Engineering Contradiction:
Improvecache coherenceVSAvoiddirectory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The directory tracking function is extracted and centralized at the low-level cache, which maintains the directory to track instruction and data locations. This centralization simplifies the overall system architecture by concentrating the complexity in one location rather than distributing it across multiple cache levels.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The low-level cache serves multiple functions: it acts as a cache level, maintains the directory for tracking locations, and manages invalidation operations. This multi-functionality reduces the need for separate dedicated components, thereby reducing overall system complexity while maintaining coherence.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12210457B1Processor data cache with shared mid-level cache and low-level cache
Publication Date: 2025.01.28 MARVELL ASIA PTE LTD
  • US12210457B1 patent drawing
  • US12210457B1 patent drawing
  • US12210457B1 patent drawing

AI summary

A network processor includes a memory subsystem serving a plurality of processor cores. The memory subsystem includes a hierarchy of caches. A mid-level instruction cache provides for caching instructions for multiple processor cores. Likewise, a mid-level data cache provides for caching data for multiple cores, and can optionally serve as a point of serialization of the memory subsystem. A low-level cache is partitionable into partitions that are subsets of both ways and sets, and each partition can serve an independent process and/or processor core.