Marshalled data coherency
AssigneeQUALCOMM Incorporated
InventorsAndrew Edmund Turner, George Patsilaras
Life of this patent
Estimating the term…
Abstract
Memory system features may promote cache coherency where first and second memory clients may attempt to work on the same data. A second client cache system may provide a read request for data and associated metadata. The metadata element may be detected in a first client cache system. The first client cache system may write or flush, such as to a system memory, one or more cache lines containing the metadata and associated data and invalidate the flushed cache lines. The second client cache system may receive the data and metadata, such as from the system memory, completing or fulfilling the read request.
Claims19
A method for providing cache coherency, comprising:
- requesting to read, by a second client cache system, a data element having an associated metadata element;
- detecting the metadata element in a first client cache system in response to a read request by the second client cache system to read the metadata element;
- writing, by the first client cache system, one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the first client cache system;
- invalidating, by the first client cache system, the metadata element in the first client cache system in response to the detection of the metadata element in the first client cache system;
- completing the read request, including the second client cache system receiving the metadata element and all data elements associated with the metadata element;
- writing the one or more cache lines comprises writing the one or more cache lines to a system memory;
- and
- completing the read request comprises reading, by the second client cache system, the one or more cache lines from the system memory.
A system for providing cache coherency, comprising:
- a first client cache system;
- and
- a second client cache system configured to provide a read request to read a data element having an associated metadata element and further configured to detect the metadata element in the first client cache system in response to the read request;
- wherein the first client cache system is configured to write one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the first client cache system, and the first client cache system is further configured to invalidate the metadata element in the first client cache system in response to the detection of the metadata element in the first client cache system;
- wherein the second client cache system is configured to complete the read request by being configured to receive the metadata element and all data elements associated with the metadata element;
- the first client cache system is configured to write the one or more cache lines by being configured to write the one or more cache lines to a system memory;
- and
- the second client cache system is configured to complete the read request by being configured to read the one or more cache lines from the system memory.
A computer-readable medium for providing cache coherency, the computer-readable medium comprising a non-transitory computer-readable medium having instructions stored thereon in computer-executable form, the instructions when executed by a processing system of a computing device configuring the processing system to control:
- requesting to read, by a second client cache system, a data element having an associated metadata element;
- detecting the metadata element in a first client cache system in response to a read request by the second client cache system to read the metadata element;
- writing, by the first client cache system, one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the first client cache system;
- invalidating, by the first client cache system, the metadata element in the first client cache system in response to the detection of the metadata element in the first client cache system;
- completing the read request, including the second client cache system receiving the metadata element and all data elements associated with the metadata element;
- writing the one or more cache lines by configuring the processing system to control writing the one or more cache lines to a system memory;
- and
- completing the read request by configuring the second client cache system to read the one or more cache lines from the system memory.
Dependencies are inferred from the claim text.