Configurable Cache-Way Allocation for Coherent Multi-Core Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-core systems face coherency issues due to multiple processing cores accessing shared memory addresses, leading to operational inefficiencies and potential data inconsistencies.

Innovation Solution

The implementation of a multi-core shared memory controller (MSMC) with a snoop filter bank, cache tag bank, and memory bank, which applies tags to identify snoop filter states and cache hit statuses to determine whether to issue snoop requests, thereby maintaining memory coherency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processing cores access shared memory addresses simultaneously, then system productivity is improved, but coherency issues and data inconsistency occur

Engineering Contradiction:
Improvesystem productivityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a memory controller as an intermediary between multiple processing cores and shared memory. The memory controller implements snoop filter logic that monitors and coordinates access to shared memory addresses, ensuring that cache coherency is maintained while allowing concurrent access from multiple cores. This mediator resolves the conflict between parallel access and data consistency by managing the interaction between cores and memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If software cache maintenance operations are used to maintain coherency, then data consistency is improved, but operational efficiency deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based cache maintenance operations with hardware-based snoop filter logic integrated into the memory controller. The snoop filter uses hardware logic to automatically monitor memory access requests, identify cache hits, and manage coherency protocols without requiring software intervention. This substitution eliminates the performance overhead of software operations while maintaining data consistency.

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

3Reliability

If snoop requests are issued to maintain coherency, then data consistency is improved, but operational time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidoperational time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The snoop filter logic selectively issues snoop requests only when necessary - specifically when a cache hit is detected and coherency might be compromised. Rather than issuing snoop requests for every memory access, the filter analyzes access patterns and generates snoop requests only for cases where data consistency could be affected. This partial action approach maintains coherency while minimizing the time loss associated with snoop operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250060873A1Configurable cache for coherent system
Publication Date: 2025.02.20 TEXAS INSTRUMENTS INC
  • US20250060873A1 patent drawing
  • US20250060873A1 patent drawing
  • US20250060873A1 patent drawing

AI summary

A device includes a memory bank. The memory bank includes data portions of a first way group. The data portions of the first way group include a data portion of a first way of the first way group and a data portion of a second way of the first way group. The memory bank further includes data portions of a second way group. The device further includes a configuration register and a controller configured to individually allocate, based on one or more settings in the configuration register, the first way and the second way to one of an addressable memory space and a data cache.