G06F2212/313

MEMORY INSTRUCTION FOR MEMORY TIERS
20220342568 · 2022-10-27 ·

Various embodiments provide for one or more processor instructions and memory instructions that enable a memory sub-system to copy, move, or swap data across (e.g., between) different memory tiers of the memory sub-system, where each of the memory tiers is associated with different memory locations (e.g., different physical memory locations) on one or more memory devices of the memory sub-system.

ARCHITECTURE UTILIZING A MIDDLE MAP BETWEEN LOGICAL TO PHYSICAL ADDRESS MAPPING TO SUPPORT METADATA UPDATES FOR DYNAMIC BLOCK RELOCATION
20220342543 · 2022-10-27 ·

A method for block addressing is provided. The method includes moving content of a data block referenced by a logical block address (LBA) from a first physical block corresponding to a first physical block address (PBA) to a second physical block corresponding to a second PBA, wherein prior to the moving a logical map maps the LBA to a middle block address (MBA) and a middle map maps the MBA to the first PBA and in response to the moving, updating the middle map to map the MBA to the second PBA instead of the first PBA.

PERFORMING DATA REDUCTION DURING HOST DATA INGEST
20220342818 · 2022-10-27 ·

A technique performs data reduction on host data of a write request during ingest under certain circumstances. Therein, raw host data of a write request is placed from the host into a data cache. Further, a data reducing ingest operation is performed that reduces the raw host data from the data cache into reduced host data (e.g., via deduplication, compression, combinations thereof, etc.). After completion of the data reducing ingest operation, performing a late-binding operation is performed that updates a mapper with ability to access the reduced host data from secondary storage. Such ingest-time data reduction may be enabled/disabled (e.g., turned on or off) per input/output (I/O) operation (e.g., used only for relatively large asynchronous I/O operations) and/or activated in situations in which the ingest bandwidth is becoming a bottleneck.

System and Method for Lockless Reading of Metadata Pages
20220342816 · 2022-10-27 ·

A method, computer program product, and computing system for assigning a plurality of unique sequential identifiers to a plurality of tablets in a cache memory system. One or more metadata deltas associated with a metadata page stored in a storage array may be written to the plurality of tablets in the cache memory system. Each metadata delta stored in at least one tablet of the plurality of tablets may be written to the metadata page stored in the storage array, thus defining one or more destage tablets. A largest unique sequential identifier from the plurality of unique sequential identifiers assigned to the one or more destage tablets, may be written to the storage array, thus defining a current tablet identifier for the metadata page.

System and Method for Non-Disruptive Upgrade for Metadata Log with Minimal Hiccup
20220342855 · 2022-10-27 ·

A method, computer program product, and computer system for controlling, by a computing device, access to a non-volatile memory using a non-volatile lock as a reader of the non-volatile memory. Metadata (MD) non-volatile memory commits may be throttled until capacity of the non-volatile memory is at a threshold capacity.

MANAGING CACHE REPLACEMENT IN A STORAGE CACHE BASED ON INPUT-OUTPUT ACCESS TYPES OF DATA STORED IN THE STORAGE CACHE
20230079746 · 2023-03-16 ·

An apparatus comprises a processing device configured to monitor a storage cache storing a plurality of cache pages to determine whether the storage cache reaches one or more designated conditions and to determine cache replacement scores for at least a subset of the cache pages, the cache replacement scores being determined based at least in part on input-output access types for data stored in the cache pages. The processing device is also configured to select, responsive to determining that the storage cache has reached at least one of the one or more designated conditions, at least one of the cache pages to move from the storage cache to a storage device based at least in part on the determined cache replacement scores. The processing device is further configured to move the selected at least one of the plurality of cache pages from the storage cache to the storage device.

Networked storage system with a remote storage location cache and associated methods thereof

Methods and systems for a networked storage system are provided. One method includes: utilizing, by a first node, a storage location cache to determine if an entry associated with a first read request for data stored using a logical object owned by a second node configured as a failover partner node of the first node exists; transmitting, by the first node, the first read request to the second node; receiving, by the first node, a response to the first read request from the second node with requested data; inserting, by the first node, an entry in the storage location cache indicating the storage location information for the data; and utilizing, by the first node, the inserted entry in the storage location cache to determine storage location of data requested by a second read request received by the first node.

Data rebuild when changing erase block sizes during drive replacement

A method for rebuilding data when changing erase block sizes in a storage system is provided. The method includes determining one or more erase blocks to be rebuilt and allocating one or more replacement erase blocks, wherein the one or more erase blocks and the one or more replacement erase blocks have differing erase block sizes. The method includes mapping logical addresses, for the one or more erase blocks, to the one or more replacement erase blocks and rebuilding the one or more erase blocks into the one or more replacement erase blocks, in accordance with the mapping.

System and Method for Reducing CPU Load and Latency for Scheduled Snapshots using Pre-Allocated Extents
20230126573 · 2023-04-27 ·

A method, computer program product, and computer system for identifying, by a computing device, a number of extents needed for a create snapshot operation to create a snapshot. The number of extents may be added to an in-memory cache. The number of extents needed for the create snapshot operation may be allocated from the in-memory cache to execute the create snapshot operation. Freed extents may be added to the in-memory cache based upon, at least in part, executing a delete snapshot operation to delete the snapshot.

PROVIDING AVAILABILITY STATUS ON TRACKS FOR A HOST TO ACCESS FROM A STORAGE CONTROLLER CACHE

Provided are a computer program product, system, and method for determining status of tracks in storage cached in a cache for a host. A storage controller receives from the host a list of tracks for the host to access and determines whether the tracks in the list are available in the cache for immediate access. A response is returned to the host indicating the tracks as one of available in the cache for immediate access and not available in the cache for immediate access.