NetApp, Inc. Patent applications |
Patent application number | Title | Published |
20160140868 | TECHNIQUES FOR USING AUGMENTED REALITY FOR COMPUTER SYSTEMS MAINTENANCE - Techniques for an augmented reality component are described. An apparatus may comprise an augmented reality component to execute an augmented reality service in a data system. The augmented reality service operative to generate an augmented reality view of one or more objects within a target location. The augmented reality service operative to receive spatial awareness information for at least one object. The augmented reality service operative to calculate a path to the at least one object within the augmented reality view. The augmented reality service operative to add a digital representation of the path to the augmented reality view to create a mapped augmented reality view. The augmented reality service operative to present the mapped augmented reality view on an electronic device. | 05-19-2016 |
20160139843 | SYSTEM AND METHOD FOR HIJACKING INODES BASED ON REPLICATION OPERATIONS RECEIVED IN AN ARBITRARY ORDER - A system and method for hijacking inodes based on replication operations received in an arbitrary order is used to assist a data replication operation from a source storage system to a destination storage system. The source storage system generates a set of replication operations as part of a replication process and transmits the replication operations in an arbitrary order. After receiving a replication operation, the system determines whether the operation is inconsistent with a corresponding destination inode. If an inconsistency exists, the system hijacks the destination inode by replacing the destination inode's metadata with data determined based on the replication operation. The system may also delete metadata from the inode and/or initialize metadata to default values if the metadata was not replaced based on the replication operation. The system then waits for a second replication operation that contains the remaining metadata and replaces the metadata based on the second replication operation. In addition, data blocks associated with the previous version of the inode are freed. | 05-19-2016 |
20160127467 | TECHNIQUES FOR STORING AND DISTRIBUTING METADATA AMONG NODES IN A STORAGE CLUSTER SYSTEM - Various embodiments are generally directed to techniques for reducing the time required for a node to take over for a failed node or to boot. An apparatus includes an access component to retrieve a metadata from a storage device coupled to a first D-module of a first node during boot, the metadata generated from a first mutable metadata portion and an immutable metadata portion, and the first metadata specifying a first address of a second D-module of a second node; a replication component to contact the second data storage module at the first address; and a generation component to, in response to failure of the contact, request a second mutable metadata portion from a N-module of the first node and generate a second metadata from the second mutable metadata portion and the immutable metadata portion, the second mutable metadata portion specifying a second address of the second D-module. | 05-05-2016 |
20160127462 | TECHNIQUES FOR CONTROLLING CLIENT TRAFFIC ON A CLUSTERED SYSTEM - Various embodiments are generally directed an apparatus and method to receive client traffic comprising information at a primary cluster of a clustered system over a communications link, perform, a replication operation on the clustered system to replicate the information on a secondary cluster of the clustered system, and determine a client traffic throughput for the client traffic and a replication throughput for the replication operation. In some embodiments, the apparatus and method may include buffering one or more write operations to control the client traffic such that the client traffic throughput is less than or equal to the replication throughput for the replication operation. | 05-05-2016 |
20160119427 | STORAGE AREA NETWORK ATTACHED CLUSTERED STORAGE SYSTEM - A storage area network (SAN)-attached storage system architecture is disclosed. The storage system provides strongly consistent distributed storage communication protocol semantics, such as SCSI target semantics. The system includes a mechanism for presenting a single distributed logical unit, comprising one or more logical sub-units, as a single logical unit of storage to a host system by associating each of the logical sub-units that make up the single distributed logical unit with a single host visible identifier that corresponds to the single distributed logical unit. The system further includes mechanisms to maintain consistent context information for each of the logical sub-units such that the logical sub-units are not visible to a host system as separate entities from the single distributed logical unit. | 04-28-2016 |
20160117113 | UNIQUELY NAMING STORAGE DEVICES IN A GLOBAL STORAGE ENVIRONMENT - The present invention uniquely names storage devices in a global storage environment with hierarchical storage domains. In particular, according to one or more embodiments of the present invention a storage device (e.g., a disk) is connected at a particular location within the global storage environment. That particular location is associated with a path of each of one or more hierarchical storage domains in which the storage device is located. Accordingly, a name is assigned to the storage device that is the path of the hierarchical storage domains in which the storage device is located. | 04-28-2016 |
20160112408 | SCALABLE GROUPS OF AUTHENTICATED ENTITIES - Example embodiments provide various techniques for securing communications within a group of entities. In one example method, a request from an entity to join the group is received and a signed, digital certificate associated with the entity is accessed. Here, the signed, digital certificate is signed with a group private key that is associated with a certification authority for the group. The signed, digital certificate is added to a group roster, and this addition is to admit the entity into the group. The group roster with the signed, digital certificate is itself signed with the group private key and distributed to the group, which includes the entity that transmitted the request. Communication to the entity is then encrypted using the signed, digital certificate included in the group roster. | 04-21-2016 |
20160110378 | TECHNIQUES FOR PERFORMING RESYNCHRONIZATION ON A CLUSTERED SYSTEM - Various embodiments are generally directed an apparatus and method for receiving information to write on a clustered system comprising at least a first cluster and a second cluster, determining that a failure event has occurred on the clustered system creating unsynchronized information, the unsynchronized information comprising at least one of inflight information and dirty region information, and performing a resynchronization operation to synchronize the unsynchronized information on the first cluster and the second cluster based on log information in at least one of an inflight tracker log for the inflight information and a dirty region log for the dirty region information. | 04-21-2016 |
20160100016 | SERVICING OF STORAGE DEVICE SOFTWARE COMPONENTS OF NODES OF A CLUSTER STORAGE SYSTEM - Described herein are method and apparatus for servicing software components of nodes of a cluster storage system. During data-access sessions with clients, client IDs and file handles for accessing files are produced and stored to clients and stored (as session data) to each node. A serviced node is taken offline, whereby network connections to clients are disconnected. Each disconnected client is configured to retain its client ID and file handles and attempt reconnections. Session data of the serviced node is made available to a partner node (by transferring session data to the partner node). After clients have reconnected to the partner node, the clients may use the retained client IDs and file handles to continue a data-access session with the partner node since the partner node has access to the session data of the serviced node and thus will recognize and accept the retained client ID and file handles. | 04-07-2016 |
20160098330 | TECHNIQUES FOR ERROR HANDLING IN PARALLEL SPLITTING OF STORAGE COMMANDS - Various embodiments are generally directed to techniques for handling errors affecting the at least partially parallel performance of data access commands between nodes of a storage cluster system. An apparatus may include a processor component of a first node, an access component to perform a command received from a client device via a network to alter client device data stored in a first storage device coupled to the first node, a replication component to transmit a replica of the command to a second node via the network to enable performance of the replica by the second node at least partially in parallel, an error component to retry transmission of the replica based on a failure indicated by the second node and a status component to select a status indication to transmit to the client device based on the indication of failure and results of retrial of transmission of the replica. | 04-07-2016 |
20160088082 | TECHNIQUES FOR COORDINATING PARALLEL PERFORMANCE AND CANCELLATION OF COMMANDS IN A STORAGE CLUSTER SYSTEM - Various embodiments are directed to techniques for coordinating at least partially parallel performance and cancellation of data access commands between nodes of a storage cluster system. An apparatus may include a processor component of a first node coupled to a first storage device storing client device data; an access component to perform replica data access commands of replica command sets on the client device data, each replica command set assigned a set ID; a communications component to analyze a set ID included in a network packet to determine whether a portion of a replica command set in the network packet is redundant, and to reassemble the replica command set from the portion based if the portion is not redundant; and an ordering component to provide the communications component with set IDs of replica command sets of which the access component has fully performed the set of replica data access commands. | 03-24-2016 |
20160062856 | TECHNIQUES FOR MAINTAINING COMMUNICATIONS SESSIONS AMONG NODES IN A STORAGE CLUSTER SYSTEM - Various embodiments are generally directed to techniques for preparing to respond to failures in performing a data access command to modify client device data in a storage cluster system. An apparatus may include a processor component of a first node coupled to a first storage device; an access component to perform a command on the first storage device; a replication component to exchange a replica of the command with the second node via a communications session formed between the first and second nodes to enable at least a partially parallel performance of the command by the first and second nodes; and a multipath component to change a state of the communications session from inactive to active to enable the exchange of the replica based on an indication of a failure within a third node that precludes performance of the command by the third node. Other embodiments are described and claimed. | 03-03-2016 |
20160026535 | TECHNIQUES FOR DYNAMICALLY CONTROLLING RESOURCES BASED ON SERVICE LEVEL OBJECTIVES - Various embodiments are generally directed an apparatus and method for receiving a recovery point objective for a workload, the recovery point objective comprising an amount of time in which information for the workload will be lost if a failure occurs, and determining a service level objective for a replication transfer based on the recovery point objective, the replication transfer to replicate information on a destination node to maintain the recovery point objective. Various embodiments include dynamically controlling one or more resources to replicate the information on the destination node based on the service level objective and communicating information for the replication transfer from the source node to the destination node. | 01-28-2016 |
20150370816 | LOAD-BALANCING TECHNIQUES FOR AUDITING FILE ACCESSES IN A STORAGE SYSTEM - Load-balancing techniques for auditing file accesses in a storage system are described. In one embodiment, for example, an apparatus may a processor circuit and a storage medium comprising instructions for execution by the processor circuit to receive a file access request notification identifying a stored file in a storage system, determine a destination volume for a file access record corresponding to an access of the stored file, the destination volume selected from among a plurality of candidate staging volumes of the storage system, and direct the file access record to the destination volume. Other embodiments are described and claimed. | 12-24-2015 |
20150363118 | TECHNIQUES FOR HARMONIC-RESISTANT FILE STRIPING - Techniques for harmonic-resistant file striping are described. In one embodiment, for example, an apparatus may comprise a processor circuit and a storage medium comprising instructions for execution by the processor circuit to receive a request to write data to a file at a specified offset, determine a stripe identifier (ID) based on the specified offset according to a harmonic-resistant striping order, and initiate a write procedure to cause the data to be written to a stripe of the file, the stripe corresponding to the stripe ID. Other embodiments are described and claimed. | 12-17-2015 |
20150350315 | ZERO COPY VOLUME RECONSTRUCTION - Examples described herein include a data migration system for migrating data between different data storage environments. The data migration system creates a first volume on a first storage system, and creates a logical unit within the first volume. The data migration system then creates a virtual volume on a virtual storage system associated with a second storage system, wherein data stored in the virtual volume is backed by the logical unit on the first storage system. The data migration system then replicates, on the virtual volume, a set of data stored on the second storage system. Upon replicating the set of data onto the virtual volume the virtual storage system may automatically create a copy of the corresponding data in the logical unit of the first volume. | 12-03-2015 |
20150349806 | TECHNIQUE FOR ADAPTIVELY STRENGTHING ECC FOR FLASH CACHE - In an aspect of the subject matter, a “full” amount of the flash cache (e.g., storage cells) is initially utilized to store data i.e., substantially all of the storage space of the flash cache may be designated to store user data, with the remaining storage space designated to store ECC information (e.g., parity bits) associated with a predefined ECC algorithm utilized to encode the user data. When a bit errors associated with the user data reaches a predefined threshold value, the storage space of the flash cache may transition to store less user data so as to accommodate the space needed to store ECC information associated with a stronger ECC algorithm. The storage space of the flash cache designated to store user data is reduced, while the storage space designated to store ECC information is increased to accommodate the stronger ECC algorithm. | 12-03-2015 |
20150347425 | SYSTEM AND METHOD FOR VALIDATING REPLICATION OF MUTABLE OPERATIONS PERFORMED ON A FILE SYSTEM OBJECT DURING A MIGRATION - Examples described herein provide for determining when individual file system operations are quiesced at a destination before validating a state of the file system object after migration. In one implementation, a metadata parameter is modified for individual file system objects after a set of mutable operations for each file system object is completed. The metadata parameter is recorded and subsequently used to determine when each of the individual file system objects are quiesced at the destination filer. The file system objects that are quiesced can be validated for migration and for implementation of any mutable file system operations that were completed at the source during the migration. | 12-03-2015 |
20150347402 | SYSTEM AND METHOD FOR ENABLING A CLIENT SYSTEM TO GENERATE FILE SYSTEM OPERATIONS ON A FILE SYSTEM DATA SET USING A VIRTUAL NAMESPACE - A file system data set is scanned to (i) identify the file system objects of the file system data set, and (ii) obtain contextual data and metadata for file system objects of the file system data set. A virtual namespace for the file system data set is then constructed using the contextual data and the metadata. From a computer system, one or more atomic file system operations are issued to exercise the file system data set using the virtual namespace. | 12-03-2015 |
20150347196 | Lockless Waterfall Thread Communication - Systems and methods are disclosed for communicating state information of a session between a plurality of processing threads in a hierarchy. The session is passed down through the hierarchy, with one or more threads processing the session at each level of the hierarchy. An example method includes reading a first pointer of a first processing thread and comparing the first pointer to a second pointer of a second processing thread. The second processing thread is dependent on the first processing thread. The method also includes in response to determining that the first pointer does not match the second pointer, processing a set of configuration items in a session. The method further includes after processing the set of configuration items in the session, updating the second pointer of the second processing thread to match the first pointer of the first processing thread. | 12-03-2015 |
20150347187 | DECENTRALIZED PROCESSING OF WORKER THREADS - One or more techniques and/or systems are provided for managing one or more worker threads. For example, a utility list queue may be populated with a set of work item entries for execution. A set of worker threads may be initialized to execute work item entries within the utility list queue. In an example, a worker thread may be instructed to operate in a decentralized manner, such as without guidance from a timer manager thread. The worker thread may be instructed to execute work item entries that are not assigned to other worker threads and that are expired (e.g., ready for execution). The worker thread may transition into a sleep state if the utility list queue does not comprise at least one work item entry that is unassigned and expired. | 12-03-2015 |
20150347186 | METHOD AND SYSTEM FOR SCHEDULING REPETITIVE TASKS IN O(1) - Systems and methods are disclosed for scheduling a plurality of tasks for execution on one or more processors. An example method includes obtaining a counter value of a counter. The method also includes for each work queue of a plurality of work queues, identifying an execution period of the respective work queue and comparing a counter value to an execution period of the respective work queue. Each work queue includes a set of tasks and is defined by an execution period at which to run the respective set of queued tasks. The method further includes selecting, based on the comparing, a subset of the plurality of work queues. The method also includes scheduling a set of tasks of slower frequency queued in a selected work queue for execution on one or more processors before a set of tasks queued in a non-selected work queue. The work items may be scheduled in O(1) because the design inherently prioritizes the tasks based on the urgency of their completion, and may do so by resetting a work queue pointer. | 12-03-2015 |
20150347055 | System and Method for Parallelized Performance Data Collection in a Computing System - A system and method for of prioritizing accumulation of time-dependent data is disclosed. In an embodiment, a plurality of data elements are identified to be retrieved. The data elements include a high-priority data element and a low-priority data element. A first data retrieval operation is performed to retrieve the high-priority data element, to store a copy of the high-priority data element in a memory structure, and to reserve a memory space in the memory structure for the low-priority data element based on the low-priority data element corresponding to the high-priority data element. In parallel with the first data retrieval operation, a second data retrieval operation is performed to analyze the memory structure to detect the reserved memory space, upon detecting the reserved memory space, to retrieve the low-priority data element, and to store a copy of the low-priority data element in the reserved memory space. | 12-03-2015 |
20150347043 | CLUSTER CONSISTENT LOGICAL STORAGE OBJECT NAMING - A clustered storage environment can distribute responsibility for naming virtual disks to nodes of the clustered storage environment. The clustered storage environment maintains a list of names in a structure that is visible to cluster member nodes responsible for naming the virtual disks. As the cluster member nodes discover mass storage devices (e.g., storage arrays) in the clustered storage environment, the nodes determine identifiers of the mass storage devices. For each mass storage device, the nodes use the mass storage device identifier to establish a namespace for virtual disks of the corresponding mass storage device. The nodes can then provide consistent, exclusive names for the virtual disks throughout the cluster that are manageable names. | 12-03-2015 |
20150347011 | EVENT BASED TAGGING OF STORAGE SYSTEM COMMANDS - An indication of an event occurrence is received. The indication of the event occurrence is associated with a severity. A tag associated with the indication of the event occurrence is determined. It is determined whether the tag is the same as a preceding tag. In response to a determination that the tag is not the same as the preceding tag, a component is notified of the event occurrence, the tag is stored for later use, and an indication of the severity associated with the indication of the event occurrence is stored. | 12-03-2015 |
20150339157 | SYSTEM AND METHOD FOR STORAGE AND DEPLOYMENT OF VIRTUAL MACHINES IN A VIRTUAL SERVER ENVIRONMENT - Described herein are systems and methods for storage and deployment of VMs in a virtual server environment. A VM deployment module executing on a server may produce VM container objects representing VMs, a VM container object comprising VM data describing a VM and vdisk configuration data. The VM deployment module may also later produce VMs on a server using the VM container objects. The VM deployment module may do so by producing a vdisk from a VM container object, the vdisk comprising the VM and vdisk configuration data. Rather than configuring the vdisk as typically done to make the vdisk useable to the server, the vdisk configuration data is used to make the vdisk useable and the VM data on the vdisk immediately accessible to the server. As such, the VM data may be immediately read to produce a VM on the server, thus providing rapid deployment of VMs. | 11-26-2015 |
20150339080 | BRIDGING STORAGE CONTROLLERS IN CLUSTERED DEPLOYMENTS - A storage controller receives data from a host. The data is provided to a storage stack on the storage controller. The storage stack can perform deduplication, compression or file layout operations on the data, which is then written to a first storage unit coupled to a first port of the storage controller. The storage controller determines whether a second port of the first storage controller is configured as a remote port. In response to determining that the second port is configured as a remote port, the data is also provided to a pass-thru stack on the first storage controller. The pass-thru stack performs protocol conversion on the data and writes the data to the second port on the storage controller. | 11-26-2015 |
20150331894 | System and Method for Location-Based Device Naming - A system and method for uniquely identifying a storage device among an array of storage devices of a storage system is provided. In some embodiments, a storage device of the storage system is identified. The storage device may currently lack a name or may have an invalid name. A shelf identifier of a storage device shelf in which the storage device is installed is determined. A stack identifier associated with a connection of the storage device is also determined. The storage system constructs a device name for the storage device based on the shelf identifier and the stack identifier. In some such embodiments, a bay in which the storage device is installed is determined, and the device name is further based on an identifier of the bay. The device name may include the stack identifier, the shelf identifier, and/or the identifier of the bay. | 11-19-2015 |
20150331774 | SENSING POTENTIAL FAILURE EVENT FOR A DATA STORAGE DEVICE - In at least one embodiment, a method of fault monitoring data storage devices in a multiple-data-storage-devices enclosure is disclosed. The method includes: receiving a storage access request; identifying a first data storage device as being targeted by the storage access request, wherein the enclosure includes two or more data storage devices including the first data storage device; performing an access operation according to the storage access request on the first data storage device; and updating a record of a fault sensor assigned to the first data storage device by monitoring the performing of the access operation. | 11-19-2015 |
20150331766 | Deferred Replication of Recovery Information At Site Switchover - Methods, systems, and computer program products for providing deferred replication of recovery information at site switchover are disclosed. A computer-implemented method may include receiving a first copy of logged data for storage volumes of a disaster recovery (DR) partner at a remote site from the DR partner, receiving a request to perform a site switchover from the remote site to the local site, receiving a second copy of logged data for the storage volumes from a local high availability (HA) partner in response to the switchover, and recovering the storage volumes locally by applying one or more of the copies of logged data to corresponding mirrored storage volumes at the local site. | 11-19-2015 |
20150331733 | TAG BASED SELECTION OF TEST SCRIPTS FOR FAILURE ANALYSIS - A service system can include numerous test scripts that are candidates for execution against a failure message to determine a solution for a failure in a distributed storage system. To efficiently ascertain a solution for a failure with the test scripts, a service system can analyze the failure message to determine tags and use the tags to guide selection of test scripts. The selected test scripts are then executed to analyze the failure message, and to generate, based on the analysis, a solution corresponding to the failure. Instead of executing the numerous test scripts against the failure message, only selected test scripts are executed against the failure message to generate a solution. The solution is then communicated to the distributed storage system. | 11-19-2015 |
20150331632 | MANAGING ARCHIVAL STORAGE - In some embodiments, a multiple-data-storage-devices cartridge can implement a method of writing data via a data range application programming interface (“API”). The method can include: receiving a write request from a requester device, wherein the write request is a direct, broadcast or multicast, or fanout message and includes a size indication for a contiguous range of data; responsive to receiving the write request, sending a response message to the requester device indicating an intent to store the contiguous range of data; receiving the contiguous range of data from the requester device; powering on a target data storage device from amongst data storage devices within the cartridge while keeping at least another data storage device in the cartridge powered off; and writing the contiguous range of data to the target data storage device. | 11-19-2015 |
20150331607 | SYSTEM AND METHOD FOR SIMULATING A PERSISTENT BYTE ADDRESSABLE STORAGE DEVICE ON A PERSISTENT BLOCK ADDRESSABLE STORAGE DEVICE - A persistent random-access, byte-addressable storage device may be simulated on a persistent random-access, block-addressable storage device of a storage system configured to enable asynchronous buffered access to information persistently stored on the block-addressable device. Buffered access to the information is provided, in part, by a portion of kernel memory within the storage system allocated as a staging area for the simulated byte-addressable storage device to temporarily store the information destined for persistent storage. One or more asynchronous interfaces may be employed by a user of the simulated byte-addressable device to pass metadata describing the information to a driver of the device, which may process the metadata to copy the information to the staging area. The driver may organize the staging area as one or more regions to facilitate buffering of the information (data) prior to persistent storage on the block-addressable storage device. Each asynchronous access interface is configured to ensure that an order of changes to the data in the persistent storage is consistent with the order of arrival of the changes at the driver. | 11-19-2015 |
20150331477 | LOW POWER ARCHIVAL DATA STORAGE ENCLOSURE - A method of controlling power within a multiple-data-storage-devices enclosure is disclosed. In at least one embodiment, the method comprises receiving a network connection and power from a data connection port to which a network cable is removably coupled; identifying one or more target data storage devices within the multiple-data-storage-devices enclosure to activate, wherein the one or more target data storage devices are a subset of all data storage devices within the multiple-data-storage-devices enclosure; powering off at least one of the data storage devices that draws power from the data connection port to make available additional power to supply from the data connection port; and powering the target data storage devices with the power received through the data connection port to activate the target data storage devices after all other data storage devices are powered off. | 11-19-2015 |
20150331476 | POWER SWITCHING TECHNIQUE FOR ARCHIVAL DATA STORAGE ENCLOSURE - A method of power management of a multiple-data-storage-devices enclosure is disclosed. In some embodiments, the method includes: receiving a network connection and power from a data connection port detachably coupled to a network cable; identifying a subset of data storage devices within the enclosure to activate; powering off components within the enclosure other than the subset of the data storage devices; for each data storage device in the subset that is not yet powered, activating the data storage device by: monitoring power consumption drawn from the data connection port; identifying a sequence of components associated with the data storage device, wherein the components within the sequence, when powered, together provide access to the data storage device; and powering on each component in the sequence when a previous component in the sequence has reached a steady state power consumption level, wherein when activating the data storage device, power supplied to power on the sequence of the components does not exceed a total power available from the data connection port. | 11-19-2015 |
20150324227 | TECHNIQUES FOR VIRTUAL MACHINE MIGRATION - Techniques for virtual machine migration are described. An apparatus may comprise a script generation component operative to generate a first script, the first script to migrate a guest operating system running on a first virtual machine to run on a second virtual machine. The first script may be operative to collect configuration information of the guest operating system, generate a second script based on the collected configuration information, and configure the guest operating system to execute the second script, the configuration information collected while the guest operating system is running on the first virtual machine, the guest operating system configured for the execution of the second script to occur while the guest operating system is running on the second virtual machine. Other embodiments are described and claimed. | 11-12-2015 |
20150324217 | TECHNIQUES FOR VIRTUAL MACHINE SHIFTING - Techniques for virtual machine shifting are described. An apparatus may comprise shifting component operative to shift a virtual machine (VM) between a hypervisor having one type of hypervisor platform and a destination hypervisor having an alternative type of hypervisor platform through use of a clone of the VM. The shifting is bi-directional between the host and the destination hypervisor. The apparatus may comprise a universal application programming interface (API) used for reconfiguring one or more network interfaces and one or more disks of the VM onto the destination hypervisor. Other embodiments are described and claimed. | 11-12-2015 |
20150324216 | SELF-REPAIRING CONFIGURATION SERVICE FOR VIRTUAL MACHINE MIGRATION - Techniques for self-repairing configuration service are described. An apparatus may comprise a self-repairing configuration service component to execute a self-repairing configuration service for a guest operating system executing on a virtual machine. The self-repairing configuration service to detect a guest operating system executing on the virtual machine, detect a change to a host hypervisor of the virtual machine, and reconfigure one or more network interfaces and one or more disks of the virtual machine for the guest operating system upon startup of the guest operating system on the virtual machine in response to the change in the host hypervisor of the virtual machine. Other embodiments are described and claimed. | 11-12-2015 |
20150324135 | AUTOMATIC STORAGE SYSTEM CONFIGURATION BASED ON WORKLOAD MONITORING - Storage system workload data associated with a storage system is analyzed. The workload data comprises indications of input and output operations associated with the storage system. A storage system configuration is determined based, at least in part, on said analyzing of the storage system workload data. An implementation plan comprising one or more operations for implementing the storage system configuration is generated. | 11-12-2015 |
20150317407 | SYSTEM AND METHOD FOR ADAPTIVE DATA PLACEMENT WITHIN A DISTRIBUTED FILE SYSTEM - A system and method for adaptive data placement in a distributed file system is provided. Upon creation of a new subdirectory, a first heuristic procedure is formed to determine whether the newly created subdirectory should be created locally or on a remote flexible volume. Should it be determination be made to create or store the subdirectory on a remote flexible volume, a second heuristic procedure determines which of a plurality of flexible volumes should store the newly created subdirectory. | 11-05-2015 |
20150317226 | DETECTING DATA LOSS DURING SITE SWITCHOVER - Techniques for detecting data loss during site switchover are disclosed. An example method includes storing at NVRAM of a first node a plurality of operations of a second node, the first and second nodes being disaster recovery partners. The method also includes during a switchover from the second node to the first node, receiving an indication of a first number of operations yet to be completed. The method further includes comparing the first number to a second number of operations in the plurality of operations stored at the NVRAM of the first node. The method also includes in response to the comparing, determining whether at least one operation is missing from the plurality of operations stored in the NVRAM of the first node. The method further includes in response to determining that at least one operation is missing, failing at least one volume. | 11-05-2015 |
20150317224 | Preventing Non-Detectable Data Loss During Site Switchover - Methods, systems, and computer program products for preventing non-detectable data loss during site switchover are disclosed. A computer-implemented method may include receiving a request to perform a switchover from a first node to a second node, determining whether to place a storage volume involved in the switchover in a suspended state, setting the storage volume in the suspended state based on determining that the storage volume is to be placed in the suspended state, and maintaining the storage volume in the suspended state after completing the switchover. In an example, the storage volume may be placed in a suspended state based on examining a volume-specific attribute indicating whether the storage volume is to be suspended when involved in a switchover. In one example, each storage volume involved in a switchover may be placed in a suspended state when indicated as part of a switchover request. | 11-05-2015 |
20150317223 | METHOD AND SYSTEM FOR HANDLING FAILURES BY TRACKING STATUS OF SWITCHOVER OR SWITCHBACK - Techniques for recovering from a failure at a disaster recovery site are disclosed. An example method includes receiving an indication to shift control of a set of volumes of a plurality of volumes. The set of volumes is originally owned by a second storage node. The first storage node is a disaster recovery partner of the second storage node. The method includes shifting control of the set of volumes. The method further includes during the shifting, changing a status of a flag corresponding to a progress of the shifting. The method also includes during a reboot of the first storage node, determining the status of the flag and determining, based on the status of the flag, whether to mount the set of volumes during reboot at the first storage node. | 11-05-2015 |
20150312337 | MIRRORING LOG DATA - One or more techniques and/or systems are provided for mirroring a caching log data structure from a primary storage controller to a secondary storage controller over multiple interconnect paths. The secondary storage controller may be configured as a backup or failover storage controller for the primary storage controller in the event the primary storage controller fails. Data and/or metadata describing the data may be mirrored from the primary storage controller to the secondary storage controller over one or more interconnect paths. The caching log data structure may be parsed into a plurality of streams. The streams may be assigned to interconnect paths between the primary storage controller and the secondary storage controller. A data ordering rule is enforced during mirroring of storage information of the streams across the interconnect paths (e.g., the secondary storage controller is to receive data in the order it was sent by respective streams). | 10-29-2015 |
20150309892 | INTERCONNECT PATH FAILOVER - One or more techniques and/or systems are provided for interconnect failover between a primary storage controller and a secondary storage controller. The secondary storage controller may be configured as a backup or failover storage controller for the primary storage controller in the event the primary storage controller fails. Data and/or metadata describing the data (e.g., data and/or metadata stored within a write cache) may be mirrored from the primary storage controller to the secondary storage controller over one or more interconnect paths. Responsive to identifying a failover trigger for a failed interconnect path, the secondary storage controller is instructed to fence (e.g., block) I/O operations from the failed interconnect path. Streams of data and/or metadata that were affected by the failure may be instructed to transmit such data and/or metadata over one or more non-failed interconnect paths to the secondary storage controller during failover of the failed interconnect path. | 10-29-2015 |
20150301942 | WRITE-BACK CACHING-BASED ATOMICITY IN A DISTRIBUTED STORAGE SYSTEM - A method includes receiving an atomic operation for execution, wherein the execution of the atomic operation is to access a data container stored in more than one data store device of a plurality of data store devices in a distributed storage system. The method includes executing, in response to receiving the atomic operation, a write-back cache operation for the data container to preclude access of the data container by a different operation prior to completion of the atomic operation. The method also includes executing the atomic operation, wherein executing the atomic operation comprises accessing the data container stored in the more than one data store device of the distributed storage system. | 10-22-2015 |
20150301880 | PROVIDING BOOT DATA IN A CLUSTER NETWORK ENVIRONMENT - A computer cluster includes a group of connected computers that work together essentially as a single system. Each computer in the cluster is called a node. Each node has a boot device configured to load an image of an operating system into the node's main memory. Sometimes the boot device of a first node experiences a problem that prevents the operating system from loading. This can affect the entire cluster. Some aspects of the disclosure, however, are directed to operations that determine the problem with the first node's boot device based on a communication sent via a first communications network. Further, the operations can communicate to the first node a copy of boot data from a second node's boot device. The copy of the boot data is sent via a second communications network different from the first communications network. The copy of the boot data can solve the first boot device's problem. | 10-22-2015 |
20150293708 | Connectivity-Aware Storage Controller Load Balancing - A system and method for connectivity-aware assignment of volumes among the storage controllers of a storage system is provided. In some embodiments, during a discovery phase, a connectivity metric is determined from a device discovery command. The connectivity metric is recorded into a data structure that identifies a plurality of hosts and a plurality of storage controllers of a storage system. In response to the determining of the connectivity metric, a storage controller ownership of a first volume is changed to improve connectivity between a host of the plurality of hosts and the first volume. In some such embodiments, a storage controller ownership of a second volume is changed to balance load among the plurality of storage controllers, and the discovery phase is, in part, a response to the change in the storage controller ownership of the second volume. | 10-15-2015 |
20150288753 | REMOTE MONITORING POOL MANAGEMENT - One or more techniques and/or systems are provided for remotely and/or automatically managing a monitoring pool of management servers configured to monitor resources, such as storage devices. For example, a monitoring installer package may be sent from a remote source to a management server for remote installation of a monitoring component capable of monitoring resources. The monitoring installer package may be remotely executed from the remote source to install the monitoring component on the management server. The management server may be assigned to the monitoring pool, and may be configured to monitor, utilizing the monitoring component, a set of resources of a resource pool. In this way, management servers may be remotely added to and/or removed from the monitoring pool. Load balancing may be remotely performed for the management servers assigned to the monitoring pool. | 10-08-2015 |
20150286409 | STORAGE SYSTEM CONFIGURATION ANALYSIS - In response to a request to perform an analysis of a storage system associated with a device, it is determined that the request indicates at least one of a proposed storage configuration, a configuration validation request, or a set of performance goals. Configuration data associated with the device is determined. The configuration data includes configuration data for an additional device. The analysis of the storage system is performed based, at least in part, on the configuration data associated with the device. Performing the analysis of the storage system comprises querying a database for entries associated with at least one of the device or the additional device. | 10-08-2015 |
20150269045 | PROVIDING DATA INTEGRITY IN A NON-RELIABLE STORAGE BEHAVIOR - In one aspect of the disclosure, progress identifiers (e.g., a plurality of flags) and/or generation numbers are utilized to determine a “correct” non-volatile random access memory (NVRAM) replay source to use during a retried switchover or early switchback. Initially, a switchover sequence is initiated. The switchover sequence includes a replay of logged information to storage devices of an aggregate to ensure data consistency of the aggregate. Progress of the switchover sequence is tracked using the progress identifiers and/or generation numbers. After an interruption during the switchover sequence, switchover is retried or an early switchback is performed. The retried switchover or early switchback decides whether to replay logged information, and, if so, determines an NVRAM replay source to replay logged information from based on states of the progress identifiers and/or comparison of the generation numbers. | 09-24-2015 |
20150269041 | MIRROR VOTE SYNCHRONIZATION - One or more techniques and/or systems are provided for mirror vote synchronization. For example, a first storage device is located at a first storage site, and a second storage device is located at a second storage site. The second storage device is configured according to a data mirroring configuration where data from the first storage device is mirrored to the second storage device. Mirror vote metadata is generated based upon an up-to-date state of the data mirroring configuration. The mirror vote metadata indicates whether the first storage device and/or the second storage device are up-to-date or not. The mirror vote metadata may be replicated between the first storage site and the second storage site. If the first storage site fails, then the second storage site may provide switchover operation using the second storage device based upon the mirror vote metadata. | 09-24-2015 |
20150261811 | METHODS AND SYSTEMS FOR DETECTING DATA CONTAINER MODIFICATION - Methods and system for determining if a data container has been modified are provided. A first data container signature and a second data signature are generated by a storage operating system based on metadata information for the data container. The second data container signature is compared with the first data container signature to determine if the data container has been modified since the first data container signature was generated. | 09-17-2015 |
20150261633 | LIVE NV REPLAY FOR ENABLING HIGH PERFORMANCE AND EFFICIENT TAKEOVER IN MULTI-NODE STORAGE CLUSTER - A live non-volatile (NV) replay technique enables a partner node to efficiently takeover a failed node of a high-availability pair in a multi-node storage cluster by dynamically replaying operations synchronously logged in a non-volatile random access memory (NVRAM) of the partner node, while also providing high performance during normal operation. Dynamic live replay may be effected through interpretation of metadata describing the logged operations. The metadata may specify a location and type of each logged operation within a partner portion of the NVRAM, as well as any dependency among the logged operation and any other logged operations that would impose an ordering constraint. During normal operation, the partner node may consult the metadata to identify dependent logged operations and dynamically replay those operations to satisfy one or more requests. Upon failure of the node, the partner node may replay, in parallel, those logged operations having no imposed ordering constraint, thereby reducing time needed to complete takeover of the failed node. | 09-17-2015 |
20150261597 | SYSTEM AND METHOD FOR STORAGE OF A CORE DUMP ON A REMOTELY CONNECTED STORAGE DEVICE IN A CLUSTER ENVIRONMENT - A system and method for storage of a core dump on a remotely connected storage device in a cluster environment is provided. In response to the need to perform a core dump operation, determination is made whether a local storage disk is available. If no local spare disk is available, other nodes in the cluster are queried via a cluster fabric protocol to identify a spare disk connected to another node of the cluster. The core dump is then performed via a cluster fabric switching network from a failed node to a node hosting a free spare disk. | 09-17-2015 |
20150261558 | METHOD AND SYSTEM FOR REPLICATING VIRTUAL MACHINES - Methods and systems for replicating a virtual machine and its associated data containers are provided. The virtual machine is placed in an inactive state and a replication directory is generated for cloning each data container from an active directory to the replication directory. The clone of each data container references a physical location where data associated with each data container is stored; and thereafter, the virtual machine is placed in an active state after the cloning is completed. | 09-17-2015 |
20150261524 | MANAGEMENT PACK SERVICE MODEL FOR MANAGED CODE FRAMEWORK - One or more techniques and/or systems are provided for generating a class based upon a management pack and/or for generating a management pack based upon a class. For example, a management pack may comprise an object definition of an object that may be monitored by an operating system monitoring component (e.g., a storage device object may be stored within a database by the operating system monitoring component for monitoring of a storage device). The object definition may be extracted from the management pack and may be used to generate a class for the object. Fields, properties, methods, relationships, and/or other information may be generated for inclusion within the class based upon the object definition. The class may be formatted according to a managed code programming language (e.g., C#) and/or exposed through a software programming framework (e.g., .NET). | 09-17-2015 |
20150254319 | METHODS AND SYSTEMS FOR REPLICATING AN EXPANDABLE STORAGE VOLUME - Machine implemented method and system for generating a disaster recovery copy of an expandable storage volume having a namespace for storing information for accessing data objects stored at a data constituent volume is provided. A transfer operation for transferring a point in time copy of the expandable storage volume from a first location to a second location is generated. Information regarding the expandable storage volume from the first location is retrieved and a destination expandable storage volume is resized to match components of the expandable storage volume at the first location. Thereafter, the point in time copy of the expandable storage volume from the first location to the second location is transferred and configuration information regarding the point in time copy is copied from the first location to the second location; a data structure for storing information regarding the transferred point in time copy of the expandable storage volume is updated. | 09-10-2015 |
20150254152 | SYSTEM AND METHOD FOR IDENTIFYING UNDERUTILIZED STORAGE CAPACITY - Described herein is a system and method for detecting underutilized capacity within a storage system environment. The technique comprises collecting performance data of various storage objects within a storage system environment for various performance measures at designated time intervals. The collected performance data may be formatted and stored to a database. One or more parameters may be received specifying at least one performance measure, at least one threshold value, and/or at least one time period. The performance data for target storage objects may be analyzed according to the received parameters to determine any underutilized storage objects. A report may be generated according to the parameters listing the storage objects and address locations of any underutilized storage objects. The report may comprise various information corresponding to the underutilized storage object, such as the business units, tiers, data centers, and levels of service they are associated with. | 09-10-2015 |
20150254020 | BACKGROUND CHECKING FOR LOST WRITES AND DATA CORRUPTION - Examples described herein include a system for storing data. The data storage system stores data in one or more storage locations of a storage drive and generates context information that identifies the data associated with each of the one or more storage locations. The context information is stored in a data buffer, and may include at least one of: an index node, a file block number, or a generation count. Further, the data buffer may be a FIFO circular buffer. The data storage system then uses the context information in the data buffer to verify the data stored in the one or more storage locations during an idle time of the storage drive. | 09-10-2015 |
20150248466 | DATA TRANSFER BETWEEN STORAGE SYSTEMS USING DATA FINGERPRINTS - A system and method for data replication is described. A destination storage system receives a message from a source storage system as part of a replication process. The message includes an identity of a first file, information about where the first file is stored in the source storage system, a name of a first data being used by the first file and stored at a first location of the source storage system, and a fingerprint of the first data. The destination storage system determines that a mapping database is unavailable or inaccurate, and accesses a fingerprint database using the fingerprint of the first data received with the message to determine whether data stored in the destination storage system has a fingerprint identical to the fingerprint of the first data. | 09-03-2015 |
20150248339 | SYSTEM AND METHOD FOR ANALYZING A STORAGE SYSTEM FOR PERFORMANCE PROBLEMS USING PARAMETRIC DATA - Analysis is performed on a collection of data that is recorded for the storage system during a first time frame. The recorded collection of data includes a plurality of performance parameters that are determined from, for example, diagnostic tools that continually operate on the storage system. A set of baseline values are determined for each of the plurality of performance parameters by analyzing the recorded collection of data from an older portion of the time frame. For each parameter, a set of performance parameter values obtained from a recent portion of the time frame is compared to a corresponding baseline value of that performance parameter. From performing the comparison, one or more anomalies that are indicative of a particular problem on the storage system are determined for one or more of the plurality of performance parameters. | 09-03-2015 |
20150244704 | TECHNIQUES TO AUTHENTICATE USER REQUESTS INVOLVING MULTIPLE APPLICATIONS - Techniques to authenticate user requests involving multiple applications are described. An apparatus may comprise a logic circuit, and a user interface component operative on the logic circuit to present to a user content from a primary application, handle user commands directed to the primary application, and verify the user to a secondary application using an identifier value that is generated by the primary application for authenticating the user. In one embodiment, the user interface component submits the identifier value to the secondary application in a request for certain content. After determining whether the identifier value is valid, the secondary application provides the requested content or deny the user's request. Other embodiments are described and claimed. | 08-27-2015 |
20150242389 | TECHNIQUES TO IDENTIFY USER INTERFACE ELEMENTS ASSOCIATED WITH MODEL VIOLATION EVENTS - Techniques to identify user interface elements associated with model violation events. These techniques may involve a user interface component configured to perform client-side validation of data objects that are generated by an application running on a client device. This application may communicate with another application operative on a server and the client device. The application may generate a user interface to facilitate user inputs into user interface elements. The server may provide the client device with validation logic that is operative to process any input data directed towards the application via the user interface and identify any violation event of a model shared between the server and the client device. | 08-27-2015 |
20150242256 | TECHNIQUES TO FACILITATE COMMUNICATION ACROSS DOMAINS - Techniques to facilitate communication across domains are described. An apparatus may comprise a logic circuit, and a user interface component operative on the logic circuit to present to enable cross-origin communication between applications in different domains by processing a message directed towards an application to verify an origin of the message. If the origin is trusted, user interface component transforms the message into a request indicating a trusted domain and communicates the request to the application. The application performs various tasks in accordance with the request and returns a response to the user interface component. Other embodiments are described and claimed. | 08-27-2015 |
20150242139 | SYSTEM AND METHOD FOR TRANSPOSED STORAGE IN RAID ARRAYS - A system and method of transposed storage in RAID arrays includes a storage manager with an interface for receiving storage requests associated with multi-segment blocks stored in a storage array, a controller for processing the received storage requests and controlling the storage manager, and a write request handler. The storage array includes a plurality of storage devices for which consecutive logical addresses are assigned to different ones of the storage devices. The write request handler is configured to process block write requests and send segment write requests to the storage array based on the write requests so that each segment of a given multi-segment block is written to a single respective one of the storage devices in the storage array. In some embodiments, the storage manager further includes a read request handler configured to determine logical addresses of requested segments and send segment read requests to the storage array. | 08-27-2015 |
20150242138 | Systems and Methods for a Storage Array-Managed Initiator Cache - A system and method for performing protected-mode data transactions using an initiator cache is provided. In some embodiments, a protected-mode data transaction is received from an initiator. It is determined that the initiator includes an initiator cache having a cache entry associated with the data transaction. A storage controller of a storage system performs the data transaction in conjunction with a storage device such that the performing of the data transaction is initiated before any writing of the data transaction to a cache of any storage controller of the storage system other than the storage controller based on the determination that the initiator includes the cache entry. In some such embodiments, when it is determined the data transaction failed to complete, a request is provided to the initiator to recreate the transaction from the cache entry in the initiator cache. | 08-27-2015 |
20150237135 | SYSTEM AND METHOD FOR MAINTAINING CACHE COHERENCY - Described herein is a system and method for maintaining cache coherency. The system and method may maintain coherency for a cache memory that is coupled to a plurality of primary storage devices. The system and method may write data to the cache memory and associate the data with a cache generation identification (ID). A different cache generation ID may be associated with each new set of data that is written to the cache memory. The cache generation ID may be written to the primary storage devices. A backup restore operation may be performed on one of the primary storage devices and a backup restore notification may be received. In response to the notification, the system and method may compare the cache generation ID with the generation ID stored on the restored primary storage device and invalidate data stored on the cache memory for the restored primary storage device. | 08-20-2015 |
20150234846 | PARTITIONING FILE SYSTEM NAMESPACE - Technology is disclosed for partitioning a namespace of a large scale data storage service. In various embodiments, the technology receives a file path; employs a hashing function to produce a hash value for the received file path; and identifies a name node handling the produced hash value, wherein the name node is configured to communicate with one or more data nodes for handling file requests on the file path. | 08-20-2015 |
20150234845 | SUBPARTITIONING OF A NAMESPACE REGION - Technology is disclosed for subpartitioning a namespace region. In various embodiments, the technology creates at least two subpartitions from a partitioned namespace, wherein the partitioned namespace corresponds to at least two different name nodes of the large scale data storage service; and stores data corresponding to each subpartition as a separate file, e.g., so that it can be easily mounted by an operating system executed by a different computing device. | 08-20-2015 |
20150234703 | SYSTEM AND METHOD TO PERFORM A BACKUP OPERATION USING ONE OR MORE ATTRIBUTES OF FILES - A system and method for performing a backup operation is described. A source system determines a set of files to be backed up at a backup system. Based on one or more attributes of each file of the set of files, the source system determines an order in which to perform the backup operation for the set of files. The order specifies an individual file of the set of files to be backed up before another file of the set of files. The source system communicates with the backup system to perform the backup operation of the set of files in the determined order. | 08-20-2015 |
20150234698 | METHODS FOR DIAGNOSING HARDWARE COMPONENT FAILURE AND DEVICES THEREOF - A method, non-transitory computer readable medium, and storage server device that determines with a service processor when a system processor has experienced an error, the system processor coupled to a data storage device via a system port of the data storage device. Diagnostic information is retrieved with the service processor from the data storage device via a service port of the data storage device, when the system processor is determined to have experienced an error. The diagnostic information includes error or exception information associated with one or more hardware components. The retrieved diagnostic information is output by the service processor. | 08-20-2015 |
20150227436 | TECHNIQUES FOR DEDUPLICATION OF MEDIA CONTENT - Examples are disclosed for identifying duplicated media content in a plurality of media files. In some examples, according to a media file format, media content sequences may be located and duplicated media content sequences identified. For these examples, at least a portion of the identified duplicated media content sequences may then be deleted or not stored at a storage system. Other examples are described and claimed. | 08-13-2015 |
20150227318 | DISTRIBUTED CONTROL PROTOCOL FOR HIGH AVAILABILITY IN MULTI-NODE STORAGE CLUSTER - A distributed control protocol dynamically establishes high availability (HA) partner relationships for nodes in a cluster. A HA partner relationship may be established by copying (mirroring) information maintained in a non-volatile random access memory (NVRAM) of a node over a HA interconnect to the NVRAM of a partner node in the cluster. The distributed control protocol leverages a Cluster Liveliness and Availability Manager (CLAM) utility of a storage operating system executing on the nodes to rebalance NVRAM mirroring and alter HA partner relationships of the nodes in the cluster. The CLAM utility is configured to maintain various cluster related issues, such as CLAM quorum events, addition or subtraction of a node in the cluster and other changes in configuration of the cluster. Notably, the CLAM utility is an event based manager that implements the control protocol to keep the nodes informed of any cluster changes through event generation and propagation. | 08-13-2015 |
20150220438 | DYNAMIC HOT VOLUME CACHING - Examples described herein include a computer system, implemented on a node cluster including at least a first node and a second node. The computer system monitors data access requests received by the first node. Specifically, the computer system monitors data access requests that correspond with operations to be performed on a data volume stored on the second node. The system determines that a number of the data access requests received by the first node satisfies a first threshold amount and, upon making the determination, selectively provisions a cache to store a copy of the data volume on the first node based, at least in part, on a system load of the first node. | 08-06-2015 |
20150215406 | EXTERNALLY INITIATED APPLICATION SESSION ENDPOINT MIGRATION - In storage networks (e.g., SAN and NAS), various reasons can arise for migrating an application layer communication session endpoint to a different host. To achieve scalability and robustness, the migration can be enacted externally and carried out at a middlebox at the transport layer. When a migration is triggered to migrate an application layer communication session endpoint from a host A to a host B, the middlebox coordinates network address translation with a transport protocol reset mechanism to switch the connection to host B and close the connection on host A with minimal disruption to the non-migrating application layer communication session endpoint using the connection. At the application layer, the non-migrating application layer communication session endpoint will initiate a new connection in response to detecting the reset, and retry any operation that was aborted as a result of the connection switch. | 07-30-2015 |
20150213047 | COALESCING SEQUENCES FOR HOST SIDE DEDUPLICATION - One or more techniques and/or systems are provided for coalescing sequences for host side deduplication. A host device may receive a write command from a client device. The write command may comprise a set of data blocks that are to be written to a storage device. The host device may perform host side deduplication by identifying one or more data blocks of the write command that comprise data already stored by the storage device as storage device data blocks. The host device may evaluate the one or more data blocks to identify adjacent data blocks. The host device may coalesce adjacent data blocks into a deduplication sequence. The host device may issue a host side write deduplication command to the storage device (e.g., through a storage controller) based upon the deduplication sequence, which may improve performance by mitigating a number of commands issued to and/or processed by the storage device. | 07-30-2015 |
20150213011 | METHOD AND SYSTEM FOR HANDLING LOCK STATE INFORMATION AT STORAGE SYSTEM NODES - Methods and systems for handling lock state information between a first storage system node and a second storage system node coupled via a network link are provided. The second storage system node stores lock state information at a storage device previously managed by the first storage system node and notifies the first storage system node of a storage device location where the lock state information is stored. The second storage system node then transfers ownership of the storage device to the first storage system node that copies the lock state information from the storage device location to a memory location managed by the first storage system node. The first storage system node uses the lock state information to reconstruct any locks for storage space presented to a client and then processes client requests for reading and writing information at the storage device. | 07-30-2015 |
20150212943 | METHODS FOR COMBINING ACCESS HISTORY AND SEQUENTIALITY FOR INTELLIGENT PREFETCHING AND DEVICES THEREOF - A method, non-transitory computer readable medium, and device that prefetchs includes identifying a candidate data block from one of one or more immediate successor data blocks. The identified candidate data block has a historical access probability value from an initial accessed data block which is higher than a historical access probability value for each of the other immediate successor data blocks and is above a prefetch threshold value. The identifying is repeated until a next identified candidate data block has the historical access probability value below the prefetch threshold value. In the repeating, the identifying next immediate successor data blocks is from the previously identified candidate data block and the historical access probability value for each of the next immediate successor data blocks is determined from the originally accessed data block. The identified candidate data block with the historical access probability value above the prefetch threshold value is fetched. | 07-30-2015 |
20150212749 | METHODS FOR MANAGING READ ACCESS OF OBJECTS IN STORAGE MEDIA AND DEVICES THEREOF - 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 availabilty 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. | 07-30-2015 |
20150205727 | SET-ASSOCIATIVE HASH TABLE ORGANIZATION FOR EFFICIENT STORAGE AND RETRIEVAL OF DATA IN A STORAGE SYSTEM - In one embodiment, an extent key reconstruction technique is provided for use with a set of hash tables embodying metadata. The metadata includes an extent key associated with a storage location on storage devices for write data of one or more write requests organized into an extent. Each hash table has a plurality of entries, and each entry includes a plurality of slots. A first field of the extent key is recreated implicitly from an entry in a first address space portion of a hash table. A second field of the extent key is stored in the slot. A third field of the extent key is stored in the slot. A fourth field of the extent key is recreated implicitly from the hash table of the set of hash tables. | 07-23-2015 |
20150205680 | EXTENT METADATA UPDATE LOGGING AND CHECKPOINTING - In one embodiment, a cluster uses an extent store layer and a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents. One or more non-volatile logs (NVLogs) are maintained in the cluster. The one or more NVLogs include an extent store layer log maintained by the extent store layer. The extent store layer log records changes to the set of hash tables as a plurality of log stream structures, where each log stream structure is associated with a hash table. One or more storage devices of the cluster are organized as a plurality of log streams, where each log stream is associated with a corresponding log stream structure of the extent store layer log. | 07-23-2015 |
20150205669 | FILE SYSTEM DRIVEN RAID REBUILD TECHNIQUE - In one embodiment, a file system driven RAID rebuild technique is provided. A layered file system may organize storage of data as segments spanning one or more sets of storage devices, such as solid state drives (SSDs), of a storage array, wherein each set of SSDs may form a RAID group configured to provide data redundancy for a segment. The file system may then drive (i.e., initiate) rebuild of a RAID configuration of the SSDs on a segment-by-segment basis in response to cleaning of the segment (i.e., segment cleaning). Each segment may include one or more RAID stripes that provide a level of data redundancy (e.g., single parity RAID 5 or double parity RAID 6) as well as RAID organization (i.e., distribution of data and parity) for the segment. Notably, the level of data redundancy and RAID organization may differ among the segments of the array. | 07-23-2015 |
20150205668 | FILE SYSTEM DRIVEN RAID REBUILD TECHNIQUE - In one embodiment, one or more storage arrays of solid state drives (SSDs) that include a plurality of segments are organized as one or more redundant array of independent disks (RAID) groups, where the RAID groups provides data redundancy for the segments. A node executing a layered file system of a storage input/output (I/O) stack performs segment cleaning to clean the segments. It further initiates rebuild of a RAID configuration of the SSDs on a segment-by-segment basis in response to the segment cleaning. In such a configuration, each segment includes one or more RAID stripes that provide a level of data redundancy as well as RAID organization for the segment. | 07-23-2015 |
20150205663 | CLUSTERED RAID DATA ORGANIZATION - In one embodiment, a node of a cluster having a plurality of nodes, executes a storage input/output (I/O) stack having a redundant array of independent disks (RAID) layer. The RAID layer organizes solid state drives (SSDs) within one or more storage arrays as a plurality of RAID groups associated with one or more extent stores. The RAID groups are formed from slices of storage spaces of the SSDs instead of entire storage spaces of the SSDs. This provides for RAID groups to co-exist on a same set of the SSDs. | 07-23-2015 |
20150205646 | CONTEXT AWARE SYNCHRONIZATION - Examples are disclosed for context aware synchronization. A mutual exclusion (mutex) lock object or monitor may be created to enable threads to acquire a lock to access a shared data structure when executing a critical section of code. The mutex lock object may have at least a first input associated with a context via which the one or more threads execute the given critical block of code. The mutex lock object may then be stored in a shared memory and an indication as the where the mutex lock object was stored in the shared memory may be provided to a thread. The thread may use the mutex lock object to acquire the lock to access the shared data structure. Other mutex lock objects may be created in a similar manner to allow additional threads to acquire locks to access the shared data structure. Other examples are described and claimed. | 07-23-2015 |
20150201017 | METHOD AND SYSTEM FOR PRESENTING STORAGE IN A CLOUD COMPUTING ENVIRONMENT - Methods and systems for presenting a plurality of options to a client for using storage space in a cloud computing environment are provided. Each option is associated with a latency target and/or a throughput target. The latency target provides a delay in processing input/output (I/O) requests and the throughput target provides a number of I/O requests that are processed within a unit of time. An existing volume is assigned to the client when the existing volume meets a guaranteed latency target and/or a guaranteed throughput target for an option selected from the plurality of options, otherwise a new volume is allocated. | 07-16-2015 |
20150201003 | SYSTEM AND METHOD FOR UTILIZING SCRIPT LOGIC IN CONNECTION WITH AN INSTALLED ENTERPRISE SERVICE APPLICATION - A client application is installed on a computing device. The client application is operable to implement a set of services for use with an enterprise network. The computing device accesses the enterprise network using the client application, and receives and processes script logic from the enterprise network. The script logic is executed through the client application to provide at least one of a user-interface or workflow for the set of services. | 07-16-2015 |
20150199388 | METHOD AND SYSTEM FOR MONITORING AND ANALYZING QUALITY OF SERVICE IN A STORAGE SYSTEM - Methods and systems for identifying a victim storage volume from among a plurality of storage volumes based on a comparison of current Quality of Service (QOS) data with a dynamic threshold value that is based on historical QOS collected data for the plurality of storage volumes are provided. A performance manager collects the current and historical QOS data from a storage operating system of the storage system, which includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. The current and historical QOS data for the resources used by the victim storage volume are retrieved and compared with the current QOS data of each resource to an expected range based on the historical QOS data. Another storage volume is identified as a bully when its usage of a resource in contention contributes to creating the victim storage volume. | 07-16-2015 |
20150199354 | METHOD AND SYSTEM FOR OPTIMIZING TRAVERSAL AND STORAGE OF DIRECTORY ENTRIES OF A STORAGE VOLUME - Machine implemented method and system for adding a directory entry to an existing directory data structure maintained by a storage system for storing a plurality of directory entries are provided. A first level storage block is used for storing a pointer to a first hash value from among a plurality of hash values. A new third level storage block is allocated when a second level storage block has reached a threshold level for storing pointers to hash values for the plurality of directory entries. A group of pointers including a pointer to a second hash value from among the plurality of hash values is selected. The group of pointers is stored in the third level storage block with a pointer to a third hash value from among the plurality of hash values such that the directory entry can be searched using the plurality of hash values. | 07-16-2015 |
20150199253 | METHOD AND SYSTEM FOR COLLECTING AND PRE-PROCESSING QUALITY OF SERVICE DATA IN A STORAGE SYSTEM - Methods and systems for collecting and processing quality of service (QOS) data are provided. A collection module receives the QOS data from a storage operating system for a plurality of storage volumes at time t | 07-16-2015 |
20150199240 | METHOD AND SYSTEM FOR TRACKING INFORMATION TRANSFERRED BETWEEN STORAGE SYSTEMS - Methods and systems for tracking information that is transferred from a source to a destination storage system are provided. The source storage system maintains a first data structure for indicating that a storage block has been transferred. The destination storage system receives the storage block and updates a second data structure to indicate that the storage block has been received. The first data structure and the second data structure are compared to determine that the storage block was successfully transferred from the source storage system and received by the destination storage system. | 07-16-2015 |
20150199148 | METHOD AND SYSTEM FOR MONITORING AND ANALYZING QUALITY OF SERVICE IN A STORAGE SYSTEM - Methods and systems for monitoring quality of service (QOS) data for a plurality of storage volumes from a storage operating system of a storage system are provided. A performance manager collects the QOS data from the storage operating system and the QOS data includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. An expected range for future QOS data is generated based on the collected QOS data. The QOS data is monitored for each storage volume for determining whether a current QOS data for each storage volume is within the expected range. | 07-16-2015 |
20150193338 | FLASH OPTIMIZED, LOG-STRUCTURED LAYER OF A FILE SYSTEM - In one embodiment, storage arrays of solid state drives (SSDs) coupled to a node are organized as redundant array of independent disks (RAID) groups. Each storage array includes one or more segments. Each segment has contiguous free space on the SSDs. Data and metadata is organized on the SSDs with a sequential log-structured layout, with the data organized as variable-length extents of one or more logical units (LUNs). Segment cleaning is performed to clean a selected segment by moving the extents of the selected segment that contain valid data to one or more different segments so as to free the selected segment. Additional extents are written as a sequence of contiguous range write operations to the entire free segment with temporal locality to reduce data relocation within the SSDs as a result of the write operations. | 07-09-2015 |
20150193337 | NVRAM CACHING AND LOGGING IN A STORAGE SYSTEM - In one embodiment, a node coupled to one or more solid state drives (SSDs) executes a storage input/output (I/O) stack having a plurality of layers, including a persistence layer. The node includes a non-volatile random access memory (NVRAM). A portion of the NVRAM is configured as a write-back cache to store write data associated with one or more write requests. The persistence layer is configured to organize the write data into extents that are written back to the one or more SSDs in any order. The write data is preserved in the write-back cache until each extent is safely and successfully stored on the one or more SSDs in an event of a power loss. | 07-09-2015 |
20150193170 | GLOBAL IN-LINE EXTENT-BASED DEDUPLICATION - In one embodiment, a layered file system includes a volume layer and an extent store layer configured to provide sequential log-structured layout of data and metadata on solid state drives (SSDs) of one or more storage arrays. The data is organized as variable-length extents of one or more logical units (LUNs). The metadata includes volume metadata mappings from offset ranges of a LUN to extent keys and extent metadata mappings of the extent keys to storage locations of the extents on the SSDs. The extent store layer maintaining the extent metadata mappings determines whether an extent is stored on a storage array, and, in response to determination that the extent is stored on the storage array, returns an extent key for the stored extent to the volume layer to enable global inline de-duplication that obviates writing a duplicate copy of the extent on the storage array. | 07-09-2015 |
20150193169 | GLOBAL IN-LINE EXTENT-BASED DEDUPLICATION - In one embodiment, a layered file system of a storage input/output (I/O) stack executes on one or more nodes of a cluster. The layered file system includes a flash-optimized, log-structured layer configured to provide sequential storage of data and metadata (i.e., a log-structured layout) on solid state drives (SSDs) of storage arrays in the cluster to reduce write amplification, while leveraging a data de-duplication feature of the storage I/O stack. An extent store layer of the file system performs and maintains mappings of the extent keys to SSD storage locations, while a volume layer of the file system performs and maintains mappings of the LUN offset ranges to the extent keys. Separation of the mapping functions between the volume and extent store layers enables different volumes with different offset ranges to reference a same extent key (and thus a same extent). | 07-09-2015 |
20150193168 | CLUSTERED RAID ASSIMILATION MANAGEMENT - In one embodiment, a node is a member of a cluster having a plurality of nodes, where each node is coupled to one or more storage arrays of solid state drives (SSDs) that serve as main storage. The node executed a storage input/output (I/O) stack having a redundant array of independent disks (RAID) layer that organizes the SSDs within the one or more storage arrays as one or more RAID groups. Configuration information is stored as a cluster database. The configuration information identifies (i) one or more RAID groups associated with an extent store, (ii) SSDs within each RAID group, and (iii) an identification of a node that owns the extent store. The cluster database is stored separate and apart from the main storage. | 07-09-2015 |
20150193156 | NVRAM DATA ORGANIZATION USING SELF-DESCRIBING ENTITIES FOR PREDICTABLE RECOVERY AFTER POWER-LOSS - In one embodiment, a node coupled to a plurality of solid state drives (SSDs) executes a storage input/output (I/O) stack having a plurality of layers. Write data associated with one or more write requests to the SSDs is stored in a volatile log. The write data is organized into one or more extents that are copied to the SSDs. The volatile log has a front-end and a set of records with metadata. The metadata includes a head offset referencing an initial record and a tail offset referencing a final record. A portion of the one or more write requests including the write data is copied to a non-volatile log maintained in a non-volatile random access memory (NVRAM). The front-end and the set of records from the volatile log are copied, but the head offset and the tail offset are not, to reduce an amount of metadata copied to the NVRAM. | 07-09-2015 |
20150188572 | Variable Speed Chien Search Architecture - Examples are disclosed for using or designing Chien search circuitry to locate errors for error correction code (ECC) encoded data. In some examples, an error locator polynomial (ELP) may be received that indicates a number of possible error locations for ECC encoded data. Chien search circuitry may be designed such that error locations are found based on the received ELP within one or more passes through the search circuitry. The design of the Chien search circuitry to accommodate both an average expected number of error locations for received ELPs and a worst case number of error locations for received ELPs. Other examples are described and claimed. | 07-02-2015 |
20150185799 | POWER MANAGEMENT TECHNIQUES FOR COMPUTER-READABLE STORAGE DEVICES - Improved power management techniques for computer-readable storage devices are described. In one embodiment, for example, an apparatus may comprise a plurality of logical storage devices and a controller to manage operations of the plurality of logical storage devices, the controller comprising a configuration component to configure a global power consumption threshold defining an overall power consumption budget for the plurality of logical storage devices, a tracking component to maintain a global power consumption tally comprising an estimated total power consumption level for the plurality of logical storage devices, and an arbitration component to resolve an operation request based on the global power consumption threshold and the global power consumption tally. Other embodiments are described and claimed. | 07-02-2015 |
20150178207 | SYSTEM AND METHOD FOR CACHE MONITORING IN STORAGE SYSTEMS - A system and method of cache monitoring in storage systems includes storing storage blocks in a cache memory. Each of the storage blocks is associated with status indicators. As requests are received at the cache memory, the requests are processed and the status indicators associated with the storage blocks are updated in response to the processing of the requests. One or more storage blocks are selected for eviction when a storage block limit is reached. As ones of the selected one or more storage blocks are evicted from the cache memory, the block counters are updated based on the status indicators associated with the evicted storage blocks. Each of the block counters is associated with a corresponding combination of the status indicators. Caching statistics are periodically updated based on the block counters. | 06-25-2015 |
20150178150 | Techniques for Assessing Pass/Fail Status of Non-Volatile Memory - Examples are disclosed for assessing pass/fail status of non-volatile memory. In some examples, information may be received to indicate a block having memory pages associated with non-volatile memory cells. The information may indicate at least some of the memory pages have bit errors in excess of an error correction code (ECC) ability to correct. For these examples, the block may be selected for read testing. Read testing may include programming the memory pages with a known pattern and waiting a period of time. Following the period of time each memory page may be read and if a resulting pattern read matches the known pattern programmed to each memory page, the memory page passes. The block may be taken offline if the number of passing memory pages is below a pass threshold number. Other examples are described and claimed. | 06-25-2015 |
20150178014 | PARALLEL MIGRATION OF DATA OBJECTS TO CLUSTERED STORAGE - Data objects can be migrated, while live, to virtualized clustered storage arrays in an efficient manner to allow for efficient transition from non-clustered storage to the virtualized clustered storage arrays. A data migration specification indicates data objects to be migrated and parameters for the migration. The parameters include a source of a data object, a destination of the data object in the virtualized clustered storage arrays, and a transfer space. A migration engine validates and parses the data migration specification. For each unique association of source, destination, and transfer space, the migration engine instantiates a migration process that drives and monitors migration of the corresponding data object. The migration processes operate in parallel for migration of the specified data objects into the virtualized clustered storage arrays. | 06-25-2015 |
20150160864 | SYSTEMS AND METHODS FOR HIGH AVAILABILITY IN MULTI-NODE STORAGE NETWORKS - Systems and methods for increasing high availability of data in a multi-node storage network are provided. Aspects may include allocating data and mirrored data associated with nodes in the storage network to storage units associated with the nodes. Upon identifying additional nodes added to the storage network, data and mirrored data associated with the nodes may be dynamically reallocated to the storage units. Systems and methods for high availability takeover in a high availability multi-node storage network are also provided. Aspects may include detecting a fault associated with a node in the storage network, and initiating a takeover routine in response to detecting the fault. The takeover routine may be implemented to reallocate data and mirrored data associated with the nodes in the storage network among the operable nodes and associated storage units. | 06-11-2015 |
20150149416 | SYSTEM AND METHOD FOR NEGOTIATED TAKEOVER OF STORAGE OBJECTS - A system and method of negotiated takeover of storage objects includes one or more processors, a storage controller, and memory coupled to the one or more processors. The memory stores a data structure that includes information about a plurality of storage objects manageable by the storage controller. The storage controller is configured to assume, one by one, current ownership of a first subset of the storage objects and assume, concurrently, current ownership of a second subset of the storage objects. The first subset of storage objects and the second subset of storage objects are currently owned by a second storage server coupled to the storage server. In some embodiments, current ownership of the first subset of storage objects is transferred by iteratively detecting a particular storage object from the first subset of the storage objects whose current ownership can be assumed and bringing the particular storage object online. | 05-28-2015 |
20150143179 | System and Method for Progressive Fault Injection Testing - A system and method for performing a progressive fault injection process to verify software is provided. In some embodiments, the method comprises loading a software product into the memory of a testbed computing system, wherein the software product includes a function and a statement that calls the function. A data structure is updated based on an error domain of the function. The calling statement is executed for each of one or more error return codes of the error domain. For each iteration of the execution, a call of the function by the calling statement is detected, and, in response, an error return code of the one or more error return codes is provided in lieu of executing the function. The software product is monitored to determine a response to the provided error return code. In some embodiments, the error return code to provide is determined by querying the data structure. | 05-21-2015 |
20150143053 | SYSTEM AND METHOD FOR IMPROVED STORAGE REQUEST HANDLING IN HOST-SIDE CACHES - A system and method of improved storage request handling in host-side caches includes a host-side cache with a cache controller, a plurality of request queues, and a cache memory. The cache controller is configured to receive a storage request, assign a priority to the storage request based on a queuing policy, insert the storage request into a first request queue selected from the plurality of request queues based on the assigned priority, extract the storage request from the first request queue when the storage request is a next storage request to fulfill based on the assigned priority, forward the storage request to a storage controller, and receive a response to the storage request from the storage controller. The queuing policy is implemented using a rule-based policy engine. In some embodiments, the cache controller is further configured to update one or more monitoring metrics based on processing of the storage request. | 05-21-2015 |
20150142817 | DENSE TREE VOLUME METADATA UPDATE LOGGING AND CHECKPOINTING - In one embodiment, a node of a cluster executing a storage input/output (I/O) stack having a volume layer, stores a multi-level dense tree metadata structure. Each level of the dense tree metadata structure includes volume metadata entries for storing volume metadata. One or more non-volatile logs (NVLogs) are updated. The one or more NVLogs including a volume layer log configured to record changes to the volume metadata, wherein volume metadata entries inserted into a top-level of the dense tree metadata structure are recorded in the volume layer log. The node writes volume metadata entries from the volume layer log to one or more storage devices to be stored as extents. | 05-21-2015 |
20150134879 | SNAPSHOTS AND CLONES OF VOLUMES IN A STORAGE SYSTEM - In one embodiment, a node coupled to one or more storage devices executes a storage input/output (I/O) stack having a volume layer that manages volume metadata. The volume metadata is organized as one or more dense tree metadata structures having a top level residing in memory and lower levels residing on the one or more storage devices. The dense tree metadata structures include a first dense tree metadata structure associated with a parent volume and a second dense tree metadata structure associated with a copy of the parent volume. The top level of the first dense tree metadata structure may be copied to the second dense tree metadata structure. The lower levels of the first dense tree metadata structure are initially shared with the second dense tree metadata structure. The shared lower levels may eventually be split as the parent volume diverges from the copy of the parent volume. | 05-14-2015 |
20150134616 | SNAPSHOTS AND CLONES OF VOLUMES IN A STORAGE SYSTEM - In one embodiment, snapshots and/or clones of storage objects are created and managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Illustratively, the snapshots and clones may be represented as independent volumes, and embodied as respective read-only copies (snapshots) and read-write copies (clones) of a parent volume. Volume metadata is illustratively organized as one or more multi-level dense tree metadata structures, wherein each level of the dense tree metadata structure (dense tree) includes volume metadata entries for storing the metadata. Each snapshot/clone may be derived from a dense tree of the parent volume (parent dense tree). Portions of the parent dense tree may be shared with the snapshot/clone. | 05-14-2015 |
20150127905 | Cache Modeling Using Random Sampling and a Timestamp Histogram - A system and method for determining an optimal cache size of a computing system is provided. In some embodiments, the method comprises selecting a portion of an address space of a memory structure of the computing system. A workload of data transactions is monitored to identify a transaction of the workload directed to the portion of the address space. An effect of the transaction on a cache of the computing system is determined, and, based on the determined effect of the transaction, an optimal cache size satisfying a performance target is determined. In one such embodiment the determining of the effect of the transaction on a cache of the computing system includes determining whether the effect would include a cache hit for a first cache size and determining whether the effect would include a cache hit for a second cache size different from the first cache size. | 05-07-2015 |
20150120779 | STACK ISOLATION BY A STORAGE NETWORK SWITCH - Technology is disclosed for stack isolation in a storage system including a storage network switch and multiple storage sub-systems (e.g., storage stacks). The storage network switch includes multiple ports and at least one of the ports is configured to dynamically connect to a device that can be either a storage controller device or a storage sub-system. The technology can receive an identification message indicating that a device is connected to a port of a storage network switch, determine based on the identification message at the storage network switch whether the device is a storage controller device or a storage sub-system, and transfer messages between the ports of the storage network switch such that the storage network switch prevents communications between storage sub-systems connected to the storage network switch, but allows communications between the storage sub-systems and storage controller devices connected to the storage network switch. | 04-30-2015 |
20150120747 | TECHNIQUES FOR SEARCHING DATA ASSOCIATED WITH DEVICES IN A HETEROGENEOUS DATA CENTER - Examples are disclosed for searching data associated with devices in a heterogeneous data center. In some examples, data may be gathered for a database. The data may be associated with a heterogeneous data center having devices from multiple vendors. The database may be indexed to link data for a given device to an attribute, association or usage context for the given device. Responsive to a search request, data for a given device from among the devices in the heterogeneous data center may be provided based on a comparison of the search request to the indexed database. Other examples are described and claimed. | 04-30-2015 |
20150113619 | METHODS FOR MONITORING AND CONTROLLING A STORAGE ENVIRONMENT AND DEVICES THEREOF - 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. | 04-23-2015 |
20150113224 | ATOMIC WRITE OPERATIONS FOR STORAGE DEVICES - Atomic write operations for storage devices are implemented by maintaining the data that would be overwritten in the cache until the write operation completes. After the write operation completes, including generating any related metadata, a checkpoint is created. After the checkpoint is created, the old data is discarded and the new data becomes the current data for the affected storage locations. If an interruption occurs prior to the creation of the checkpoint, the old data is recovered and any new is discarded. If an interruption occurs after the creation of the checkpoint, any remaining old data is discarded and the new data becomes the current data. Write logs that indicate the locations affected by in progress write operation are used in some implementations. If neither all of the new data nor all of the old data is recoverable, a predetermined pattern can be written into the affected locations. | 04-23-2015 |
20150113010 | DISTRIBUTED FILE SYSTEM GATEWAY - Technology is disclosed for managing data in a distributed file system (“the technology”). The technology can gather metadata information associated with the data stored within a first file system, store the metadata information in association with a data identifier within a second file system, retrieve the stored metadata information using the data identifier from within the second file system and locate and retrieve the data associated with the metadata information from within first file system. | 04-23-2015 |
20150106343 | TECHNIQUE FOR GLOBAL DEDUPLICATION ACROSS DATACENTERS WITH MINIMAL COORDINATION - A system and method for global data de-duplication in a cloud storage environment utilizing a plurality of data centers is provided. Each cloud storage gateway appliance divides a data stream into a plurality of data objects and generates a content-based hash value as a key for each data object. An IMMUTABLE PUT operation is utilized to store the data object at the associated key within the cloud. | 04-16-2015 |
20150095347 | EXTENT HASHING TECHNIQUE FOR DISTRIBUTED STORAGE ARCHITECTURE - In one embodiment, an extent hashing technique is used to efficiently distribute data and associated metadata substantially evenly among nodes of a cluster. The data may be write data associated with a write request issued by a host and received at a node of the cluster. The write data may be organized into one or more extents. A hash function may be applied to the extent to generate a result which may be truncated or trimmed to generate a hash value. A hash space of the hash value may be divided into a plurality of buckets representative of the write data, i.e., the extents, and the associated metadata, i.e., extent metadata. A number of buckets may be assigned to each extent store instance of the nodes to distribute ownership of the buckets, along with their extents and extent metadata, across all of the extent store instances of the nodes. | 04-02-2015 |
20150095346 | EXTENT HASHING TECHNIQUE FOR DISTRIBUTED STORAGE ARCHITECTURE - In one embodiment, a technique is provided for distributing data and associated metadata within a distributed storage architecture. A set of hash tables that embody mappings of cluster-wide identifiers associated with storage locations are stored for write data of write requests organized into extents. A hash value is generated from a hash function applied to each extent. The hash value is overloaded and used for multiple purposes within the distributed storage architecture, including (i) a remainder computation on the hash value to select a bucket of a plurality of buckets representative of the extents, (ii) a hash table selector of the hash value to select a hash table from the set of hash tables, and (iii) a hash table index computed from the hash value to select an entry from a plurality of entries of the selected hash table having a cluster-wide identifier identifying a storage location for the extent. | 04-02-2015 |
20150085878 | PROTOCOL DATA UNIT INTERFACE - An interface can be designed that efficiently constructs descriptors for streams of protocol data units (PDUs) and provides coherent views of the PDUs and the PDU stream for a requesting application regardless of location within a buffer pool for PDUs. The interface creates a descriptor for each PDU written into the buffer pool and links the descriptors in accordance with the appropriate order of the corresponding PDUs. The interface can create PDU descriptors hierarchically. For instance, a PDU descriptor for a PDU of a layer N protocol can refer to one or more PDU descriptors of a layer N−1 protocol. | 03-26-2015 |
20150082300 | METHOD AND SYSTEM FOR ENABLING AN APPLICATION IN A VIRTUALIZED ENVIRONMENT TO COMMUNICATE WITH MULTIPLE TYPES OF VIRTUAL SERVERS - A method and system are introduced to enable an application in a virtualized environment to communicate with multiple types of virtual servers (e.g., VMware ESX server, Microsoft Virtual Server, etc.), yet without making any source code change to the application. An interface is provided so that an application (e.g., a storage management application) running in a virtual machine is able to communicate with the underlying virtual server to receive information regarding some physical hardware that are not virtualized by the virtual server. For example, such physical hardware may be an iSCSI Host Bus Adapter (iSCSI HBA) or a Fiber Channel Protocol Host Bus Adapter (Fcp HBA). After receiving such information, the application can access the physical hardware to provide services to other applications, such as storage management services. | 03-19-2015 |
20150081981 | GENERATING PREDICTIVE CACHE STATISTICS FOR VARIOUS CACHE SIZES - Technology is disclosed for generating predictive cache statistics for various cache sizes. In some embodiments, a storage controller includes a cache tracking mechanism for concurrently generating the predictive cache statistics for various cache sizes for a cache system. The cache tracking mechanism can track simulated cache blocks of a cache system using segmented cache metadata while performing an exemplary workload including various read and write requests (client-initiated I/O operations) received from client systems (or clients). The segmented cache metadata corresponds to one or more of the various cache sizes for the cache system. | 03-19-2015 |
20150081966 | DENSE TREE VOLUME METADATA ORGANIZATION - In one embodiment, a node coupled to one or more storage devices executes a storage input/output (I/O) stack having a volume layer. The volume layer manages volume metadata embodied as mappings from offsets of a logical unit (LUN) to extent keys associated with storage locations for extents on the one or more storage devices. Volume metadata is maintained as a dense tree metadata structure representing successive points in time. The dense tree metadata structure has multiple levels, wherein a top level of the dense tree metadata structure represents newer volume metadata changes and descending levels of the dense tree metadata structure represent older volume metadata changes. The node accesses a latest version of changes to the volume metadata by searching from the top level to the descending levels in the dense tree metadata structure. | 03-19-2015 |
20150081871 | ACTIVELY RESPONDING TO DATA STORAGE TRAFFIC - Technology is described for actively responding to data storage traffic. The technology can provide an application program interface; receive, via the application program interface, from an application, a command to query a data storage attribute associated with a virtual data storage component; query the associated virtual data storage component; and return to the application a value for the data storage attribute. | 03-19-2015 |
20150081636 | SYSTEMS AND METHODS FOR PROVIDING SNAPSHOTS OF APPLICATIONS TO REMOTE LOCATIONS WITH MINIMAL PERFORMANCE IMPACT - Systems and methods herein obtain snapshots of one or more applications, while having minimal impact on performance of the applications. Embodiments may involve obtaining snapshots of modified application data within a node without disturbing the operations of the application. Systems may be configured to leverage the fast characteristics of local storage devices while utilizing the advantages provided by the remote storage of data. One or more applications may be preconfigured to record data modifications in one or more associated application state storages located on local memory. Further, one or more systems may operate in the background to identify modifications made to the associated application state storages and to determine an appropriate moment to take one or more snapshots of the stored data and transfer the one or more snapshots to one or more remote locations to be stored. Several factors may be used to determine when an appropriate moment has occurred. | 03-19-2015 |
20150078111 | INCREASED I/O RATE FOR SOLID STATE STORAGE - A storage device issues parallel or concurrent write and erase commands, to write data in response to a request, and to erase blocks marked for deletion to free storage space for subsequent write requests. The storage device receives a write request from a disk controller to write data to a storage array. The storage device determines that one or more blocks are marked for deletion. In response to receiving the write request and determining that blocks are marked for deletion, the storage device issues a write command on a first media access channel for a first location of the storage array, and issues an erase command on a second media access channel for a different storage location of the storage array. Thus, the commands are issued concurrently on different channels. | 03-19-2015 |
20150067759 | SYSTEM AND METHOD FOR IMPLEMENTING DATA MIGRATION WHILE PRESERVING SECURITY POLICIES OF A SOURCE FILER - A data migration system in which security policies of a source file system are preserved, in an environment in which clients actively issue communications for the source filer while data is migrated to a destination file system. | 03-05-2015 |
20150066852 | DETECTING OUT-OF-BAND (OOB) CHANGES WHEN REPLICATING A SOURCE FILE SYSTEM USING AN IN-LINE SYSTEM - Examples described herein include a computer system, positioned in-line with respect to a plurality of clients that actively use a source file system, to replicate a source file system on a target memory in presence of out-of-band events which alter the source file system. | 03-05-2015 |
20150066847 | SYSTEM AND METHOD FOR MIGRATING DATA FROM A SOURCE FILE SYSTEM TO A DESTINATION FILE SYSTEM WITH USE OF ATTRIBUTE MANIPULATION - A system for migrating data from a source file system to a destination file system while the source file system is in active use, in part by transitioning the client's use of the source file system to that of the destination file system without unmounting the client from the source file system | 03-05-2015 |
20150066846 | SYSTEM AND METHOD FOR ASYNCHRONOUS REPLICATION OF A NETWORK-BASED FILE SYSTEM - A system for migrating data from a source file system to a destination file system, in a manner that is transparent and seamless to clients of the source file system. | 03-05-2015 |
20150066845 | ASYNCHRONOUSLY MIGRATING A FILE SYSTEM - A system for migrating data from a source file system to a destination file system, in a manner that is transparent and seamless to clients of the source file system. | 03-05-2015 |
20150058554 | Systems, Methods, and Computer Program Products Implementing Hybrid File Structures for Data Storage - Systems, methods, and computer program products implementing hybrid file structures for data storage are provided. One embodiment of a method performed in a computer-based storage system includes writing a file as data blocks in an array of storage devices. The method includes associating the data blocks with metadata related to at least one location in the array of storage devices for later access to the data blocks. The file is represented as a hierarchical data structure having a plurality of nodes. A first portion of nodes has a first span type, and a second portion of nodes has a second span type. The data structure includes a buftree. The first span type includes a fixed-span type. The second span type includes a variable-span type. | 02-26-2015 |
20150052518 | METHOD AND SYSTEM FOR PRESENTING AND MANAGING STORAGE IN A VIRTUAL MACHINE ENVIRONMENT - Method and system for presenting storage in a virtual machine environment are provided. A storage volume is allocated to an existing profile, when the existing profile meets attributes for a requested storage and a new profile is generated when an existing profile does not meet the attributes and the storage volume is assigned to the new profile. | 02-19-2015 |
20150052382 | FAILOVER METHODS AND SYSTEMS FOR A VIRTUAL MACHINE ENVIRONMENT - A storage provider executing a plurality of Web servers is provided for receiving a request from a management console managing a plurality of virtual machines. The management console uses a same address to send the request, regardless of which Web server is selected to process the request. The selected Web server re-sends the request to a second storage provider node instance, when a first storage provider node instance fails to process the request, where the first and the second storage provide node instances are executed by the storage provider as virtual machines for providing failover in processing requests. | 02-19-2015 |
20150046745 | METHOD AND SYSTEM FOR TRANSPARENTLY REPLACING NODES OF A CLUSTERED STORAGE SYSTEM - Method and system for replacing a first node and a second of a clustered storage system by a third node and a fourth node are provided. The method includes migrating all storage objects managed by the first node to the second node; replacing the first node by the third node and migrating all the storage objects managed by the first node and the second node to the third node; and replacing the second node by the fourth node and then migrating the storage objects previously managed by the second node but currently managed by the third node to the fourth node. The nodes may also be replaced by operationally connecting the third node and the fourth node to storage managed by the first node and the second node; joining the third node and the fourth node to a same cluster as the first node and the second node. | 02-12-2015 |
20150046653 | METHODS AND SYSTEMS FOR DETERMINING A CACHE SIZE FOR A STORAGE SYSTEM - Technology for operating a cache sizing system is disclosed. In various embodiments, the technology monitors input/output (IO) accesses to a storage system within a monitor period; tracks an access map for storage addresses within the storage system during the monitor period; and counts a particular access condition of the IO accesses based on the access map during the monitor period. When sizing a cache of the storage system that enables the storage system to provide a specified level of service, the counting is for computing a working set size (WSS) estimate of the storage system. | 02-12-2015 |
20150046610 | STORAGE MASTER NODE - Technology is provided for selecting a master node of a node group in a storage system. The technology can gather data regarding visibility of one or more storage devices of the storage system to one or more active nodes of the node group, determine a maximum visibility value for the node group and selecting an active node with associated visibility value equal to the maximum visibility value as the master node of the node group. | 02-12-2015 |
20150033224 | METHOD AND SYSTEM FOR PRESENTING AND MANAGING STORAGE SHARES - Methods and systems for managing storage shares in a virtual environment having a plurality of virtual machines are provided. The system includes a storage system for managing storage space for the storage shares and generating a quota report. The quota report shows an assigned quota for each storage share and actual storage used by each storage share. The assigned quota indicates an amount of designated storage space for each storage share. The system also includes a storage provider for obtaining the quota report from the storage system and filtering the quota report based on storage shares that are managed by the storage provider. The storage provider modifies a quota for a storage share based on a client request and notifies the storage system of the modification. | 01-29-2015 |
20150033220 | SYSTEM AND METHOD FOR EMULATING SHARED STORAGE - A system and method of emulating a shared storage device includes determining a storage unit identifier (SUID) associated with a first local storage device in a first node of a distributed computing system, updating a first path handler to intercept storage requests including the SUID and being made on the first node and forwarding the storage requests to drivers for an emulated shared storage device, associating a second local storage device in a second node of the distributed computing system with the SUID, updating a second path handler to intercept storage requests including the SUID and being made on the second node and forwarding the storage requests to the drivers for the emulated shared storage device, and intercepting storage requests including the SUID and being made on the second node and forwarding the storage requests to the drivers for the emulated shared storage device. | 01-29-2015 |
20150033209 | Dynamic Cluster Wide Subsystem Engagement Using a Tracing Schema - A method of invoking an action in response to encountering a tracepoint of an executing application including: encountering a tracepoint of an executing application at a processor of a computer node; receiving tracepoint data at a tracepoint interpretation utility, wherein the tracepoint data includes metadata that describes the state of the processor; analyzing the metadata associated with the tracepoint data to determine whether the metadata further includes action data that describe whether further action should be taken, wherein the action data describes an action other than buffering the tracepoint data; and when it is determined that the metadata includes action data, invoking one or more actions associated with the action data. | 01-29-2015 |
20150033063 | STORAGE FAILURE PROCESSING IN A SHARED STORAGE ARCHITECTURE - 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. | 01-29-2015 |
20150032967 | SYSTEMS AND METHODS FOR ADAPTIVE PREFETCHING - Systems and methods which provide for improved prefetching schemes for caching data in a storage network are described. In one embodiment, a dynamically adaptive prefetching mechanism based on block access history information and prior effectiveness of prefetching is provided. Embodiments may take into account prefetch efficiency; a dynamic value indicating the usefulness of past prefetches, prefetch wastage, in conjunction with prefetch resources available at any point in time, to determine the number of blocks to read-ahead during a prefetch. Such embodiments provide improvements over file-based prefetching and previous block schemes, as they provide a finer grain of control over both prefetch block selection, and the number of blocks to prefetch based on block (or block range) access history. | 01-29-2015 |
20150032954 | METHOD AND SYSTEM FOR PRESENTING AND MANAGING STORAGE SHARES - Method and system for presenting storage shares in a virtual environment having a plurality of virtual machines are provided. A hierarchical data structure is maintained by a storage provider interfacing with a storage system that manages storage space for the storage shares. The data structure stores information for a storage pool based on the storage space and information for a storage volume sub-unit that is based on the storage pool. The storage provider assigns a storage share to a management console either based on the storage pool or the storage volume sub-unit. The management console then presents the storage share to a virtual machine from among the plurality of virtual machines. | 01-29-2015 |
20150032839 | SYSTEMS AND METHODS FOR MANAGING STORAGE NETWORK DEVICES - Systems and methods for managing storage entities in a storage network are provided. Embodiments may provide a group of management devices to manage a plurality of storage entities in the storage network. In some instances, a storage entity hierarchy for the plurality of storage entities may be identified. At least one of a load or a health associated with a management device of the group of management devices may, in embodiments, be determined. In some embodiments, the plurality of storage entities may be managed in accordance with the identified storage entity hierarchy and based, at least in part, on the determined at least one of a load or a health. | 01-29-2015 |
20150032836 | METHOD AND SYSTEM FOR DETECTING VIRTUAL MACHINE MIGRATION - Method and system for detecting migration of a virtual machine are provided. The method detects that a first identifier for identifying a virtual machine and a second identifier identifying a source computing system hosting the virtual machine that accesses a storage space via a logical object have changed, when the virtual machine is migrated from the source computing system to a destination computing system. Thereafter, a storage device at the destination computing system is initialized to operate as a caching device for the migrated virtual machine. | 01-29-2015 |
20150032783 | Systems and Methods for Meta-Model Based Data Transactions - A system and method for transacting data using meta-models to express data relationships is provided. In some embodiments, the method comprises requesting, from a computing system, a meta-model expressing a data relationship. The data relationship relates to a topology of a deployed computing system, and the requesting specifies the meta-model from among a plurality of data models stored within the computing system. The requested meta-model is received from the computing system, and at least a portion of the meta-model is provided to an application. A data transaction based on the meta-model is received from the application and issued. In some such embodiments, a navigational interface is provided in order to navigate the meta-model and specify the portion to provide. | 01-29-2015 |
20140380332 | Managing Service Level Objectives for Storage Workloads - Described herein is a system and method for dynamically managing service-level objectives (SLOs) for workloads of a cluster storage system. Proposed states/solutions of the cluster may be produced and evaluated to select one that achieves the SLOs for each workload. A planner engine may produce a state tree comprising nodes, each node representing a proposed state/solution. New nodes may be added to the state tree based on new solution types that are permitted, or nodes may be removed based on a received time constraint for executing a proposed solution or a client certification of a solution. The planner engine may call an evaluation engine to evaluate proposed states, the evaluation engine using an evaluation function that considers SLO, cost, and optimization goal characteristics to produce a single evaluation value for each proposed state. The planner engine may call a modeler engine that is trained using machine learning techniques. | 12-25-2014 |
20140368945 | SYSTEM AND METHODS FOR MITIGATING WRITE EMULATION ON A DISK DEVICE USING CACHE MEMORY - An emulation mitigation module is configured to mitigate emulation of legacy write requests on advanced disk devices using cached data stored in a cache memory of a storage system. A legacy write request may comprise write data blocks formatted in a legacy sector size while an advanced disk device may be formatted in an advanced sector size. The emulation mitigation module may execute a first method for modifying write requests using cached data, a second method for enforcing a minimum requested data size sent to the advanced disk device, and/or a third method for conditionally retrieving data from the advanced disk device and storing to cache. In some embodiments, the second and/or third method may be used with the first method to increase the effectiveness of the first method. The emulation mitigation module may improve performance and/or data integrity for of processing legacy write requests. | 12-18-2014 |
20140365539 | PERFORMING DIRECT DATA MANIPULATION ON A STORAGE DEVICE - A method and system for performing data manipulation on a storage device is disclosed. A data manipulation command is created on a computing device, wherein the computing device is separate from the storage device. The computing device is a client or a server that requests services of a storage system to store data on a storage medium. The computing device and the storage device are connected over a network. The computing device executes a host application, and its data is stored on the medium. The computing device issues a command to the storage device to be performed on the data. The storage device executes the command and sends the result to the computing device. As a result, the data is not sent to the computing device for manipulation. | 12-11-2014 |
20140365433 | CROSS DOMAIN LOCKING IN A DISTRIBUTED ENVIRONMENT - In a distributed system, multiple nodes of a cluster update target data using a cross-domain lock. In the distributed system, data is separated into different domains, where some data elements are part of multiple domains. Multiple nodes each store a copy of the target data, which can be part of a single domain, or part of multiple domains. Where at least one element of the target data is part of two different domains, the nodes use cross-domain locks to lock both domains for at least a portion of the data update, and update the data while the lock is active. After updating the data, the nodes can release the cross-domain lock. | 12-11-2014 |
20140359236 | SYSTEM AND METHOD FOR MANAGING AND PRODUCING STORAGE OBJECT IMAGES ON A STORAGE SYSTEM - An application may store data to a dataset comprising a plurality of volumes stored on a plurality of storage systems. The application may request a dataset image of the dataset, the dataset image comprising a volume image of each volume of the dataset. A dataset image manager operates with a plurality of volume image managers in parallel to produce the dataset image, each volume image manager executing on a storage system. The plurality of volume image managers respond by performing requested operations and sending responses to the dataset image manager in parallel. Each volume image manager on a storage system may manage and produce a volume image for each volume of the dataset stored to the storage system. If a volume image for any volume of the dataset fails, or a timeout period expires, a cleanup procedure is performed to delete any successful volume images. | 12-04-2014 |
20140359235 | SYSTEM AND METHOD FOR MANAGING AND PRODUCING A DATASET IMAGE ACROSS MULTIPLE STORAGE SYSTEMS - An application may store data to a dataset comprising a plurality of volumes stored on a plurality of storage systems. The application may request a dataset image of the dataset, the dataset image comprising a volume image of each volume of the dataset. A dataset image manager operates with a plurality of volume image managers in parallel to produce the dataset image, each volume image manager executing on a storage system. The plurality of volume image managers respond by performing requested operations and sending responses to the dataset image manager in parallel. Each volume image manager on a storage system may manage and produce a volume image for each volume of the dataset stored to the storage system. If a volume image for any volume of the dataset fails, or a timeout period expires, a cleanup procedure is performed to delete any successful volume images. | 12-04-2014 |
20140351539 | SYSTEM AND METHOD FOR RETAINING DEDUPLICATION IN A STORAGE OBJECT AFTER A CLONE SPLIT OPERATION - Described herein is a system and method for retaining deduplication of data blocks of a resulting storage object (e.g., a flexible volume) from a split operation of a clone of a base storage object. The clone may comprise data blocks that are shared with at least one data block of the base storage object and at least one data block that is not shared with at least one data block of the base storage object. The data blocks of the clone that are shared with the base storage object may be indicated to receive a write allocation that may comprise assigning a new pointer to a indicated data block. Each data block may comprise a plurality of pointers comprising a virtual address pointer and a physical address pointer. As such, data blocks of the clone comprising the same virtual address pointer may be assigned a single physical address pointer. Thus, a new physical address pointer is assigned or allocated once to a given virtual address pointer of data blocks of a clone. | 11-27-2014 |
20140351536 | EFFICIENT REPLICATION OF CHANGES TO A BYTE-ADDRESSABLE PERSISTENT MEMORY OVER A NETWORK - A system and method for efficiently replicating data stored in a byte-addressable, persistent memory of a host computer. A user-level library of the host computer may configure the persistent memory as a software transactional memory (STM) system defined by operations, such as a STM commit operation, that ensure safe and consistent storage of the data within a region of the persistent memory. The library may then cooperate with an application executing on the host computer to control access to the data, e.g., to change the data, as a transaction using the STM commit operation. Within a context of the transaction, the library may precisely determine which bytes of the data have changed within the region, as well as how and when the data bytes have changed. Armed with precise knowledge of the context of the transaction, the library may efficiently replicate the changed data at the byte-addressable granularity. | 11-27-2014 |
20140351535 | SNAPSHOTS AND VERSIONING OF TRANSACTIONAL STORAGE CLASS MEMORY - A system and method enables efficient implementation of snapshots of data organized as arbitrary data structures on a byte-addressable persistent memory of a host computer. A user-level library of the host computer may configure the persistent memory as a software transactional memory (STM) system defined by operations, such as a STM commit operation, that ensure safe and consistent storage of the data (i.e., the data structures) within a region of the persistent memory. The library may then cooperate with an application executing on the host computer to control access to a data structure, e.g., to change a datum, stored in the region of the persistent memory as a transaction using the STM commit operation. Within a context of the transaction, the library may precisely determine which byte or bytes of the datum have changed within the region, as well as how and when the bytes have changed. Armed with precise knowledge of the context of the transaction, the library may efficiently implement a snapshot (i.e., point-in-time copy) of the changed datum and its associated data structure at the granularity at which it was modified, e.g., at the byte-addressable granularity. | 11-27-2014 |
20140351511 | Queuing Received Write Blocks for Reducing File Fragmentation - A method and apparatus for queuing FBNs of received write blocks for a file to a queuing data structure for assigning LBNs to the FBNs is described herein. A queuing data structure may comprise a modified binary search tree, such as a modified red-black search tree. Each node of a queuing data structure may comprise a base field for storing a base FBN and a range field for storing a range value comprising X bits. The range field of a single node may represent a range of two or more FBNs (“FBN range”), the FBN range being based on the base FBN. Each FBN in the FBN range may have a corresponding bit in the range field, the base FBN corresponding to a “base bit” in the range field. The value of the corresponding bit in the range field may indicate whether the FBN has been received. | 11-27-2014 |
20140351507 | Systems and Methods including an Application Server in an Enclosure with a Communication Link to an External Controller - A system including a first array of storage drives in communication with a storage controller, the storage controller providing virtualized storage with the first array of storage drives; an application server running a storage warehouse application and communicatively coupled to a host device and the storage controller; and a communication port expander providing expansion slots to a first enclosure, wherein the first array of storage drives, the application server, and the communication port expander are contained in the first enclosure separate from the controller, further wherein the controller controls the first array of storage drives and is in communication with the first array of storage drives through the communication port expander. | 11-27-2014 |
20140351506 | EFFICIENT STORAGE OF SMALL RANDOM CHANGES TO DATA ON DISK - The embodiments described herein provide a system and method for efficiently storing small, random modifications or changes to data on one or more storage devices, such as disks, of storage servers coupled to a host computer in a network environment. Illustratively, the data is stored in a region of a byte-addressable, persistent memory of the host computer and is replicated (i.e., copied) as changed data of the region on the disks at the granularity at which it was modified, e.g., at the byte-addressable granularity. To that end, each storage server employs a data structure (e.g., a Fibonacci array) that is configured to efficiently accumulate the small, random data changes into one or more large blocks of changed data for storage on the disks in a manner that realizes the streaming bandwidth of the disk. | 11-27-2014 |
20140351492 | SYSTEM AND METHOD FOR NON-VOLATILE RANDOM ACCESS MEMORY EMULATION - Described herein is a system and method for high speed non-volatile random access memory (NVRAM) emulation. The system and method may utilize a primary storage device and a volatile random access memory (RAM) device to emulate NVRAM functionality. The system and method may allocate a range of the primary storage device. The storage capacity or size of the allocated range may correspond or be at least partially based on a storage capacity or size of the volatile RAM device. Data, such as write requests, may be migrated from the primary storage device to the volatile RAM device. In the event of the unavailability, loss of power, or other such circumstances of the volatile RAM device, data from the volatile RAM device may be migrated back to the previously allocated range of the primary storage device. | 11-27-2014 |
20140351393 | MULTI-PROTOCOL STORAGE NETWORK I/O DEVICES AND METHODS - Systems and methods which allow for one or more input/output (I/O) ports residing on a device in a storage network environment to be reconfigured in order to communicate using different protocols are provided. Embodiments may provide for dynamic reconfiguration of an I/O port while the device including the port is deployed in the storage network. In some instances, such reconfiguration may be managed locally and/or by a remote management processing resource in the storage network. In some embodiments, reconfiguration of an I/O port to communicate in a different protocol may be implemented, either manually or automatically, based on observed traffic data. | 11-27-2014 |
20140350889 | EVALUATING AND PREDICTING COMPUTER SYSTEM PERFORMANCE USING KNEEPOINT ANALYSIS - The present invention provides methods, systems, apparatus, and computer software/program code products adapted for operating in, or in conjunction with, an otherwise conventional computing system, and which enable evaluating, monitoring and predicting the performance of computer systems and individual elements or groups of elements within such computer systems. | 11-27-2014 |
20140344538 | SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR DETERMINING BLOCK CHARACTERISTICS IN A COMPUTER DATA STORAGE SYSTEM - Systems, methods, and non-transitory machine readable media for determining block characteristics include one or more processors, a memory for storing instructions for the one or more processors, persistent storage, and a file system implemented in the persistent storage and storing data in the persistent storage using a plurality of blocks. When the stored instructions are executed by the one or more processors, the one or more processors are configured to traverse the plurality of blocks, read contents of a first block selected from the plurality of blocks, determine one or more characteristics of the first block from metadata within the block, and selectively perform or not perform a storage operation with respect to the first data block in response to determining the one or more characteristics. In some embodiments, the storage operation is a replication operation or a deduplication operation. | 11-20-2014 |
20140330787 | NAMESPACE MIRRORING IN AN EXPANDABLE STORAGE VOLUME - Technology for maintaining a backup of namespace metadata of an expandable storage volume is disclosed. In various embodiments, the expandable storage volume backs up metadata of a namespace constituent volume of the expandable storage volume into a namespace mirror volume. The namespace constituent volume is responsible for storing the metadata for data objects stored in multiple data constituent volumes of the expandable storage volume. In response to a signal indicating that the namespace constituent volume is unavailable, the namespace mirror volume replaces the role of the namespace constituent volume. The new namespace constituent volume continues to provide metadata for a data object of the data objects in response to an operation request for the data object. | 11-06-2014 |
20140325640 | SECURE ACCESS-BASED ENUMERATION OF A JUNCTION OR MOUNT POINT ON A CLUSTERED SERVER - Embodiments described herein provide a technique for securely responding to an enumeration request of a data container stored at a location referenced by a junction or mount point within a share served by a storage system. To that end, the technique applies access permissions of the data container at the referenced location instead of permissions that may reside at the junction or mount point. Upon determining that the permissions are insufficient to allow access to the data container, the technique ensures that a descriptor of the junction or mount point is not included in a response to the enumeration request. | 10-30-2014 |
20140325599 | Status Transfer Within a Group of Computing Entities - A system and method for designating and administering authority in a trusted environment is provided. In some embodiments, a determination is made that a transfer of the authority to a second computing entity is warranted. The second computing entity is opportunistically contacted, and during the opportunistic contact, the authority is passed from the first computing entity to the second computing entity. The passing of the authority from the first computing entity to the second computing entity tasks the second computing entity with updating members of the group of the passing of the authority. The passing of authority may include providing an outstanding group update to the second computing entity and may also include tasking the second computing entity with completing the outstanding group update. | 10-30-2014 |
20140325283 | SYSTEMS AND METHODS PROVIDING MOUNT CATALOGS FOR RAPID VOLUME MOUNT - Systems and methods which provide mount catalogs to facilitate rapid volume mount are shown. A mount catalog of embodiments may be provided for each aggregate containing volumes to be mounted by a takeover node of a storage system. The mount catalog may comprise a direct storage level, such as a DBN level, based mount catalog. Such mount catalogs may be maintained in a reserved portion of the storage devices containing a corresponding aggregate and volumes, wherein the storage device reserved portion is known to a takeover node. In operation according to embodiments, a HA pair takeover node uses a mount catalog to access the blocks used to mount volumes of a HA pair partner node prior to a final determination that the partner node is in fact a failed node and prior to onlining the aggregate containing the volumes. | 10-30-2014 |
20140325265 | BACKGROUND INITIALIZATION FOR PROTECTION INFORMATION ENABLED STORAGE VOLUMES - Technology is disclosed for performing background initialization on protection information enabled storage volumes or drives. In some embodiments, a storage controller generates multiple I/O requests for stripe segments of each drive (e.g., disk) of multiple drives of a RAID-based system (e.g., RAID-based disk array). The I/O requests are then sorted for each of the drives according to a pre-determined arrangement and initiated in parallel to the disks while enforcing the pre-determined arrangement. Sorting and issuing the I/O requests in the manner described herein can, for example, reduce drive head movement resulting in faster storage subsystem initialization. | 10-30-2014 |
20140325256 | SYSTEMS AND METHODS FOR MANAGING DISASTER RECOVERY IN A STORAGE SYSTEM - Systems and methods for providing for efficient switchover for a client in a storage network between the use of one or more a primary storage resources to one or more disaster recovery (DR) resources are provided herein. Embodiments may implement synchronization between such resources on a data plane and a control plane to allow for a transition between resources to be implemented in a manner that is minimally disruptive to a client. Moreover, embodiments may provide for processing resources which allow for switching a client between a primary storage resource to a secondary storage resource with minimal administrative interaction. | 10-30-2014 |
20140325157 | DATA ACCESS REQUEST MONITORING TO REDUCE SYSTEM RESOURCE USE FOR BACKGROUND OPERATIONS - An I/O processing stack includes a proxy that can provide processing services for access requests to initialized and uninitialized storage regions. For a write request, the proxy stores write information in a write metadata repository. If the write is requested for an address in an initialized storage region of the storage system, the proxy performs a write to the initialized region based on region information in the write I/O access request. If the write is requested for an address in an uninitialized storage region of the storage system, the proxy performs an on-demand initialization of the storage region and then performs a write to the storage region based on region information provided by the proxy. | 10-30-2014 |
20140325147 | DEDUPLICATION OF DATA BLOCKS ON STORAGE DEVICES - A storage system comprises a cache for caching data blocks and storage devices for storing blocks. A storage operating system may deduplicate sets of redundant blocks on the storage devices based on a deduplication requirement. Blocks in cache are typically deduplicated based on the deduplication on the storage devices. Sets of redundant blocks that have not met the deduplication requirement for storage devices and have not been deduplicated on the storage devices and cache are targeted for further deduplication processing. Sets of redundant blocks may be further deduplicated based on their popularity (number of accesses) in cache. If a set of redundant blocks in cache is determined to have a combined number of accesses being greater than a predetermined threshold number of accesses, the set of redundant blocks is determined to be “popular.” Popular sets of redundant blocks are selected for deduplication in cache and the storage devices. | 10-30-2014 |
20140324778 | Hierarchical Coherency Log for Managing a Distributed Data Storage System - A system and method for managing distributed coherent datasets using a hierarchical change log is provided. In some embodiments, a distributed storage system is provided that includes a primary storage device containing a primary dataset and a mirror storage device containing a mirror dataset. The mirror dataset includes a coherent copy of the primary dataset. The distributed storage system further includes a hierarchical change log tracking a coherence state for the mirror dataset. The hierarchical change log includes a first sub-log and a second sub-log, and a block range of the first sub-log overlaps a block range of the second sub-log. The hierarchical change log may define a priority relationship between the first sub-log and the second sub-log governing the overlap. The first sub-log and the second sub-log may be independently configured and may be different in one of a representation and a block size. | 10-30-2014 |
20140317743 | METHOD AND APPARATUS FOR MANAGEMENT AND TROUBLESHOOTING OF A PROCESSING SYSTEM - The present invention includes an apparatus connected to a processing system including a data collector to gather and store data regarding operation of the processing system, a device relationship manager to send data regarding the operation of the processing system to a remote administrative console, and a security policy manager to control the sending of data regarding the operation of the processing system by the device relationship manager to the remote administrative console based on a security policy. | 10-23-2014 |
20140317431 | METHOD AND SYSTEM FOR REMOTELY CONTROLLING A STORAGE SHELF OF A STORAGE SYSTEM - System and method for remotely performing a power cycle operation for a storage shelf of a storage server using a control path independent of a data path used for processing I/O requests is provided. The storage server maintains a data structure for storing information regarding a state of a plurality of power latches that are used to control power for the storage shelf having an alternate control path module for receiving control commands via the control path. Depending on the state of the plurality of power latches, the storage server sends one or more commands to the alternate control path module to turn off power to the storage shelf during a power cycle operation. When the power shelf is powered off, the storage server waits for a certain duration and then sends one or more power on commands to the alternate control path module to power on the storage shelf. | 10-23-2014 |
20140317371 | METHOD AND SYSTEM FOR ACCESS BASED DIRECTORY ENUMERATION - Method and system for access based directory enumeration is provided. When a directory is enumerated for a first time, user credentials are verified against an access control list (ACL) entry that is referenced by an ACL inode (referred to as Xnode). The Xnode number is obtained from a file handle for a directory entry. The verification is recorded in a data structure that stores the Xnode identifier and user identifier. When the directory is enumerated again, the data structure is used to verify that the user has been validated before, instead of loading and checking against an ACL entry. | 10-23-2014 |
20140317159 | TRANSPARENTLY MIGRATING A STORAGE OBJECT BETWEEN NODES IN A CLUSTERED STORAGE SYSTEM - A storage object is migrated between nodes by a source node automatically verifying that another node is configured to service the storage object and changing ownership of the storage object based on the verifying. A cluster manager for the clustered storage system receives a request and provides the request to the source which owns the storage object. The source verifies that the destination is configured according to a predetermined configuration for servicing the storage object. Based on the verifying, the source offlines the storage object and updates ownership information of the storage object, thereafter allowing the destination to online the storage object. The cluster manager further provides the updated ownership information to all the nodes in the cluster, so an access request intended for the storage object may be received by any node and forwarded to the destination using the updated ownership information to effect a transparent migration. | 10-23-2014 |
20140304239 | SYSTEMS AND METHODS FOR SCHEDULING DEDUPLICATION OF A STORAGE SYSTEM - Systems for deduplicating one or more storage units of a storage system provide a scheduler, which is operable to select at least one storage unit (e.g. a storage volume) for deduplication and perform a deduplication process, which removes duplicate data blocks from the selected storage volume. The systems are operable to determine the state of one or more storage units and manage deduplication requests in part based state information. The system is further operable to manage user generated requests and manage deduplication requests in part based on user input information. The system may include a rules engine which prioritizes system operations including determining an order in which to perform state-gathering information and determining an order in which to perform deduplication. The system is further operable to determine the order in which storage units are processed. | 10-09-2014 |
20140298078 | SYNCHRONOUS MIRRORING OF NVLog TO MULTIPLE DESTINATIONS (ARCHITECTURE LEVEL) - Systems and methods herein are operable to simultaneously mirror data to a plurality of mirror partner nodes. In embodiments, a mirror client may be unaware of the number of mirror partner nodes and/or the location of the plurality of mirror partner nodes, and issue a single mirror command requesting initiation of a mirror operation. An interconnect layer may receive the single mirror command and split the mirror command into a plurality of mirror instances, one for each mirror node partner, wherein the mirror instances may be simultaneously launched. After the plurality of mirror operations has begun, the interconnect layer may manage completion reports indicating the completion status of respective mirror operations, and send a single return to the mirror client indicating whether the mirror command succeeded. | 10-02-2014 |
20140289530 | SYSTEMS AND METHODS FOR CONTENT DELIVERY - A system, computer-readable storage medium storing at least one program, and computer-implemented method for content delivery is provided. A content sharing session is established between a user device and a content system. Content primitives are generated from a content item controlled by the content system. Each of the generated content primitives is accessed and transmitted to the user device. | 09-25-2014 |
20140289476 | CACHING AND DEDUPLICATION OF DATA BLOCKS IN CACHE MEMORY - A storage system comprises a cache for caching data blocks and storage devices for storing blocks. A storage operating system may deduplicate sets of redundant blocks on the storage devices based on a deduplication requirement. Blocks in cache are typically deduplicated based on the deduplication on the storage devices. Sets of redundant blocks that have not met the deduplication requirement for storage devices and have not been deduplicated on the storage devices and cache are targeted for further deduplication processing. Sets of redundant blocks may be further deduplicated based on their popularity (number of accesses) in cache. If a set of redundant blocks in cache is determined to have a combined number of accesses being greater than a predetermined threshold number of accesses, the set of redundant blocks is determined to be “popular.” Popular sets of redundant blocks are selected for deduplication in cache and the storage devices. | 09-25-2014 |
20140289377 | CONFIGURING NETWORK STORAGE SYSTEM OVER A NETWORK - Network storage system configuration via a network is disclosed. An IP assignment component is configured to listen for IP assignment requests over the network. Responsive to identifying an IP assignment request originating from a network storage system, the IP assignment component assigns an IP address to the network storage system, and provides configuration access to the network storage system based upon the IP address. A network device management component is configured to send identification requests over the network. Responsive to receiving a response from a network storage system having a previously assigned IP address, the network device management component provides configuration access to the network storage system based upon the previously assigned IP address. In this manner, a network storage system is (e.g., remotely) configured (e.g., over a network), rather than a technician having to physically connect (e.g., via a serial cable) to the network storage system. | 09-25-2014 |
20140281329 | Priority Command Queues for Low Latency Solid State Drives - A method, apparatus, and system of a priority command queues for low latency solid state drives are disclosed. In one embodiment, a system of a storage system includes a command sorter to determine a target storage device for at least one of a solid state drive (SSD) command and a hard disk drive (HDD) command and to place the command in a SSD ready queue if the SSD command is targeted to a SSD storage device of the storage system and to place the HDD command to a HDD ready queue if the HDD command is targeted to an HDD storage device of the storage system, a SSD ready queue to queue the SSD command targeted to the SSD storage device, and a HDD ready queue to queue the HDD command targeted to the HDD storage device. | 09-18-2014 |
20140281217 | TECHNIQUE FOR RAPIDLY CONVERTING BETWEEN STORAGE REPRESENTATIONS IN A VIRTUALIZED COMPUTING ENVIRONMENT - Embodiments described herein provide a storage conversion technique for rapidly converting between storage representations served by a storage system and presented to a host computer of a virtualized computing environment. The storage representations may include physical storage represented by a sequential set of blocks on disks of the storage system that are presented to the host computer in the form of a logical unit number (LUN) and virtual storage represented by a virtual storage device of the storage system that is presented to a hypervisor of the virtualized computing environment in the form of a virtual disk file. Illustratively, the LUN and virtual disk file may be storage objects (e.g., files) having different (file) types and formats in a volume of the storage system; yet each storage object may be organized as a buffer tree having indirect blocks that contain pointers configured to reference data blocks used to store data. | 09-18-2014 |
20140281065 | CONSISTENT DISTRIBUTED STORAGE COMMUNICATION PROTOCOL SEMANTICS IN A CLUSTERED STORAGE SYSTEM - Consistent distributed storage communication protocol semantics, such as SCSI target semantics, in a clustered storage system are disclosed. The system includes a mechanism for presenting a single distributed logical unit, comprising one or more logical sub-units, as a single logical unit of storage to a host system by associating each of the logical sub-units that make up the single distributed logical unit with a single host visible identifier that corresponds to the single distributed logical unit. The system further includes a mechanism to maintain consistent context information for each of the logical sub-units such that the logical sub-units are not visible to a host system as separate entities from the single distributed logical unit. | 09-18-2014 |
20140281024 | SAS Domain Management and SSP Data Handling Over Ethernet - A server application is executed on an active device within the SAS domain, the active device connected to a remote client via an Ethernet connection. At least one command is received from the remote client via the Ethernet connection. An Ethernet frame of the at least one command is converted to at least one SAS frame. The at least one SAS frame is routed via a SAS data path to a SAS target device connected to the active device, the SAS target device corresponding to a field of the command. | 09-18-2014 |
20140280382 | CAPACITY ACCOUNTING FOR HETEROGENEOUS STORAGE SYSTEMS - Techniques to account for storage consumption and capacity allocation across heterogeneous storage objects are disclosed. A capacity accountability system can ascertain a set of heterogeneous storage objects provisioned for a storage consumer, where the heterogeneous storage objects is categorized by storage object hierarchy levels. The capacity accountability system can then identify an association between the storage consumer and a storage object hierarchy level and account for storage object consumption and storage capacity allocation of the storage consumer by normalizing storage consumption data and capacity allocation data at the storage object hierarchy level across the heterogeneous storage objects. | 09-18-2014 |
20140268569 | Method And System For Providing A Customized Storage Container - A method and system for providing a customized storage container includes a generally rectangular housing and at least one printed circuit board contained within the rectangular housing. The customized storage container encloses a first row of interconnector modules that are positioned adjacent to a first, open end of the rectangular housing. The customized storage container also encloses a second row of interconnector modules positioned adjacent to the first, open end of the rectangular housing. At least one air vent is positioned along a side of the rectangular housing and adjacent to a second, closed end of the rectangular housing. According to one exemplary embodiment, the storage container can comprise a single printed circuit board for supporting the first and second row of interconnector modules. In another exemplary embodiment, the storage container can comprise two printed circuit boards for supporting the first and second rows interconnector modules. | 09-18-2014 |
20140259123 | ALIASING OF EXPORTED PATHS IN A STORAGE SYSTEM - A request is received, by a storage server, to access a resource based on a filehandle for the resource. A determination is made of whether an entry of a plurality of entries in an exports table has a filehandle that matches the filehandle for the resource. The entry includes a physical path of the resource that is different than an advertised path of the resource, in response to the filehandle in the entry retrieved using the physical path. In response to determining that the filehandle in the entry matches the filehandle for the resource, a determination is made of whether a pathname in the entry matches a pathname for the resource. In response to determining that the pathname in the entry matches the pathname for the resource, a determination is made of whether the client has permission to access the resource. The request to access the resource is executed. | 09-11-2014 |
20140258648 | OVERWRITING PART OF COMPRESSED DATA WITHOUT DECOMPRESSING ON-DISK COMPRESSED DATA - Overwriting part of compressed data without decompressing on-disk compressed data is includes by receiving a write request for a block of data in a compression group from a client, wherein the compression group comprises a group of data blocks that is compressed, wherein the block of data is uncompressed. The storage server partially overwrites the compression group, wherein the compression group remains compressed while the partial overwriting is performed. The storage server determines whether the partially overwritten compression group including the uncompressed block of data should be compressed. The storage server defers compression of the partially overwritten compression group if the partially overwritten compression group should not be compressed. The storage server compresses the partially overwritten compression group if the partially overwritten compression group should be compressed. | 09-11-2014 |
20140245390 | SYSTEMS AND METHODS FOR PROVIDING SECURE MULTICAST INTRA-CLUSTER COMMUNICATION - Systems and methods which facilitate secure multicast communications between any valid node of a cluster using authentication between a node joining the cluster and any single node which is validly part of the cluster are disclosed. In accordance with embodiments, a cluster key is utilized to provide security with respect to intra-cluster communications. The cluster key of embodiments is shared by a node which is already part of the cluster with a node joining the cluster only after these two nodes mutually authenticate one another. The mutual authentication handshake of embodiments implements a protocol in which a session key is calculated by both nodes, thereby providing a secure means by which a cluster key may be shared. Having the cluster key, each node of the cluster is enabled to securely communicate with any other node of the cluster, whether individually (e.g., unicast) or collectively (e.g., multicast), according to embodiments. | 08-28-2014 |
20140244952 | SYSTEM AND METHOD FOR A SCALABLE CRASH-CONSISTENT SNAPSHOT OPERATION - Described herein is a system and method for a scalable crash-consistent snapshot operation. Write requests may be received from an application and a snapshot creation request may further be received. Write requests received before the snapshot creation request may be associated with pre-snapshot tags and write requests received after the snapshot creation request may be associated with post-snapshot tags. Furthermore, in response to the snapshot creation request, logical interfaces may begin to be switched from a pre-snapshot configuration to a post-snapshot configuration. The snapshot may then be created based on the pre-snapshot write requests and the post-snapshot write requests may be suspended until the logical interfaces have switched configuration. | 08-28-2014 |
20140237461 | METHOD AND APPARATUS FOR DIFFERENTIAL FILE BASED UPDATE FOR EMBEDDED SYSTEMS - A system is provided including a host processing system and a remote management module coupled to ft. The host processing system is configured to receive an update package. The remote management module is configured to determine one or more modified files from the update package and update its current embedded system by replacing, with the one or more modified files, only those files associated with the current embedded system that correspond to the one or more modified files. | 08-21-2014 |
20140237211 | SYSTEM AND METHOD FOR VOLUME BLOCK NUMBER TO DISK BLOCK NUMBER MAPPING - 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. | 08-21-2014 |
20140237184 | SYSTEM AND METHOD FOR MULTI-TIERED META-DATA CACHING AND DISTRIBUTION IN A CLUSTERED COMPUTER ENVIRONMENT - A system and method caches and distributes meta-data for one or more data containers stored on a plurality of volumes configured as a striped volume set (SVS) and served by a plurality of nodes interconnected as a cluster. The SVS comprises one meta-data volume (MDV) configured to store a canonical copy of certain meta-data, including access control lists and directories, associated with all data containers stored on the SVS, and one or more data volumes (DV) configured to store, at least, data content of those containers. In addition, for each data container stored on the SVS, one volume is designated a container attribute volume (CAV) and, as such, is configured to store (“cache”) a canonical copy of certain, rapidly-changing attribute meta-data, including time stamps and container length, associated with that container. | 08-21-2014 |
20140237180 | DETERMINING EFFICIENCY OF A VIRTUAL ARRAY IN A VIRTUALIZED STORAGE SYSTEM - 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. | 08-21-2014 |
20140237115 | METHOD AND SYSTEM FOR SECURELY CAPTURING WORKLOADS AT A LIVE NETWORK FOR REPLAYING AT A TEST NETWORK - Methods and system for securely capturing workloads at a live network for replaying at a test network. The disclosed system captures file system states and workloads of a live server at the live network. In one embodiment the captured data is anonymized to protect confidentiality of the data. A file system of a test server at the test network is mirrored from a captured state of the live server. An anonymized version of the captured workloads is replayed as a request to the test server. A lost or incomplete command is recreated from the states of the live server. An order of the commands during replay can be based on an order in the captured workload, or based on a causal relationship. Performance characteristics of the live network are determined based on the response to the replayed command. | 08-21-2014 |
20140223014 | COLLABORATIVE MANAGEMENT OF SHARED RESOURCES - Collaborative management of shared resources is implemented by a storage server receiving, from a first resource manager, notification of a violation for a service provided by the storage server or device coupled to the storage server. The storage server further receives, from each of a plurality of resource managers, an estimated cost of taking a corrective action to mitigate the violation and selects a corrective action proposed by one of the plurality of resource managers based upon the estimated cost. The storage server directs the resource manager that proposed the selected corrective action to perform the selected corrective action. | 08-07-2014 |
20140222843 | Systems, Methods, and computer Program Products to Ingest, Process, and Output Large Data - A method for ingesting data, the method comprising receiving a file including a plurality of portions, each of the portions corresponding to a respective characteristic of a hardware or software component in a deployed system; breaking the file into a plurality of sections, each of the sections corresponding to a respective portion of the file; for each section, adding first metadata to uniquely identify the file and provide a name for the section; and distributing the sections to a plurality of container files. | 08-07-2014 |
20140222754 | COLLECTION OF DATA ASSOCIATED WITH STORAGE SYSTEMS - Example embodiments provide various techniques for collecting data associated with the performance of a storage system. In one method, an attribute associated with the storage system is detected and a data collection policy associated with the attribute is identified. Here, the data collection policy defines a type of data associated with the performance to be collected. With the data collection policy identified, the data are then collected based on the data collection policy. | 08-07-2014 |
20140214998 | SYSTEM AND METHOD FOR A SHARED WRITE ADDRESS PROTOCOL OVER A REMOTE DIRECT MEMORY ACCESS CONNECTION - The present invention provides a system and method for a shared write address protocol (SWAP) that is implemented over a remote direct memory address (RDMA) connection. Each party to a connection establishes a flow control block that is accessible to its partner via a RDMA READ operation. The novel protocol operates so that each module needs to have one outstanding RDMA READ operation at a time, i.e., to obtain the current flow control information from its partner. In operation, if data to be transmitted is less than or equal to a buffer size, an INLINE message data structure of the SWAP protocol is utilized to send the data to be target. However, if the data is greater than the buffer size, a second determination is made as to whether sufficient space exists in the message pool for the data. If insufficient space exists, the sender will wait until sufficient space exists before utilizing a novel WRITE operation of the SWAP protocol to transmit the data | 07-31-2014 |