Cache Data Write Acceleration via Preliminary Address Check
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core and multi-chip systems, the efficiency of data write operations is low due to the need for interaction and handshake between chips, leading to increased communication costs as the chipset scale grows, particularly in scenarios involving non-cache data write requests.
Innovation Solution
A method where a cache can obtain data without waiting for a data buffer identifier from a node, allowing it to immediately send data to the node upon receiving the identifier, thereby accelerating the data write process by bypassing the need for sequential communication steps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the cache waits to receive the data buffer identifier from the node before obtaining data from the processor, then the communication protocol is followed correctly, but the data writing efficiency is low
Solution Approach 1:
The cache performs preliminary actions by checking whether the address is stored in the cache before receiving the data buffer identifier from the node. If the address is found in the cache, the cache can immediately obtain the data from the processor without waiting for the data buffer identifier, thus improving data writing efficiency while maintaining protocol compliance for cases where the address is not cached.
2Productivity
If the cache immediately obtains data from the processor without waiting for the data buffer identifier, then the data writing efficiency is improved, but the communication coordination becomes complex
Solution Approach 1:
The cache performs a preliminary check to determine whether the address is stored in the cache before initiating the data transfer. This preliminary action simplifies the communication coordination by providing a clear decision branch: if the address is cached, the cache immediately obtains data without waiting for the data buffer identifier; if not cached, the cache follows the standard protocol of waiting for the identifier from the node.
Solution Approach 2:
The cache acts as an intermediary between the processor and the node, using its local storage to mediate the data transfer process. By checking whether the address is stored in the cache, the intermediary can decide whether to immediately obtain data from the processor or wait for coordination from the node, thus simplifying the overall communication coordination while improving efficiency.
Data Source
AI summary
A method for processing a non-cache data write request includes a cache receiving a first non-cache data write request from a first processor, and sending the first non-cache data write request to a node, where the first non-cache data write request includes a first address. If the cache determines that the first address is stored in the cache, the cache obtains first data corresponding to the first non-cache data write request from the first processor. When receiving a first data buffer identifier from the node, the cache sends the first data to the node. After receiving the first non-cache data write request, if the cache determines that the first address is locally stored, the cache may obtain the first data from the processor. After receiving the first data buffer identifier, the cache may send the first data to the node.


