Abstract:
A method including, responsive to receiving a request identifying a volume and indicating a command to take a snapshot of the volume, mapping a second logical grouping of data to reference the first logical grouping of data, and remapping the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot. The method also includes, in response to receiving a write request targeting the second logical grouping, splitting the second logical grouping into a plurality of ranges including a first range and a second range; wherein the first range of the second logical grouping maps to the first logical grouping, and the write request is performed on the second range of the second logical grouping.
Abstract:
Systems, methods, and computer readable storage mediums for optimizing performance in a storage system. A volume may be mapped to an anchor medium through an indirection layer. When a snapshot is taken of the volume, the allocation of a new anchor medium is delayed until a write operation targeting the volume is received. When a write operation targeting the volume is received, a new anchor medium may be allocated for only a portion of the volume corresponding to the portion of the volume which is targeted by the write operation. Also, when a snapshot is taken of the volume, read optimization operations are performed only the portions of the volume which have changed since the previous snapshot.
Abstract:
A system and method for performing coarse-grained deduplication of volume regions. A storage controller detects that a first region of a first volume is identical to a second region of a second volume, wherein the first volume points to a first medium and the second volume points to a second medium. In response to detecting the identical regions, the storage controller stores an indication that the first range of the first medium underlies the second range of the second medium. Also in response to detecting the identical regions, the mappings associated with the second range of the second medium are invalidated.
Abstract:
A system and method for exposing volumes with underlying read-write mediums to user operations. When a medium is in the process of being migrated to a storage array, a volume which relies on the medium can be exposed to user operations (e.g., snapshots, read and write operations) once the portions of the medium which underlie the volume have been migrated. The volume can be exposed to user operations while one or more other portions of the medium are unfilled and while the medium is in an intermediate read-write state.
Abstract:
Optimizing copy operations in a storage array, including: receiving a plurality of copy operations; detecting a triggering event that causes a storage array controller to initiate execution of the plurality of copy operations; and combining, in dependence upon a metadata optimization policy, the plurality of copy operations into a single copy operation.
Abstract:
A system and method for performing copy offload operations. When a copy offload operation from a first volume (pointing to a first medium) to a second volume (pointing to a second medium) is requested, the copy offload operation is performed without accessing the data being copied. A third medium is created, and the first medium is recorded as the underlying medium of the third medium. The first volume is re-pointed to the third medium. Also, a fourth medium is created, the second volume is re-pointed to the fourth medium, and the second medium is recorded as the underlying medium of the targeted range of the fourth medium. All other ranges of the fourth medium have the second medium as their underlying medium.
Abstract:
A system and method for performing copy offload operations. When a copy offload operation from a first volume (pointing to a first medium) to a second volume (pointing to a second medium) is requested, the copy offload operation is performed without accessing the data being copied. A third medium is created, and the first medium is recorded as the underlying medium of the third medium. The first volume is re-pointed to the third medium. Also, a fourth medium is created, the second volume is re-pointed to the fourth medium, and the second medium is recorded as the underlying medium of the targeted range of the fourth medium. All other ranges of the fourth medium have the second medium as their underlying medium.
Abstract:
Systems, methods, and computer readable storage mediums for optimizing performance in a storage system. A volume may be mapped to an anchor medium through an indirection layer. When a snapshot is taken of the volume, the allocation of a new anchor medium is delayed until a write operation targeting the volume is received. When a write operation targeting the volume is received, a new anchor medium may be allocated for only a portion of the volume corresponding to the portion of the volume which is targeted by the write operation. Also, when a snapshot is taken of the volume, read optimization operations are performed only the portions of the volume which have changed since the previous snapshot.
Abstract:
A method including, responsive to receiving a request identifying a volume and indicating a command to take a snapshot of the volume, mapping a second logical grouping of data to reference the first logical grouping of data, and remapping the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot. The method also includes, in response to receiving a write request targeting the second logical grouping, splitting the second logical grouping into a plurality of ranges including a first range and a second range; wherein the first range of the second logical grouping maps to the first logical grouping, and the write request is performed on the second range of the second logical grouping.
Abstract:
Attributing consumed storage capacity among entities storing data in a storage array includes: identifying a data object stored in the storage array and shared by a plurality of entities, where the data object occupies an amount of storage capacity of the storage array; and attributing to each entity a fractional portion of the amount of storage capacity occupied by the data object.