G06F12/0815

APPARATUS AND METHOD FOR CACHE-COHERENCE
20230222062 · 2023-07-13 ·

An apparatus including: a plurality of compute express link (CXL) devices each including a memory and a processor for processing works stored in the memory; and a switch configured to connect the CXL devices to each other, wherein a first CXL device among the plurality of CXL devices selects at least one second CXL device from at least some CXL devices of the plurality of CXL devices to distribute works stored in a memory of the first CXL device based on a usable capacity of a memory of the at least some CXL devices.

APPARATUS AND METHOD FOR CACHE-COHERENCE
20230222062 · 2023-07-13 ·

An apparatus including: a plurality of compute express link (CXL) devices each including a memory and a processor for processing works stored in the memory; and a switch configured to connect the CXL devices to each other, wherein a first CXL device among the plurality of CXL devices selects at least one second CXL device from at least some CXL devices of the plurality of CXL devices to distribute works stored in a memory of the first CXL device based on a usable capacity of a memory of the at least some CXL devices.

SYSTEM AND METHOD FOR OPTIMIZING CACHED MEMORY COMPRISING VARYING DEGREES OF SLA AND CRG

A system and method for optimizing cached memory comprising varying degrees of Service Level Agreements (SLA) and Consistency Requirement Grades (CRG). The system receives one or more requests from one or more client devices to store information in a cache memory, and determines degrees of Service Level Agreement (SLA) and CRG in the information received via requests or system configurations. Further, system stores for one-time in cache layer of cache memory, the information as master record, based on determining the degrees of SLA and CRG. Furthermore, the system stores grades of entries of information referencing to the master record in different layers of cache memory. Each of the grades of entries comprises different Time-To-Live (TTL). Thereafter, the system outputs the information stored in the master record to client devices, based on SLA and consistency requirements.

SYSTEM AND METHOD FOR OPTIMIZING CACHED MEMORY COMPRISING VARYING DEGREES OF SLA AND CRG

A system and method for optimizing cached memory comprising varying degrees of Service Level Agreements (SLA) and Consistency Requirement Grades (CRG). The system receives one or more requests from one or more client devices to store information in a cache memory, and determines degrees of Service Level Agreement (SLA) and CRG in the information received via requests or system configurations. Further, system stores for one-time in cache layer of cache memory, the information as master record, based on determining the degrees of SLA and CRG. Furthermore, the system stores grades of entries of information referencing to the master record in different layers of cache memory. Each of the grades of entries comprises different Time-To-Live (TTL). Thereafter, the system outputs the information stored in the master record to client devices, based on SLA and consistency requirements.

Flexible on-die fabric interface

An interface for coupling an agent to a fabric supports a set of coherent interconnect protocols and includes a global channel to communicate control signals to support the interface, a request channel to communicate messages associated with requests to other agents on the fabric, a response channel to communicate responses to other agents on the fabric, and a data channel to couple to communicate messages associated with data transfers to other agents on the fabric, where the data transfers include payload data.

Tile-based graphics

A tile-based graphics system has a rendering space sub-divided into a plurality of tiles which are to be processed. Graphics data items, such as parameters or texels, are fetched into a cache for use in processing one of the tiles. Indicators are determined for the graphics data items, whereby the indicator for a graphics data item indicates the number of tiles with which that graphics data item is associated. The graphics data items are evicted from the cache in accordance with the indicators of the graphics data items. For example, the indicator for a graphics data item may be a count of the number of tiles with which that graphics data item is associated, whereby the graphics data item(s) with the lowest count(s) is (are) evicted from the cache.

Tile-based graphics

A tile-based graphics system has a rendering space sub-divided into a plurality of tiles which are to be processed. Graphics data items, such as parameters or texels, are fetched into a cache for use in processing one of the tiles. Indicators are determined for the graphics data items, whereby the indicator for a graphics data item indicates the number of tiles with which that graphics data item is associated. The graphics data items are evicted from the cache in accordance with the indicators of the graphics data items. For example, the indicator for a graphics data item may be a count of the number of tiles with which that graphics data item is associated, whereby the graphics data item(s) with the lowest count(s) is (are) evicted from the cache.

Method and apparatus for smart store operations with conditional ownership requests

Method and apparatus implementing smart store operations with conditional ownership requests. One aspect includes a method implemented in a multi-core processor, the method comprises: receiving a conditional read for ownership (CondRFO) from a requester in response to an execution of an instruction to modify a target cache line (CL) with a new value, the CondRFO identifying the target CL and the new value; determining from a local cache a local CL corresponding to the target CL; determining a local value from the local CL; comparing the local value with the new value; setting a coherency state of the local CL to (S)hared when the local value is same as the new value; setting the coherency state of the local CL to (I)nvalid when the local value is different than the new value; and sending a response and a copy of the local CL to the requester. Other embodiments include an apparatus configured to perform the actions of the methods.

Method and apparatus for smart store operations with conditional ownership requests

Method and apparatus implementing smart store operations with conditional ownership requests. One aspect includes a method implemented in a multi-core processor, the method comprises: receiving a conditional read for ownership (CondRFO) from a requester in response to an execution of an instruction to modify a target cache line (CL) with a new value, the CondRFO identifying the target CL and the new value; determining from a local cache a local CL corresponding to the target CL; determining a local value from the local CL; comparing the local value with the new value; setting a coherency state of the local CL to (S)hared when the local value is same as the new value; setting the coherency state of the local CL to (I)nvalid when the local value is different than the new value; and sending a response and a copy of the local CL to the requester. Other embodiments include an apparatus configured to perform the actions of the methods.

Computer Memory Expansion Device and Method of Operation

A memory expansion device operable with a host computer system (host) comprises a non-volatile memory (NVM) subsystem, cache memory, and control logic configurable to receive a submission from the host including a read command and specifying a payload in the NVM subsystem and demand data in the payload. The control logic is configured to request ownership of a set of cache lines corresponding to the payload, to indicate completion of the submission after acquiring ownership of the cache lines, and to load the payload to the cache memory. The set of cache lines correspond to a set of cache lines in a coherent destination memory space accessible by the host. The control logic is further configured to, after indicating completion of the submission and in response to a request from the host to read demand data in the payload, return the demand data after determining that the demand data is in the cache memory.