Abstract:
An embodiment of a method of restoring data begins with a step of restoring point-in-time data from a local copy. The method concludes with a step of restoring at least a portion of an incremental difference between the point-in-time data and a desired state of the data from a remote mirror.
Abstract:
Systems and methods for path selection for application commands are described. To this end, information associated with at least one application command that were processed at least one port of a target device is received. For a subsequent application command, a set of ports of the target device is determined. In one implementation, the set of ports is determined based on information associated with the subsequent application command. Once the set of ports is determined, the subsequent application command is directed to a port selected from the set of ports.
Abstract:
An embodiment of a method of cooperative caching for a distributed storage system begins with a step of requesting data from storage devices which hold the data. The method continues with a step of receiving any cached blocks and expected response times for providing non-cached blocks from the storage devices. The method concludes with a step of requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provides an expectation of optimal performance.
Abstract:
A computer storage system includes a controller, a first storage device and a second storage device including at least one fast storage device. The controller is configured to perform data operations. The first storage device stores data, and the second storage device stores data redundant to the data stored in the first storage device.
Abstract:
A configuration method includes selecting a design configuration, and modeling the solution configuration having a failure event for the selected solution configuration to determine an amount of down time associated with the failure event. A first penalty cost function is applied the amount of down time to determine a first penalty cost associated with the failure event of the selected solution configuration.
Abstract:
An embodiment of a method of estimating overall storage system cost begins with a first step of modeling a storage system design in operation under a workload to determine location of retrieval points. The retrieval points provide sources for primary storage recovery for a plurality of failure scenarios. The method continues with a second step of finding a most recent retrieval point relative to a target recovery time that is available for recovery for a particular failure scenario. A third step determines a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point, which indicates a data loss time period. A fourth step determines a recovery time for propagation of the most recent retrieval point to primary storage. In a fifth step, a storage system cost comprising outlay costs and penalty costs is determined.
Abstract:
According to one embodiment, a method comprises intercepting, at an interposition agent, requests for accessing a data storage device. The method further comprises determining, by the interposition agent, at least one of the requests to impact, and selectively simulating, by the interposition agent, a fault for the selected at least one of the requests. According to another embodiment, a system comprises at least one data storage device, and at least one requester operable to request access to the at least one data storage device. The system further comprises at least one interposition agent communicatively interposed between the requestor(s) and the data storage device(s) to intercept requests for access from the requestor(s) to the data storage device(s), wherein the interposition agent is operable to selectively determine ones of the intercepted requests to impact and selectively simulate a fault for the selected at least one of the requests.
Abstract:
A method of reading data comprises receiving a request for a stripe of erasure coded data, sending read messages to at least a quorum of storage devices, and receiving at least the quorum of reply messages from the devices. The quorum of the reply messages includes at least a minimum number of stripe blocks needed to decode the data. The quorum meets a quorum condition of a number such that any two selections of the number of the stripe blocks intersect in the minimum number of the stripe blocks. A method of writing data comprises generating a timestamp, encoding the data, sending query messages including the timestamp to the storage devices, receiving query reply messages from each of at least the quorum of the devices, sending write messages to the devices, and receiving a write reply message from each of at least the quorum of the devices.
Abstract:
According to one embodiment, a method comprises intercepting, at an interposition agent, requests for accessing a data storage device. The method further comprises determining, by the interposition agent, at least one of the requests to impact, and selectively simulating, by the interposition agent, a fault for the selected at least one of the requests. According to another embodiment, a system comprises at least one data storage device, and at least one requester operable to request access to the at least one data storage device. The system further comprises at least one interposition agent communicatively interposed between the requestor(s) and the data storage device(s) to intercept requests for access from the requestor(s) to the data storage device(s), wherein the interposition agent is operable to selectively determine ones of the intercepted requests to impact and selectively simulate a fault for the selected at least one of the requests.
Abstract:
A computer storage system includes a controller and a storage device array. The storage device array may include a first sub-array and a fast storage device sub-array. The first sub-array includes one or more first storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.