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:
A virtualized storage system comprises at least one host, at least one virtual array, a backend array and a management server. The host requests storage operations to the virtual array, and the virtual array executes storage operations for the host. The backend array, coupled to the virtual array, comprises physical storage for the virtual array. The management server determines the efficiency for the virtual array. The management server determines an input throughput data rate between the host and the virtual array based on storage operations between host and virtual array. The management server also determines an output throughput data rate, from the virtual array to the backend array. The output throughput data rate is based on the storage operations that require access to the backend array. The management server determines the efficiency of the virtual array using the input throughput data rate and the output throughput data rate.
Abstract:
A method and system for manipulating a spin state of each disk in a drive array is disclosed. In one embodiment, a method includes monitoring input/output (I/O) requests to each disk drive in a disk array and identifying any disk drive as an inactive disk drive based on a number of I/O requests directed to said any disk drive for a given time interval. The method further includes moving data from the inactive disk drive to an active disk drive having a free disk space to store the data and updating metadata associated with the data using a log-structured file system for the disk array. Further, the method includes manipulating a spin state of the inactive disk drive by spinning down the inactive disk drive to conserve power. Furthermore, the method includes redirecting subsequent I/O requests for the inactive disk drive to the active disk drive by accessing the metadata of the log-structured file system.
Abstract:
Systems and methods for hierarchical reference counting via sibling trees are provided. The hierarchical data structure, together with its associated operations, can efficiently maintain reference counts and significantly reduce input/output (IO) operations compared to traditional techniques. The data structure presented here is applicable to any directed acyclic graph (DAG-type) structure where reference counts are used. Various embodiments of the present invention use a data structure to maintain a “sibling pointer” (pointing to the sibling node as a way to avoid reference count updates) and a “sibling count.” When nodes in the tree diverge, the sibling pointer and sibling count are updated as opposed to directly manipulating the reference counts of the children of the diverging nodes. Various other embodiments can use additional entries or fields that allow for improved efficiency and advantages.
Abstract:
Example embodiments provide various techniques for providing a backup functionality to a particular application. In one example, a plug-in module is selected for activation from a number of different plug-in modules. This selected plug-in module is adapted to interface with the particular application. It should be noted that each plug-in module is adapted to interface with a different application. The particular application is quiesced using the selected plug-in module. After the application has been quiesced, the backup functionality is initiated.
Abstract:
Embodiments provide various techniques for dynamic adjustment of a number of threads for execution in any domain based on domain utilizations. In a multiprocessor system, the utilization for each domain is monitored. If a utilization of any of these domains changes, then the number of threads for each of the domains determined for execution may also be adjusted to adapt to the change.
Abstract:
Graph transformations are used by a data management system to correct violations of service-level objectives (SLOs) in a data center. In one aspect, a process is provided to manage a data center by receiving an indication of a violation of a service-level objective associated with the data center from a server in the data center. A graph representation and a transformations data container are retrieved by the data management system from data storage accessible to the data management system. The transformations data container includes one or more transformations. The transformation is processed to create a mutated graph from a data center representation from the graph representation. An option for managing the data center is determined as a result of evaluating the mutated graphs.
Abstract:
A process for block-level tracking of a sequential data stream that is sub-divided into multiple parts, and stored, by a file system, within non-sequential storage blocks. The process creates block-level metadata as the sequential data stream is written to the storage blocks, wherein the metadata stores pointers to the non-sequential storage blocks used to store the multiple parts of the sequential data stream. This metadata can subsequently be used by a block-level controller to more efficiently read the sequential data stream back to the file system using read-ahead processes.
Abstract:
Methods and apparatuses for efficiently migrating deduplicated data are provided. In one example, a data management system includes a data storage volume, a memory including machine executable instructions, and a computer processor. The data storage volume includes data objects and free storage space. The computer processor executes the instructions to perform deduplication of the data objects and determine migration efficiency metrics for groups of the data objects. Determining the migration efficiency metrics includes determining, for each group, a relationship between the free storage space that will result if the group is migrated from the volume and the resources required to migrate the group from the volume.
Abstract:
Methods and apparatuses for performing selective deduplication in a storage system are introduced here. Techniques are provided for determining a probability of deduplication for a data object based on a characteristic of the data object and performing a deduplication operation on the data object in the storage system prior to the data object being stored in persistent storage of the storage system if the probability of deduplication for the data object has a specified relationship to a specified threshold.