G06F2212/286

Caching techniques

Techniques for caching may include: determining an update to a first data page of a first cache on a first node, wherein a second node includes a second cache and wherein the second cache includes a copy of the first data page; determining, in accordance with one or more criteria, whether to send the update from the first node to the second node; responsive to determining, in accordance with the one or more criteria, to send the update, sending the update from the first node to the second node; and responsive to determining not to send the update, sending an invalidate request from the first node to the second node, wherein the invalidate request instructs the second node to invalidate the copy of the first data page stored in the second cache of the second node.

Method, device and computer program product for managing cache based on matching API

Embodiments of the present disclosure provide a method, device, and computer program product for managing cache. There is provided a method of managing a cache, comprising: receiving a current operation request from a user, data requested by the current operation request being to be duplicated to the cache; obtaining a plurality of historical operation requests of the user, the plurality of historical operation requests being received prior to the current operation request; determining a predicted operation request for the user based on the plurality of historical operation requests and the current operation request; and in accordance with determining that a type of an operation associated with the predicted operation request belongs to predetermined types, adjusting data in the cache based on the predicted operation request. With the embodiments of the present disclosure, it can be determined dynamically and intelligently which data should be cached, the speed of processing user's operation requests can be increased, and the memory space occupied by the cache can be reduced, thereby improving the system performance.

DATA REPLICATION IN A STORAGE SYSTEM

A method of replication in a distributed storage system, performed by the distributed storage system is provided. The method includes managing a first index for data or metadata in a first storage system, the first storage system having a first partitioning scheme. The method includes managing a second index for data or metadata in a second storage system, the second storage system having a second partitioning scheme. The method includes replicating the data or metadata from the first storage system to the second storage system, translating an identifier of the data or metadata from the first storage system, and mapping the replicated data or metadata into the second partitioning scheme, via the translating of the identifier of the data or metadata from the first storage system.

Selective Use of High-Performance Memory in a Software Defined System
20230273739 · 2023-08-31 · ·

A system includes control logic to boot to a waking state, configure the system, and check for the presence of non-volatile DIMMs. Based on a determination that non-volatile DIMMs are not present, the control logic is to create one or more block devices to overcome CPU utilization limitations. Based on a determination that non-volatile DIMMs are present, the control logic is to use a non-volatile DIMM for storage.

Cloud storage class-based variable cache availability

Techniques are disclosed relating to managing distributed storage of data for various entities according to classifications for these entities. A database node of a distributed storage system may receive, from a first entity of a plurality of entities, a request to store a set of data. The database node may further obtain metadata associated with the first entity, wherein the metadata specifies one of a plurality of classifications for the entities. The database node may provide the set of data to one or more of a plurality of caches for storage. The caches may be located in two or more availability zones and are configured to store the set of data based on the classification for the first entity identified in the metadata associated with the first entity. The database node may also store the set of data in a shared object storage coupled to the database node.

Preserving data integrity during controller failure

Systems and processes are disclosed to preserve data integrity during a storage controller failure. In some examples, a storage controller of an active-active controller configuration can back-up data and corresponding cache elements to allow a surviving controller to construct a correct state of a failed controller's write cache. To accomplish this, the systems and processes can implement a relative time stamp for the cache elements that allow the backed-up data to be merged on a block-by-block basis.

BLOCK DEVICE INTERFACE USING NON-VOLATILE PINNED MEMORY

A method comprising: receiving, at a block device interface, an instruction to write data, the instruction comprising a memory location of the data; copying the data to pinned memory; performing, by a vector processor, one or more invertible transforms on the data; and writing the data from the pinned memory to one or more storage devices asynchronously; wherein the pinned memory of the data corresponds to a location in pinned memory, the pinned memory being accessible by the vector processor and one or more other processors.

STORAGE SERVER, A METHOD OF OPERATING THE SAME STORAGE SERVER AND A DATA CENTER INCLUDING THE SAME STORAGE SERVER

A storage server and a method of driving the storage server are provided. The storage server includes a processor configured to: generate a plurality of flush write commands based on a write command of first data provided from a host, provide a replication command corresponding to the write command to an external storage server, and receive an operation completion signal of the replication command from the external storage server; a memory storing a program of a log file to which the plurality of flush write commands are logged; and a storage device configured to receive a multi-offset write command including one or more flush write commands logged to the log file, and perform a flush operation on the multi-offset write command. The processor is further configured to provide the multi-offset write command to the storage device based on the log file after receiving the operation completion signal.

RESOLVING CACHE SLOT LOCKING CONFLICTS FOR REMOTE REPLICATION
20220138105 · 2022-05-05 · ·

Cache slots on a storage system may be shared between entities processing write operations for logical storage unit (LSU) tracks and entities performing remote replication for write operations for the LSU tracks. If a new write operation is received on a first storage system (S1) for a track of an LSU (R1) when the cache slot mapped to the R1 track is locked by a process currently transmitting data of the cache slot to a second storage system (S2), a new cache slot may be allocated to the R1 track, the data of the original cache slot copied to the new cache slot, and the new write operation for the R1 track initiated on S1 using the new cache slot; while the data of the original cache slot is independently, and perhaps concurrently, transmitted to S2 to be replicated in R2, the LSU on S2 that is paired with R1.

Using a mirroring cache list to mirror modified tracks

Provided are a computer program product, system, and method for using a mirroring cache list to mirror modified tracks for a primary storage in a cache to a secondary storage. Indication is made of a modified track for the primary storage stored in the cache in a mirroring cache list. The mirroring cache list is processed to select modified tracks in the cache to transfer to the secondary storage that have not yet been transferred. The selected modified tracks are transferred to the secondary storage. Indication of a modified track is removed from the mirroring cache list in response to demoting the modified track from the cache.