Abstract:
The disclosed embodiments relate to systems and methods for coordinating management of a shared disk storage between nodes. Particularly, a messaging protocol may be used to communicate notifications regarding each node's perception of the shared storage's state. The nodes may use the messaging protocol to achieve consensus when recovering from a storage device failure. Some embodiments provide for recovery when localized failures, such as failures at an adapter on a node, occur.
Abstract:
The present invention provides a system and method for virtual block numbers (VBNs) to disk block number (DBN) mapping that may be utilized for both single and/or multiple parity based redundancy systems. Following parity redistribution, new VBNs are assigned to disk blocks in the newly added disk and disk blocks previously occupied by parity may be moved to the new disk.
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 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.