G06F2212/312

METHOD AND SYSTEM FOR MANAGING STORAGE SYSTEM
20170371597 · 2017-12-28 ·

Embodiments of the present invention provide a method and a system for managing a storage system. Specifically, in one embodiment of the present invention there is provided a method for managing a storage system, the method comprising: in response to receiving a write request for writing target data to the storage system, writing the target data to an intermediate address range in an intermediate storage area of the storage system; parsing, based on an address mapping of the storage system, a target address range associated with the write request so as to obtain an actual address range; and moving the target data from the intermediate address range to the actual address range. In one embodiment of the present invention there is further provided a corresponding system and apparatus.

MEMORY CONTROLLER THAT FORCES PREFETCHES IN RESPONSE TO A PRESENT ROW ADDRESS CHANGE TIMING CONSTRAINT
20170371791 · 2017-12-28 ·

An apparatus having a memory controller is described. The memory controller includes prefetch circuitry to prefetch, from a memory, data having a same row address in response to the memory controller's servicing of its request stream being stalled because of a timing constraint that prevents a change in row address. The memory controller also includes a cache to cache the prefetched data. The memory controller also includes circuitry to compare addresses of read requests in the memory controller's request stream against respective addresses of the prefetched data in the cache and to service those of the requests in the memory controller's request stream having a matching address with corresponding ones of the prefetched data in the cache.

Data-relationship-based fast cache system
11513964 · 2022-11-29 · ·

A data-relationship-based FAST cache system includes a storage controller that is coupled to first storage device(s) and second storage device(s). The storage controller identifies a relationship between first data stored in the first storage device(s) and second data stored in the first storage device (s), with the relationship based on a difference between a first number of accesses of the first data associated with a first time period and a second number of accesses of the second data associated with the first time period being within an access difference threshold range. Subsequent to identifying the relationship, the storage controller determines that the first data has been accessed in the first storage device(s) a number of times within a second time period that exceeds a FAST cache threshold and, in response, moves both the first data and the second data to the second storage device(s) based on the relationship.

Maintaining cache consistency in a cache for cache eviction policies supporting dependencies

For maintaining consistency for a cache that contains dependent objects in a computing environment, object dependencies for cached objects are managed by defining and maintaining object dependency lists for each one of the cached objects for identifying objects upon which the cached objects are dependent. Maintaining cache consistency for 2 types of cache eviction policies is supported by maintaining an object dependency lists for each one of the cached objects for identifying objects dependent upon the cached object. Each of the objects in an object dependency list is updated when the object is updated.

USING AN ACCESS INCREMENT NUMBER TO CONTROL A DURATION DURING WHICH TRACKS REMAIN IN CACHE

Provided are a computer program product, system, and method for using an access increment number to control a duration during which tracks remain in cache. Tracks in a storage in the cache are indicated in a cache list. For each of the tracks indicated in the cache list, an access value is updated when one of the tracks is accessed in the cache. An access to a track in the cache indicated in the cache list is received. A determination is made as to whether an access increment number for the accessed track, wherein the access increment number is greater than one. The access value for the accessed track is incremented by the determined access increment number in response to the track being accessed in the cache. The access value for one of the tracks is used to determine whether to initiate to demote the track from the cache.

MEMORY PERFORMANCE DURING PROGRAM SUSPEND PROTOCOL
20230176972 · 2023-06-08 ·

Systems and methods are disclosed including a processing device operatively coupled to memory device. The processing device perform operations comprising receiving, from a memory sub-system controller, a first read command and a second read command; determining that the memory device is in a suspended state; and responsive to determining that a first address range specified by the first read command does not overlap with a second address range specified by the second read command, issuing, to the memory device, the first read command and the second read command collectively.

Cache release command for cache reads in a memory sub-system
11669456 · 2023-06-06 · ·

A memory device includes a page cache comprising a cache register, a memory array configured with a plurality of memory planes, and control logic, operatively coupled with the memory array. The control logic receives, from a requestor, a cache release command indicating that data associated with a first subset of the plurality of memory planes and pertaining to a previous read command was received by the requestor. Responsive to the cache release command, the control logic returns to the requestor, data from the cache register and associated with a second subset of the plurality of memory planes and pertaining to the previous read command, while concurrently copying data associated with the first subset of the plurality of memory planes and pertaining to a subsequent read command into the cache register.

File system management in memory device
11500775 · 2022-11-15 · ·

A memory system stores user data including file content in clusters of memory space, folder entries, metadata, and a file allocation table FAT including FAT entries. The system comprises a cache memory, an addressable memory including memory space, and control logic coupled to the addressable memory and the cache memory. The control logic is configured to store user data in a current cluster at a current cluster offset including file content, and corresponding metadata including the current cluster offset, and a linked cluster offset of a linked cluster linking to the current cluster in the addressable memory, and to cache a FAT entry pointing to the current cluster in the cache memory.

INFORMATION PROCESSING DEVICE, METHOD OF CONTROLLING A CACHE MEMORY, AND STORAGE MEDIUM
20170329721 · 2017-11-16 · ·

A device includes: a cache memory configured to store a first list and a second list, and a processor. The first list includes one or more entries that include any one of data pieces in a storage device and information indicating a location of the data piece on the storage device, and the second list includes one or more entries that include information indicating a location of an already discarded data piece on the storage device, the already discarded data piece having been included in an entry that has been evicted from the first list. The processor counts a count number of entries including data pieces updated and being consecutive from an eviction target entry when updating data piece of an entry in the first list, and writes data of a target entry in the storage device and discards the data from the cache memory based on a certain rule.

Method, apparatus and computer program product for managing cache

Techniques manage a cache. Such techniques involve creating a primary cache by a cache management module in a storage system. Such techniques further involve: in response to the primary cache being created, sending a first request to a hardware management module to obtain first information about a first virtual disk. Such techniques further involve: in response to receiving the first information from the hardware management module, creating a secondary cache using the first virtual disk. Such techniques further involve: in response to an available capacity of the primary cache being below a predetermined threshold, flushing at least one cache page in the primary cache to the secondary cache. In certain techniques, it is possible to use spare extents in the disk array to create the secondary cache to increase a total capacity of the cache in the system, thereby improving the access performance of the system.