G06F2212/286

Indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache

Provided are a computer program product, system, and method for indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache. Extent information on an extent of tracks in a cache indicated in an active cache list is processed in response to destaging a track from the active cache list to add to a demote list used to determine tracks to remove from the cache. The extent information is related to a number of modified tracks in an extent destaged from the active cache list. The extent information for the extent is used to determine one of a plurality of mirroring queues to indicate the extent including modified tracks. A mirroring queue having a higher priority than another mirroring queue is processed at a higher rate to determine extents of tracks to mirror from the cache to the secondary storage.

PROTOCOL BUFFER-BASED CACHE MIRRORING METHOD

Provided is a cache mirroring method applied to a master node. A batch of small Input/Output (IO) blocks in an all-flash product may be aggregated into a large IO block via a ProtoBuff, and a corresponding mirroring request is sent to a slave node, so as to achieve cache mirroring. In addition, the present application also provides a cache mirroring apparatus applied to a master node, a based cache mirroring method and apparatus applied to a slave node, an all-flash storage device, and an all-flash storage system, the technical effects of which correspond to the technical effects of the method.

Method for controlling write buffer based on states of sectors of write buffer and associated all flash array server
11487654 · 2022-11-01 · ·

The present invention provides a control method of a server, wherein the server includes a write buffer for temporarily storing data from an electronic device, the write buffer has a plurality of sectors, and the write buffer has a write pointer and a flush pointer; and the control method comprises: setting each sector to have one of a plurality of states comprising an empty state, a merging state, a need-flush state and a flushing state; and referring to a state of a specific sector indicted by the write pointer to determine if ignoring the specific sector to directly process a sector after the specific sector.

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.

METHOD, DEVICE AND COMPUTER PROGRAM PRODUCT FOR STORAGE SYSTEM MANAGEMENT
20220327053 · 2022-10-13 ·

Techniques for managing a storage system involve: based on a degree of importance of data stored in a persistent storage device of the storage system, determining key data from the data, wherein a degree of importance of the key data is higher than a threshold degree; respectively identifying first data corresponding to the key data in a first cache of the storage system and second data corresponding to the key data in a second cache of the storage system as non-removable; and in response to corruption of the first data, repairing the first data using the second data in the second cache. Such techniques can avoid system shutdown caused by corruption of key data, thereby optimizing system performance.

Data storage system with multiple durability levels

A data storage system includes multiple head nodes and multiple data storage sleds mounted in a rack. For a particular volume or volume partition one of the head nodes is designated as a primary head node for the volume or volume partition. The primary head node is configured to store data for the volume in a data storage of the primary head node and cause the data to be replicated to a secondary head node. The primary head node is also configured to cause the data for the volume to be stored in a plurality of respective mass storage devices each in different ones of the plurality of data storage sleds of the data storage system.

Read and write load sharing in a storage array via partitioned ownership of data blocks

A system shares I/O load between controllers in a high availability system. For writes, a controller determines based on one or more factors which controller will flush batches of data from write-back cache to better distribute the I/O burden. The determination occurs after the local storage controller caches the data, mirrors it, and confirms write complete to the host. Once it is determined which storage controller will flush the cache, the flush occurs and the corresponding metadata at a second layer of indirection is updated by that determined storage controller (whether or not it is identified as the owner of the corresponding volume to the host, while the volume owner updates metadata at a first layer of indirection). For a host read, the controller that owns the volume accesses the metadata from whichever controller(s) flushed the data previously and reads the data, regardless of which controller had performed the flush.

Mirroring data in write caches of a controller of a non-volatile memory

A data storage system provides persistent storage in bulk non-volatile memory. A controller of the data storage system receives a host write command and buffers associated host write data in both a first write cache in non-volatile memory and a mirrored second write cache in volatile memory. The controller destages the host write data to the bulk non-volatile memory from the second write cache but not the first write cache. The controller services relocation write commands requesting data relocation within the bulk non-volatile memory by reference to the second write cache. Servicing the relocation write commands includes buffering relocation write data in the second write cache but not the first write cache and destaging the relocation write data to the bulk non-volatile memory from the second write cache.

SYSTEMS AND METHODS FOR SUPPORT LOG CACHE DEVICE REMOVAL THROUGH STANDARD USER INTERFACES

Aspects of the present disclosure involve systems and methods for removes and/or adding log and/or cache devices to storage pools of a storage appliance. Users, via a graphical-user interface, identify the log and/or cache devices for removal or addition. Subsequently, the log and/or cache devices are moved, according to a data profile corresponding to the devices, from a first storage appliance to a second storage appliance.

Optimized read access to shared data via monitoring of mirroring operations
09830088 · 2017-11-28 · ·

A method and system for optimized read access to shared data via monitoring of mirroring operations are described. A data storage system performs operations that include one controller in a dual-controller host storage appliance in an asymmetric active/active configuration receiving a request from the host for data on a logical unit number owned by the partner controller. The receiving controller, which has a mirror cache of the partner controller's memory for failure recovery, accesses the mirror cache using a data structure that was populated during previous mirror operations. If the data is found in the mirror cache, it is read from the cache and returned to the requesting host without having to contact the partner controller for the data.