Patent ID: 8589645
Filing Date: 2013-11-19
Classification: G06F

Abstract:
1. A method of reading data from a first storage device of a storage system, comprising: receiving a read request at the first storage device from a requestor, wherein the first storage device is among a plurality of storage devices of the storage system, wherein the storage system operates to replicate data between different ones of the plurality of storage devices over a period of time, and wherein multiple versions of data responsive to the read request are stored on the plurality of storage devices of the storage system; determining, at the first storage device, whether a more recent version of the data responsive to the read request is available on the first storage device; in response to the more recent version of the data not being available on the first storage device, the first storage device passing the read request for the more recent version of the data to an other storage device, of the plurality of storage devices, coupled to the first storage device; determining, at the other storage device, whether the more recent version of the data is available on the other storage device; in response to the more recent version of the data being available at the other storage device, the first storage device obtaining and copying the more recent version of the data from the other storage device and responding to the read request by providing the more recent version of the data to the requestor; in response to the more recent version of the data not being available on the other storage device, the other storage device passing the read request for the more recent version of the data to at least one further downstream storage device of the plurality of storage devices, the other storage device being an intermediate storage device interposed between the first storage device and the at least one further downstream storage device; determining, at the at least one further downstream storage device, whether the more recent version of the data is available on the at least one further downstream storage device; and in response to the more recent version of the data being available at the at least one further downstream storage device, returning a copy of the more recent version of the data to the first storage device via the intermediate storage device and copying the more recent version of the data to the first storage device to enable the first storage device to respond to the read request by providing the more recent version of the data to the requestor, wherein the passing of the read request among the first storage device, the intermediate storage device and the at least one further downstream device, and the copying of the more recent version of the data from the intermediate storage device or the at least one further downstream storage device to the first storage device, are transparent to the requestor.