Abstract:
A shared storage architecture is described for coordinating management of a shared storage between nodes of a network storage system. In various embodiments, the shared storage is partitioned into and different partitions are assigned to different nodes of the network storage system. The shared storage architecture provides techniques for asserting reservations on the shared storage, managing state of the shared storage, and implementing various configurations of the network storage system using the shared storage.
Abstract:
A data access request is received specifying a data block stored in a stripe of a parity group that includes a plurality of data storage devices to store data blocks and a parity storage device to store parity information for the data. The stripe includes a data block from each of the plurality of data storage devices and the stripe includes a parity block from the parity storage device. An error is detected in the data block specified by the data access request. The error is identified as a lost write error for the data block or a lost write error for the parity block. Identifying the error includes comparing a first storage device signature stored in a metadata field associated with the data block to a second storage device signature stored in a label block identifying a data storage device where the data block is stored.
Abstract:
A parity pattern defines a repeated distribution of parity blocks within a distributed parity disk array (“DPDA”). The parity pattern identifies on which disks the parity block or blocks for a stripe are located. When a new disk is added to the DPDA, the parity pattern is modified so that the distribution of parity blocks within the parity pattern is even. Parity blocks within the DPDA are then redistributed to conform with the modified parity pattern.
Abstract:
A method, non-transitory computer readable medium, and device that assists with reducing memory fragmentation in solid state devices includes identifying an allocation area within an address range to write data from a cache. Next, the identified allocation area is determined for including previously stored data. The previously stored data is read from the identified allocation area when it is determined that the identified allocation area comprises previously stored data. Next, both the write data from the cache and the read previously stored data are written back into the identified allocation area sequentially through the address range.
Abstract:
A technique efficiently determines accurate storage space savings reported to a host coupled to a reference-counted storage system that employs de-duplication and compression, wherein the storage space savings relate to snapshots and/or clones supported by the storage system. The snapshot/clone may be represented as an independent volume, and embodied as a respective read-only copy (snapshot) or read-write copy (clone) of a parent volume. Metadata is illustratively organized as one or more multi-level dense trees, wherein each level of each dense tree includes volume metadata entries for storing the metadata. The metadata is illustratively embodied as mappings from LBAs of a LUN to extent keys. Space adjustment counters, such as clone space adjustment (CSA) and diverged space adjustment (DSA) counters, may be employed when determining the storage space savings. The CSA counter is equal to the sum of mapped storage space across all levels of a dense tree. The DSA counter for the clone and for the snapshot equals the total mapped storage space in the level. The storage space savings may be determined by computing a value equal to the addition of the CSA counter to the total amount of data and metadata written to the LUN minus the DSA counters and, thereafter, dividing the value by the total amount of de-duplicated and compressed data for the LUN that is physically stored.
Abstract:
A method, non-transitory computer readable medium, and device that assists with reducing memory fragmentation in solid state devices includes identifying an allocation area within an address range to write data from a cache. Next, the identified allocation area is determined for including previously stored data. The previously stored data is read from the identified allocation area when it is determined that the identified allocation area comprises previously stored data. Next, both the write data from the cache and the read previously stored data are written back into the identified allocation area sequentially through the address range.
Abstract:
A shared storage architecture is described for coordinating management of a shared storage between nodes of a network storage system. In various embodiments, the shared storage is partitioned into and different partitions are assigned to different nodes of the network storage system. The shared storage architecture provides techniques for asserting reservations on the shared storage, managing state of the shared storage, and implementing various configurations of the network storage system using the shared storage.
Abstract:
Some aspects of the disclosure relate to a data storage system that includes multiple memory device storage devices. If a memory device of a memory device array fails within a first data storage device, some portions of the lost or corrupted data from the failed memory device are recovered by reading them from a second data storage device. Other portions of the lost or corrupted data from the failed memory device are recovered from parity information in the first data storage device.
Abstract:
A technique efficiently determines accurate storage space savings reported to a host coupled to a reference-counted storage system that employs de-duplication and compression, wherein the storage space savings relate to snapshots and/or clones supported by the storage system. The snapshot/clone may be represented as an independent volume, and embodied as a respective read-only copy (snapshot) or read-write copy (clone) of a parent volume. Metadata is illustratively organized as one or more multi-level dense trees, wherein each level of each dense tree includes volume metadata entries for storing the metadata. The metadata is illustratively embodied as mappings from LBAs of a LUN to extent keys. Space adjustment counters, such as clone space adjustment (CSA) and diverged space adjustment (DSA) counters, may be employed when determining the storage space savings. The CSA counter is equal to the sum of mapped storage space across all levels of a dense tree. The DSA counter for the clone and for the snapshot equals the total mapped storage space in the level. The storage space savings may be determined by computing a value equal to the addition of the CSA counter to the total amount of data and metadata written to the LUN minus the DSA counters and, thereafter, dividing the value by the total amount of de-duplicated and compressed data for the LUN that is physically stored.
Abstract:
A parity pattern defines a repeated distribution of parity blocks within a distributed parity disk array (“DPDA”). The parity pattern identifies on which disks the parity block or blocks for a stripe are located. When a new disk is added to the DPDA, the parity pattern is modified so that the distribution of parity blocks within the parity pattern is even. Parity blocks within the DPDA are then redistributed to conform with the modified parity pattern.