Home Agent Memory Mirroring with Directory-Based Cache Coherence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache coherence protocols in computer systems face inefficiencies in managing home agents, particularly in large configurations, where the need to snoop all caching agents for each request and manage conflicting requests leads to increased bandwidth requirements and hardware utilization, especially when dealing with re-ordering data structures for Out Of Order completions.
Innovation Solution
Implementing a directory-based cache coherence protocol with a home-snoop directory that reduces the need for snooping by maintaining a directory that tracks cache line states and using a single bit to track conflicts, allowing for efficient serialization and fair servicing of requests without re-ordering conflict lists, and enabling seamless memory mirroring and migration over an interconnect network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a directory-based protocol with home agents is used to manage memory addresses, then cache coherence can be maintained, but bandwidth requirements and hardware utilization increase when dealing with re-ordering data structures for Out Of Order completions
Solution Approach 1:
The patent extracts the conflict tracking function from the full directory structure by using a separate single-bit conflict tracker. This separates the essential coherence tracking from the full address space management, reducing hardware complexity while maintaining cache coherence for the subset of addresses that actually experience conflicts
Solution Approach 2:
Instead of tracking all possible cache lines and addresses in the directory, the system only tracks conflicts for addresses that actually experience conflicts using the single-bit tracker. This partial tracking approach reduces hardware utilization while maintaining sufficient coherence management for the active subset of memory addresses
2Reliability
If home agents snoop all caching agents for each request in large configurations, then cache coherence can be ensured, but bandwidth requirements increase
Solution Approach 1:
The patent extracts the coherence verification function from universal snooping by using targeted invalidation only for affected cache lines. Instead of snoop all agents for every request, the system only performs invalidation operations for the specific cache lines that experienced conflicts, significantly reducing bandwidth requirements while maintaining coherence
Solution Approach 2:
The system applies local invalidation quality by targeting only the specific cache lines and agents affected by conflicts rather than applying universal snooping to all agents. This localized approach maintains coherence for the affected subset while avoiding unnecessary bandwidth consumption from unrelated cache lines
3Ease of operation
If a directory is used to track cache line states, then request management can be simplified, but storage needs increase for conflict resolution in large configurations
Solution Approach 1:
The patent extracts the conflict tracking function from the full directory structure by using a separate single-bit conflict tracker. This separates the essential coherence tracking from the full address space management, reducing storage needs while maintaining effective request management for the subset of addresses that actually experience conflicts
Solution Approach 2:
Instead of maintaining full directory entries for all possible addresses including conflict tracking information, the system uses a minimal single-bit tracker only for addresses that experience conflicts. This partial tracking approach significantly reduces storage needs while maintaining sufficient request management capability
Data Source
AI summary
Methods and apparatus relating to memory mirroring and migration at a Home Agent (HA) are described. In one embodiment, a home agent may mirror its data at a slave agent. In some embodiments, a bit in a directory may indicate status of cache lines. Other embodiments are also disclosed.


