Configurable Cache-Way Allocation for Coherent Multi-Core Memory
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If multiple processing cores access shared memory addresses simultaneously, then system productivity is improved, but coherency issues and data inconsistency occur
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.
2Reliability
If software cache maintenance operations are used to maintain coherency, then data consistency is improved, but operational efficiency deteriorates
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.
3Reliability
If snoop requests are issued to maintain coherency, then data consistency is improved, but operational time increases
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.
Data Source
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.


