Abstract:
Copying data using references to the data, including: receiving a request to write the source data to a target volume, wherein the request to write the source data indicates the reference information; obtaining a metadata representation of the source data using the reference information; an copying, using the reference information, the metadata representation of the source data to the target volume.
Abstract:
Managing connectivity to synchronously replicated storage systems, including: identifying a plurality of storage systems across which a dataset is synchronously replicated; identifying a host that can issue I/O operations directed to the dataset; identifying a plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated; identifying, from amongst the plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated, one or more optimal paths; and issuing, to the host, an identification of the one or more optimal paths.
Abstract:
Chunked data transfers may include: receiving, from an initiator, a read command for first data stored in a storage system; allocating a first buffer of a predefined size; until all of the first data has been sent to the initiator: loading a portion of the first data from the storage system into the first buffer; and sending, to the initiator, the portion of the first data in the first buffer
Abstract:
Enabling multi-channel communications between controllers in a storage array, including: creating a plurality of logical communications channels between two or more storage array controllers; inserting, into a buffer utilized by a direct memory access (‘DMA’) engine of a first storage array controller, a data transfer descriptor describing data stored in memory of the first storage array controller and a location to write the data to memory of a second storage array controller; retrieving, in dependence upon the data transfer descriptor, the data stored in memory of the first storage array controller; and writing, via a predetermined logical communications channel, the data into the memory of the second storage array controller in dependence upon the data transfer descriptor.
Abstract:
Supporting multiple replication schemes across distinct network layers, including: replicating, over a first type of network messaging layer, data between a first storage system and a second storage system; selecting a different messaging layer for data replication; and replicating, over a second type of network messaging layer, data between the first storage system and the second storage system.
Abstract:
A virtualized copy-by-reference includes: receiving, from a first computer system, a request for reference information for source data within a source volume; providing, to the first computer system, the reference information, wherein the reference information corresponds to a metadata representation of the source data; receiving, from a second computer system, a request to write the source data to a target volume, and wherein the request to write the source data indicates the reference information; and copying, using the reference information, the metadata representation of the source data to the target volume.
Abstract:
Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array, including: inserting, into a buffer utilized by a direct memory access (‘DMA’) engine of a first storage array controller, a data transfer descriptor describing data stored in memory of the first storage array controller and a location to write the data to memory of the second storage array controller; retrieving, in dependence upon the data transfer descriptor, the data stored in memory of the first storage array controller; and writing the data into the memory of the second storage array controller in dependence upon the data transfer descriptor.
Abstract:
A method includes, responsive to receiving a modified first reservation command from a storage controller, identifying, by a storage drive, a first range of storage based on a first range identifier of the modified reservation command. The method also includes granting, by the storage drive, a reservation for access to the storage drive on behalf of a first host controller by associating the reservation for the first range with a second range of storage.
Abstract:
Supporting multiple replication schemes across distinct network layers, including: replicating, over a first type of network messaging layer, data between a first storage system and a second storage system; selecting a different messaging layer for data replication; and replicating, over a second type of network messaging layer, data between the first storage system and the second storage system.
Abstract:
Replication handling among distinct network transfer layers, including: establishing, over a first type of network messaging layer, a communication link for replication between a first storage system and a second storage system; initiating, over a second type of network messaging layer, a configuration change to one or more aspects of the first storage system; and replicating, without disrupting the configuration change to the one or more aspects of the first storage system, data from the first storage system to the second storage system.