G06F12/124

Pinning selected volumes within a heterogeneous cache

A method for pinning selected volumes within a heterogeneous cache is disclosed. The method maintains a heterogeneous cache made up of a higher performance portion and a lower performance portion. A list of pinned volumes is received that are provided higher priority than other volumes within the heterogeneous cache. The method dedicates, within the lower performance portion, a storage area to accommodate the pinned volumes and prestages the pinned volumes within the storage area. In certain embodiments, an LRU list is maintained that indicates an order in which storage elements of the pinned volumes are demoted from the storage area. A corresponding system and computer program product are also disclosed.

Cache hit ratios for selected volumes within a storage system

A method for improving cache hit ratios for selected storage elements within a storage system is disclosed. In one embodiment, such a method includes storing, in a cache of a storage system, non-favored storage elements and favored storage elements. The favored storage elements are retained in the cache longer than the non-favored storage elements. The method maintains a first LRU list containing entries associated with non-favored storage elements and designating an order in which the non-favored storage elements are evicted from the cache, and a second LRU list containing entries associated with favored storage elements and designating an order in which the favored storage elements are evicted from the cache. The method moves entries between the first LRU list and the second LRU list as favored storage elements are changed to non-favored storage elements and vice versa. A corresponding system and computer program product are also disclosed.

Read Performance of Memory Devices
20210342094 · 2021-11-04 · ·

A memory controller managing a memory device receives a memory read command from a host device that is communicably coupled to the memory device. The memory device includes a storage memory comprising a first type of memory cells and a cache memory comprising a second type of memory cells. The memory controller determines, from the memory read command, a physical address of a target memory location in the storage memory indicated by the memory read command. The memory controller executes a read operation on the target memory location corresponding to the physical address. The memory controller determines a read attribute of the target memory location. Conditioned on determining that the read attribute satisfies one or more threshold conditions, the memory controller programs an entry in the cache memory with information corresponding to the target memory location.

FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy

Various embodiments are provided for providing byte granularity accessibility of memory in a unified memory-storage hierarchy in a computing system by a processor. A location of one or more secondary memory medium pages in a secondary memory medium may be mapped into an address space of a primary memory medium to extend a memory-storage hierarchy of the secondary memory medium. The one or more secondary memory medium pages may be promoted from the secondary memory medium to the primary memory medium. The primary memory medium functions as a cache to provide byte level accessibility to the one or more primary memory medium pages. A memory request for the secondary memory medium page may be redirected using a promotion look-aside buffer (“PLB”) in a host bridge associated with the primary memory medium and the secondary memory medium.

MANAGEMENT OF COHERENCY DIRECTORY CACHE ENTRY EJECTION
20210240625 · 2021-08-05 ·

In exemplary aspects of managing the ejection of entries of a coherence directory cache, the directory cache includes directory cache entries that can store copies of respective directory entries from a coherency directory. Each of the directory cache entries is configured to include state and ownership information of respective memory blocks. Information is stored, which indicates if memory blocks are in an active state within a memory region of a memory. A request is received and includes a memory address of a first memory block. Based on the memory address in the request, a cache hit in the directory cache is detected. The request is determined to be a request to change the state of the first memory block to an invalid state. The ejection of a directory cache entry corresponding to the first memory block is managed based on ejection policy rules.

Managing eviction from a deduplication cache

A technique for managing a deduplication digest cache (DDC) includes assigning each digest entry of the DDC to one of multiple entry lists, scoring the entry lists based at least in part on the deduplicability of the data represented by the digest entries in the entry lists, and selecting for eviction from the DDC entries assigned to the lowest-scoring entry list. In this manner, entries assigned to entry lists that perform more poorly in terms of deduplicability tend to be evicted more quickly than entries assigned to entry lists that perform better.

PINNING SELECTED VOLUMES WITHIN A HETEROGENEOUS CACHE

A method for pinning selected volumes within a heterogeneous cache is disclosed. The method maintains a heterogeneous cache made up of a higher performance portion and a lower performance portion. A list of pinned volumes is received that are provided higher priority than other volumes within the heterogeneous cache. The method dedicates, within the lower performance portion, a storage area to accommodate the pinned volumes and prestages the pinned volumes within the storage area. In certain embodiments, an LRU list is maintained that indicates an order in which storage elements of the pinned volumes are demoted from the storage area. A corresponding system and computer program product are also disclosed.

INTEGRATION OF APPLICATION INDICATED MAXIMUM TIME TO CACHE FOR A TWO-TIERED CACHE MANAGEMENT MECHANISM

An indication of a maximum retention time in a cache comprising a first type of memory and a second type of memory for a first plurality of tracks is received from a host application, wherein no maximum retention time is indicated for a second plurality of tracks. In response to demoting a track of the first plurality of tracks from the first type of memory to the second type of memory, an adjustment of a first amount of time that the track is allowed to be retained in the second type of memory is based on a second amount of time the track has already been present in the first type of memory prior to being demoted from the first type of memory to the second type of memory.

INTEGRATION OF APPLICATION INDICATED MINIMUM AND MAXIMUM TIME TO CACHE FOR A TWO-TIERED CACHE MANAGEMENT MECHANISM

Indications of a minimum retention time and a maximum retention time in a cache comprising a first type of memory and a second type of memory are received from a host application for a first plurality of tracks, wherein the minimum retention time or the maximum retention time are not indicated for a second plurality of tracks. In response to accessing a track of the first plurality of tracks, the minimum retention time is set for the track for the first type of memory, and the maximum retention time is set for the track for the second type of memory.

ACCESS OPTIMIZED PARTIAL CACHE COLLAPSE

Aspects of the present disclosure relate to systems and methods for improving performance of a partial cache collapse by a processing device. Certain embodiments provide a method for performing a partial cache collapse procedure, the method including: counting, in each cache way of a group of cache ways, a number of dirty cache lines having dirty bits indicating the cache line has been modified; selecting, from the group, at least one cache way for collapse, based on its corresponding number of dirty cache lines; and performing the partial cache collapse procedure based on the at least one cache way selected from the group for collapse.