Abstract:
Methods and systems for sharing access to a computer resource accessible by a bus between two controllers are provided. For example, a machine implemented method of sharing access to computer resources includes requesting access to a bus from a processor of a first controller to access a device shared with a processor of a second controller; waiting for a positive response from the second controller; when the positive response is received, accessing the bus for less than a first timeout period; resetting a timer before the timer reaches the first timeout period to extend access to the bus, when access is not complete and a total access time is less than a second timeout period; and releasing the bus when access is complete or the second timeout period has been reached.
Abstract:
A system and method for avoiding object identifier collisions in a cluster environment is provided. Upon creation of the cluster, volume location databases negotiate ranges for data set identifiers (DSIDs) between a first site and a second site of the cluster. Any pre-existing objects are remapped into an object identifier range associated with the particular site hosting the object.
Abstract:
A low-overhead merge technique enables restart of a merge operation with minimal logging of state information relating to progress of the merge operation by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The technique enables restart of the merge operation by ensuring that metadata, i.e., metadata pages, generated during the merge operation is not subject to de-duplication by providing a unique value in each metadata page that distinguishes the page, i.e., renders the page distinct or "unique", from other metadata pages in an extent store. In addition, the technique ensures that a reference count on each metadata page is a value denoting a lack of de-duplication. To that end, the extent store layer is configured to not increment the reference count for a metadata page if, during the merge operation, the page is identical (and thus subject to deduplication) to an existing metadata page in the extent store.
Abstract:
One or more techniques and/or systems are provided for coalescing storage operations. For example, a storage operation may be received from a client by a file server configured to provide access to data stored within one or more storage devices. A notification of the storage operation may be created for tracking purposes. A coalescing policy may be enforced such that additional notifications are not created for subsequent storage operations until the coalescing policy is unenforced (e.g., after a predefined period of time lapses). Enforcement of the coalescing policy, for example, mitigates tracking an excess number of storage operations that may otherwise utilize processing resources, consume bandwidth, provide redundant information that may be of little to no value, etc.
Abstract:
Technology is disclosed for backing up data to and recovering data from a destination storage system that stores data in a format different form that of a primary storage system ("the technology"). A replication stream having the data of multiple files, metadata of the files, and reference maps including a mapping of the corresponding file to a portion of the data of the corresponding file is generated at the primary storage system. The replication stream is sent to a parser to map or convert the data, the files, and the reference maps to multiple storage objects in a format the destination storage system is configured to store. Various types of storage objects are generated, including a first type of the storage objects having the data, a second type of storage objects storing the reference maps, and a third type of the storage objects storing metadata of the files.
Abstract:
A method, device and non-transitory computer readable medium that manages read access includes organizing a plurality of requests for objects on one or more storage media, such as tapes or spin-down disks, based on at least a deadline for each of the plurality of requests. One of one or more replicas for each of the objects on the one or more storage media is selected based on one or more factors. An initial schedule for read access is generated based at least on the deadline for each of the plurality of requests, the selected one of the replicas for each of the objects, and availability of one or more drives. The initial schedule for read access on the one or more of the drives for each of the plurality of requests for the objects is provided.
Abstract:
Non-volatile random access memory (NVRAM) caching and logging may be configured to deliver low latency acknowledgements of input/output (I/O) requests, such as write requests, while avoiding loss of data associated with the requests that may occur as a result of power failures. Write data associated with one or more write requests may be received at a node of a cluster. The write data may be stored in a portion of an NVRAM configured as, e.g., a persistent write-back cache of the node, while parameters of the request may be stored in another portion of the NVRAM configured as one or more logs, e.g., NVLogs. The write data may be organized into separate variable length blocks or extents and "written back" out-of-order from the write back cache to storage devices, such as solid state drives (SSDs). The write data may be preserved in the write-back cache until each extent is safely and successfully stored on SSD (i.e., in the event of power loss), or operations associated with the write request are sufficiently logged on NVLog, to thereby provide efficient recovery when attempting to restore the write data preserved in the cache to the SSDs.
Abstract:
Technology is disclosed for improving the storage efficiency and communication efficiency for a storage client device by maximizing the cache hit rate and minimizing data requests to the storage server. The storage server provides a duplication list to the storage client device. The duplication list contains references (e.g. storage addresses) to data blocks that contain duplicate data content. The storage client uses the duplication list to improve the cache hit rate. The duplication list is pruned to contain references to data blocks relevant to the storage client device. The storage server can prune the duplication list based on a working set of storage objects for a client. Alternatively, the storage server can prune the duplication list based on content characteristics, e.g. duplication degree and access frequency. Duplicate blocks to which the client does not have access can be excluded from the duplication list.
Abstract:
A method, non-transitory computer readable medium, and device that monitors and controls a storage environment includes receiving object data corresponding to a storage environment, the object data comprising data corresponding to physical and logical storage entities. A storage object model which associates physical and logical storage entities in a database is generated. An administrator-level user authentication configured to provide an administrator with access to information in the generated object model which corresponds to both physical and logical storage entities is generated. A user authentication configured to provide a user with access to information in the generated object model that corresponds to logical storage entities assigned to the user is generated. A dashboard configured to receive authentication information from either of an administrator-level or the user and to display information in accordance with a received authentication is provided.
Abstract:
Techniques for a common object model are described. In one embodiment, for example, an apparatus may comprise a common controller object and a first plugin. The common controller object may be operative to receive a standardized command from a module and to generate a first standardized plugin command based on the standardized command, the standardized command and first standardized plugin command conforming to a common object model. The plugin may be operative to execute the first standardized plugin command. Other embodiments are described and claimed.