Cache Invalidation for Reducing Memory Bus Traffic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face inefficiencies due to excessive data traffic between different levels of the memory hierarchy, leading to bottlenecks that hinder system performance.

Innovation Solution

Implementing a method and system that utilize a cache invalidation command to prevent temporary data from being written to lower levels of memory, thereby reducing unnecessary traffic on the memory bus.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is continuously written to main memory to maintain memory coherence, then memory consistency is maintained, but memory bus bandwidth is exhausted creating a bottleneck

Engineering Contradiction:
Improvememory coherenceVSAvoidmemory bus bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the invalidation command from the normal write operation sequence. Instead of always writing data to main memory, the system selectively extracts the invalidation step for temporary data, allowing the data to remain in cache without being written to main memory, thus reducing bandwidth consumption while maintaining coherence for actual data writes

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system dynamically adjusts the write behavior based on data characteristics. By introducing a valid/invalid flag for each cache line, the system can dynamically decide whether to write to main memory or not, optimizing the balance between memory coherence and bandwidth utilization based on the specific data access patterns

Inventive Principle:
Principle #15Dynamics

2Speed

If temporary data is stored in local memory area, then access speed is improved, but unnecessary data traffic to main memory increases

Engineering Contradiction:
Improvedata access speedVSAvoidunnecessary data traffic
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system performs preliminary action by setting the valid/invalid flag when data is first loaded into the local memory area (L1 cache). This preliminary classification allows subsequent write operations to be optimized - if the flag indicates the data is temporary, the system knows in advance that no write-back to main memory is needed, preventing unnecessary traffic

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by treating different cache lines differently based on their validity status. Cache lines marked as invalid (temporary data) are handled differently from valid cache lines - they can be evicted without writing to main memory, while valid data maintains normal write-back behavior, optimizing the system locally for each data element

Inventive Principle:
Principle #3Local quality

3Productivity

If cache invalidation is implemented to prevent unnecessary writes, then memory bus traffic is reduced, but system complexity increases

Engineering Contradiction:
Improvememory bus bandwidthVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes the parameter state of cache lines by introducing a valid/invalid flag for each cache line. This simple parameter change enables the complex behavior of selective writing without requiring complex hardware architecture changes - the validity status becomes a simple bit that directs the write behavior

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12287970B2Methods and systems for limiting data traffic while processing computer system operations
Publication Date: 2025.04.29 MELLANOX TECHNOLOGIES LTD(IL)
  • US12287970B2 patent drawing
  • US12287970B2 patent drawing
  • US12287970B2 patent drawing

AI summary

A method and system are provided for limiting unnecessary data traffic on the data busses connecting the various levels of system memory. Some embodiments may include processing an invalidation command associated with a system or network operation requiring temporary storage of data in a local memory area. The invalidation command may comprise a memory location indicator capable of identifying the physical addresses of the associated data in the local memory area. Some embodiments may preclude the data associated with the system or network operation from being written to a main memory by invalidating the memory locations holding the temporary data once the system or network operation has finished utilizing the local memory area.