Configurable Cache Allocation for Multi-Core Memory Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-core systems face coherency issues due to shared memory access, leading to operational inefficiencies and challenges in maintaining data consistency across processing cores, particularly when software cache maintenance operations are slow or resource-intensive.

Innovation Solution

A multi-core shared memory controller (MSMC) is implemented with a snoop filter bank, cache tag bank, and memory bank, which includes a coherent slave interface, external memory master interface, and an arbiter circuit to manage memory access requests, determine snoop requests, and allocate virtual channels, ensuring coherent data access and reducing operational inefficiencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software cache maintenance operations are used to maintain coherency, then data consistency can be achieved, but operational efficiency deteriorates due to slow performance and excessive operational time consumption

Engineering Contradiction:
Improvedata consistencyVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based cache maintenance operations with a hardware-based coherency monitoring system. The snoop filter bank and cache tag bank operate in hardware to automatically detect and resolve coherency issues, eliminating the need for software interventions and significantly improving operational efficiency while maintaining data consistency

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

Solution Approach 2:

The patent introduces a hardware intermediary system consisting of the snoop filter bank and cache tag bank that mediates between multiple cores accessing shared memory. This intermediary automatically monitors cache states and coordinates access patterns, resolving coherency issues without requiring software cache maintenance operations

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware-based coherency monitoring is implemented with snoop filter bank and cache tag bank, then operational efficiency improves, but device complexity increases

Engineering Contradiction:
Improveoperational efficiencyVSAvoidcontroller structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the snoop filter bank and cache tag bank into a unified hardware structure within the memory controller. By combining these functions into an integrated system that operates simultaneously, the patent reduces overall complexity compared to having separate, distributed coherency monitoring mechanisms across multiple cores

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The hardware-based coherency monitoring system performs multiple functions simultaneously: it monitors cache states, detects coherency violations, and coordinates access patterns across multiple cores. This multi-functional approach consolidates what would otherwise require separate mechanisms, reducing overall device complexity

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

Data Source

PatentUS12141435B2Configurable cache for coherent system
Publication Date: 2024.11.12 TEXAS INSTRUMENTS INC
  • US12141435B2 patent drawing
  • US12141435B2 patent drawing
  • US12141435B2 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.