G06F12/123

USING REQUEST CLASS AND REUSE RECORDING IN ONE CACHE FOR INSERTION POLICIES OF ANOTHER CACHE
20230100230 · 2023-03-30 · ·

Systems and methods are disclosed for maintaining insertion policies of a lower-level cache. Techniques are described for selecting, based on metadata of an evicted data block received from an upper-level cache, an insertion policy out of the insertion policies. Then, determining, based on the selected insertion policy, whether to insert the data block into the lower-level cache. If it is determined to insert, the data block is inserted into the lower-level cache according to the selected insertion policy. Techniques for dynamically updating the insertion policies of the lower-level cache are also disclosed.

USING REQUEST CLASS AND REUSE RECORDING IN ONE CACHE FOR INSERTION POLICIES OF ANOTHER CACHE
20230100230 · 2023-03-30 · ·

Systems and methods are disclosed for maintaining insertion policies of a lower-level cache. Techniques are described for selecting, based on metadata of an evicted data block received from an upper-level cache, an insertion policy out of the insertion policies. Then, determining, based on the selected insertion policy, whether to insert the data block into the lower-level cache. If it is determined to insert, the data block is inserted into the lower-level cache according to the selected insertion policy. Techniques for dynamically updating the insertion policies of the lower-level cache are also disclosed.

METHOD FOR EXECUTING ATOMIC MEMORY OPERATIONS WHEN CONTESTED
20230033550 · 2023-02-02 ·

Described are methods and a system for atomic memory operations with contended cache lines. A processing system includes at least two cores, each core having a local cache, and a lower level cache in communication with each local cache. One local cache configured to request a cache line to execute an atomic memory operation (AMO) instruction, receive the cache line via the lower level cache, receive a probe downgrade due to other local cache requesting the cache line prior to execution of the AMO, and send the AMO instruction to the lower level cache for remote execution in response to the probe downgrade.

INDICATING EXTENTS OF TRACKS IN MIRRORING QUEUES BASED ON INFORMATION GATHERED ON TRACKS IN EXTENTS IN CACHE

Provided are a computer program product, system, and method for indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache. Extent information on an extent of tracks in a cache indicated in an active cache list is processed in response to destaging a track from the active cache list to add to a demote list used to determine tracks to remove from the cache. The extent information is related to a number of modified tracks in an extent destaged from the active cache list. The extent information for the extent is used to determine one of a plurality of mirroring queues to indicate the extent including modified tracks. A mirroring queue having a higher priority than another mirroring queue is processed at a higher rate to determine extents of tracks to mirror from the cache to the secondary storage.

INDICATING EXTENTS OF TRACKS IN MIRRORING QUEUES BASED ON INFORMATION GATHERED ON TRACKS IN EXTENTS IN CACHE

Provided are a computer program product, system, and method for indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache. Extent information on an extent of tracks in a cache indicated in an active cache list is processed in response to destaging a track from the active cache list to add to a demote list used to determine tracks to remove from the cache. The extent information is related to a number of modified tracks in an extent destaged from the active cache list. The extent information for the extent is used to determine one of a plurality of mirroring queues to indicate the extent including modified tracks. A mirroring queue having a higher priority than another mirroring queue is processed at a higher rate to determine extents of tracks to mirror from the cache to the secondary storage.

USING A CACHING LAYER FOR KEY-VALUE STORAGE IN A DATABASE
20230032841 · 2023-02-02 ·

A technique for using a caching layer for key-value storage in a database is described. In one example of the present disclosure, a system can receive, at an unsorted data structure of a caching layer, a key-value pair associated with a data object. The unsorted data structure can store a first plurality of key-value pairs. The system can receive one or more operations for updating the key-value pair in the caching layer. The system can determine the key-value pair is to be migrated to a sorted memory table based on a caching algorithm. The system can migrate the key-value pair to a sorted memory table configured to store a second plurality of key-value pairs that is larger than the first plurality of key-value pairs and sort the key-value pair with the second plurality of key-value pairs prior to storing the key-value pair in the sorted memory table.

USING A CACHING LAYER FOR KEY-VALUE STORAGE IN A DATABASE
20230032841 · 2023-02-02 ·

A technique for using a caching layer for key-value storage in a database is described. In one example of the present disclosure, a system can receive, at an unsorted data structure of a caching layer, a key-value pair associated with a data object. The unsorted data structure can store a first plurality of key-value pairs. The system can receive one or more operations for updating the key-value pair in the caching layer. The system can determine the key-value pair is to be migrated to a sorted memory table based on a caching algorithm. The system can migrate the key-value pair to a sorted memory table configured to store a second plurality of key-value pairs that is larger than the first plurality of key-value pairs and sort the key-value pair with the second plurality of key-value pairs prior to storing the key-value pair in the sorted memory table.

Indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache

Provided are a computer program product, system, and method for indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache. Extent information on an extent of tracks in a cache indicated in an active cache list is processed in response to destaging a track from the active cache list to add to a demote list used to determine tracks to remove from the cache. The extent information is related to a number of modified tracks in an extent destaged from the active cache list. The extent information for the extent is used to determine one of a plurality of mirroring queues to indicate the extent including modified tracks. A mirroring queue having a higher priority than another mirroring queue is processed at a higher rate to determine extents of tracks to mirror from the cache to the secondary storage.

Indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache

Provided are a computer program product, system, and method for indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache. Extent information on an extent of tracks in a cache indicated in an active cache list is processed in response to destaging a track from the active cache list to add to a demote list used to determine tracks to remove from the cache. The extent information is related to a number of modified tracks in an extent destaged from the active cache list. The extent information for the extent is used to determine one of a plurality of mirroring queues to indicate the extent including modified tracks. A mirroring queue having a higher priority than another mirroring queue is processed at a higher rate to determine extents of tracks to mirror from the cache to the secondary storage.

MAINTAINING AN ACTIVE TRACK DATA STRUCTURE TO DETERMINE ACTIVE TRACKS IN CACHE TO PROCESS

Provided are a computer program product for managing tracks in a storage in a cache. An active track data structure indicates tracks in the cache that have an active status. An active bit in a cache control block for a track is set to indicate active for the track indicated as active in the active track data structure. In response to processing the cache control block, a determination is made, from the cache control block for the track, whether the track is active or inactive to determine processing for the cache control block.