G06F12/123

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.

STORAGE DEVICE AND OPERATION METHOD THEREOF

A storage device includes a memory device including a first memory region having a lowest bit density, a second memory region having a medium bit density, and a third memory region having a highest bit density, and a controller configured to control the memory device. The controller is configured to determine data from a host as being any one of hot data, warm data and cold data, is configured to store the hot data in the first memory region, is configured to store the warm data in the second memory region, is configured to store the cold data in the third memory region, is configured to select a source block of first memory blocks included in the first memory region, is configured to select destination blocks in each of the second and third memory regions, and is configured to migrate each piece of unit data stored in the source block to one of the destination blocks according to a degree of hotness of each piece of the unit data.

STORAGE DEVICE AND OPERATION METHOD THEREOF

A storage device includes a memory device including a first memory region having a lowest bit density, a second memory region having a medium bit density, and a third memory region having a highest bit density, and a controller configured to control the memory device. The controller is configured to determine data from a host as being any one of hot data, warm data and cold data, is configured to store the hot data in the first memory region, is configured to store the warm data in the second memory region, is configured to store the cold data in the third memory region, is configured to select a source block of first memory blocks included in the first memory region, is configured to select destination blocks in each of the second and third memory regions, and is configured to migrate each piece of unit data stored in the source block to one of the destination blocks according to a degree of hotness of each piece of the unit data.

METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR CACHE MANAGEMENT
20230126970 · 2023-04-27 ·

Techniques for cache management involve: determining respective elimination scores of a plurality of entries in a cache based at least in part on compression rates of data blocks corresponding to the plurality of entries, the elimination score being proportional to the compression rate; and removing, from the cache, at least one entry with a relatively low elimination score among the plurality of entries. Such techniques are able to optimize the retention and elimination strategies for entries in a cache, thus increasing payoffs for using the cache.

DETECTING SEQUENTIAL ACCESS PATTERNS AND PROACTIVE CACHING IN A TREE-BASED FILE SYSTEM

Examples described herein relate to In some examples, a least recently used (LRU) list used to evict nodes from a cache is traversed, the nodes referencing data blocks storing data in a storage device, the nodes being leaf nodes in a tree representing a file system, and for each traversed node, determining a stride length as an absolute value of a difference between a block offset value of the traversed node and a block offset value of a previously traversed node, comparing the stride length to a proximity threshold, and updating a sequential access pattern counter based at least in part on the comparing; and proactively prefetching nodes from the storage device to the cache when the sequential access pattern counter indicates a detected pattern of sequential accesses to nodes.

DETECTING SEQUENTIAL ACCESS PATTERNS AND PROACTIVE CACHING IN A TREE-BASED FILE SYSTEM

Examples described herein relate to In some examples, a least recently used (LRU) list used to evict nodes from a cache is traversed, the nodes referencing data blocks storing data in a storage device, the nodes being leaf nodes in a tree representing a file system, and for each traversed node, determining a stride length as an absolute value of a difference between a block offset value of the traversed node and a block offset value of a previously traversed node, comparing the stride length to a proximity threshold, and updating a sequential access pattern counter based at least in part on the comparing; and proactively prefetching nodes from the storage device to the cache when the sequential access pattern counter indicates a detected pattern of sequential accesses to nodes.

STORAGE CONTROLLER, A STORAGE DEVICE AND A METHOD OF OPERATING THE STORAGE DEVICE
20230127606 · 2023-04-27 ·

A storage device including: a memory device including memory blocks having different bit densities; and a controller, the controller including: a memory to store a logical address list including a number of recently received logical addresses and a hotness table including a hotness of each of the logical addresses in the list; and a processor to receive a write command, a latest logical address and data, to update a hotness of the latest logical address in the hotness table, to insert the latest logical address into the logical address list, and to control the memory device to program the data into one of the memory blocks depending on whether the hotness of the latest logical address exceeds a threshold value, the hotness of the latest logical address being updated based on how long ago a logical address the same as the latest logical address was received.

STORAGE CONTROLLER, A STORAGE DEVICE AND A METHOD OF OPERATING THE STORAGE DEVICE
20230127606 · 2023-04-27 ·

A storage device including: a memory device including memory blocks having different bit densities; and a controller, the controller including: a memory to store a logical address list including a number of recently received logical addresses and a hotness table including a hotness of each of the logical addresses in the list; and a processor to receive a write command, a latest logical address and data, to update a hotness of the latest logical address in the hotness table, to insert the latest logical address into the logical address list, and to control the memory device to program the data into one of the memory blocks depending on whether the hotness of the latest logical address exceeds a threshold value, the hotness of the latest logical address being updated based on how long ago a logical address the same as the latest logical address was received.

Path name cache for notifications of file changes
11599503 · 2023-03-07 · ·

Change notify responses can be utilized to inform a remote computer that a file or directory that is being monitored has changed. A change notify response can include a path name to the file or directory being referenced. In some examples, a cache of path names can be maintained in a user space of a server implementing change notify responses. When a module that generates a change notify response does generate such a response, the module can first access the cache to determine if the relevant path name is located in the cache. Where the relevant path name is not located in the cache, the module can obtain the path name from kernel space and store it in the cache.

Path name cache for notifications of file changes
11599503 · 2023-03-07 · ·

Change notify responses can be utilized to inform a remote computer that a file or directory that is being monitored has changed. A change notify response can include a path name to the file or directory being referenced. In some examples, a cache of path names can be maintained in a user space of a server implementing change notify responses. When a module that generates a change notify response does generate such a response, the module can first access the cache to determine if the relevant path name is located in the cache. Where the relevant path name is not located in the cache, the module can obtain the path name from kernel space and store it in the cache.