Cache Directory State Indication During Authority Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a multi-level cache hierarchy, delays occur due to busy cache directories and slow updates of designated authority (DA) status, leading to latency and inefficiencies in data access and delivery, as the former DA continues to reject requests even after control has been transferred to a new DA.
Innovation Solution
A method for managing DA status involves identifying the initial DA cache, transferring DA status to a new cache, determining the new cache's activity, and overriding the DA state in the cache control structure, allowing access only after the initial DA cache has invalidated its copy of the cache line, thus providing a bounded time for transfer and reducing delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the former DA cache waits for directory update completion before allowing new requests, then data coherency is maintained, but request latency increases and system productivity decreases
Solution Approach 1:
The patent applies preliminary action by having the new DA cache assume authority and begin processing requests before the former DA cache completes its directory update. The system proactively transfers DA status to the new cache, allowing it to start protecting the line and handling requests immediately, rather than waiting for the old cache to finish updating. This preliminary transfer of authority eliminates the waiting period that previously caused latency.
Solution Approach 2:
The patent introduces an intermediary mechanism through the DA status transfer protocol that mediates between the former DA cache and the new DA cache. The new DA cache acts as an intermediary that takes over protection responsibilities before the old cache is fully updated, allowing requests to proceed without waiting for directory completion. This intermediary approach resolves the contradiction by enabling continuous protection while reducing latency.
2Reliability
If the former DA cache continues to protect the line during directory update, then data coherency is ensured, but request latency increases due to unnecessary rejections
Solution Approach 1:
The system performs preliminary action by transferring DA status to the new cache before the former cache completes its directory update. This allows the new cache to assume protection responsibilities in advance, eliminating the period where the old cache continues to reject requests unnecessarily. The preliminary transfer ensures coherency is maintained while reducing latency.
Solution Approach 2:
The patent applies dynamics by making the DA status transfer dynamic and overlapping with the directory update process rather than being static and sequential. The former DA cache transitions from an active protecting state to an inactive state dynamically as the new cache takes over, allowing the system to adapt the protection mechanism to reduce latency while maintaining coherency.
3Reliability
If the directory update operation is performed synchronously, then data coherency is maintained, but the operation incurs unbounded delay when the cache is busy
Solution Approach 1:
The patent applies preliminary action by initiating the DA status transfer to the new cache before the directory update completes. This preliminary transfer allows the new cache to begin protecting the line and processing requests without waiting for the synchronous directory update to finish, thereby reducing the unbounded delay while maintaining coherency through the new cache's protection.
Solution Approach 2:
The system applies the skipping principle by allowing the DA status transfer to rush through the directory update process rather than waiting for it to complete synchronously. The new DA cache assumes authority and begins protection immediately, skipping the waiting period that would otherwise occur during busy cache conditions, thus reducing unbounded delays.
Data Source
AI summary
A method for managing designated authority status in a cache line includes identifying an initial designated authority (DA) member cache for a cache line, transferring DA status from the initial DA member cache to a new DA member cache, determining whether the new DA member cache is active, indicating a final state of the initial DA cache responsive to determining that the new DA member cache is active, and overriding a DA state in a cache control structure in a directory. A method for managing cache accesses during a designated authority transfer includes receiving a designated authority (DA) status transfer request, receiving an indication that a first cache will invalidate its copy of the cache line, allowing a second cache to assume DA status for the cache line, and denying access to the first cache's copy of the cache line until invalidation by the first cache is complete.


