Transparent L2 Cache With Separate Valid RAM Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache configurations face challenges in maintaining cache coherence, particularly when data is changed in main memory and cached copies become outdated, leading to inefficiencies in write-through and write-back modes, and requiring complex processor commands for cache management.

Innovation Solution

A digital system employing a transparent level two (L2) cache with virtual address indexing and tagging, using a separate valid RAM for cache line validity, and an L2 write buffer for managing cache coherence, allowing for efficient cache operations and reduced overhead in cache management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is changed in main memory, then the cached copies become outdated, but maintaining cache coherence requires complex processor commands and management overhead

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

Solution Approach 1:

The cache system automatically detects and handles coherence issues through hardware mechanisms. The separate valid RAM and tag RAM arrays enable automatic validation and invalidation of cache lines without requiring complex processor commands, allowing the cache to self-manage coherence maintenance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces a separate valid RAM array as an intermediary structure between the data RAM and the coherence management logic. This valid RAM stores validity status independently, acting as a mediator that simplifies coherence checking and invalidation operations, reducing the complexity of processor commands needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If write-through mode is used to maintain cache coherence, then data propagation to main memory is ensured, but unnecessary data propagation increases write operations and reduces efficiency

Engineering Contradiction:
Improvecache coherenceVSAvoidwrite operation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by maintaining different validity states for different cache lines through the separate valid RAM array. Instead of uniformly propagating all writes to main memory, the system selectively invalidates only those cache lines that are actually outdated, allowing local optimization of write operations based on individual cache line validity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of validity tracking by using a separate valid RAM array instead of integrated validity bits. This parameter change enables more flexible and selective coherence management, allowing the system to distinguish between valid and invalid cache lines without forcing unnecessary write-through operations for all accesses.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If complex processor commands are used for cache management, then cache coherence can be maintained, but processor overhead increases and performance decreases

Engineering Contradiction:
Improvecache coherenceVSAvoidprocessor overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces complex software-based cache management commands with hardware-level mechanisms. The separate valid RAM and tag RAM arrays provide hardware-supported automatic validation and invalidation, substituting mechanical processor commands with automated hardware operations that execute faster and reduce processor overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The cache system performs self-validation and self-invalidation operations through the separate valid RAM array, reducing the need for processor intervention. The hardware automatically manages coherence status without requiring complex processor commands, thereby reducing processor overhead and time loss.

Inventive Principle:
Principle #25Self-service

4Device complexity

If integrated tag and valid storage is used, then cache structure is simplified, but selective invalidation of cache lines becomes difficult

Engineering Contradiction:
Improvecache structureVSAvoidselective invalidation capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the storage structure by separating the valid RAM array from the tag RAM array. This segmentation allows independent access and manipulation of validity information for each cache line, enabling selective invalidation operations without affecting other cache lines. The segmented structure provides both simplicity and versatility by allowing targeted coherence management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds another dimension to the cache structure by introducing a separate valid RAM array that operates independently from the tag storage. This dimensional separation enables selective invalidation by providing an additional layer of control, allowing the system to invalidate specific cache lines based on validity status without complicating the overall cache structure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8347034B1Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
Publication Date: 2013.01.01 MARVELL SEMICONDUCTOR INC
  • US8347034B1 patent drawing
  • US8347034B1 patent drawing
  • US8347034B1 patent drawing

AI summary

A computer cache for a memory comprises a data random-access memory (RAM) containing a plurality of cache lines. Each of the cache lines stores a segment of the memory. A tag RAM contains a plurality of address tags that correspond to the cache lines. A valid RAM contains a plurality of validity values that correspond to the cache lines. The valid RAM is stored separately from the tag RAM and the data RAM. The valid RAM is selectively independently clearable. A hit module determines whether data is stored in the computer cache based upon the valid RAM and the tag RAM.