Patent ID: 8145837

Claim:
A computer-implemented storage system comprising: a plurality of redundant storage servers, each redundant storage server coupled to each of a plurality of disk servers through a respective communication path, each communication path between a redundant storage server and a disk server not including an additional redundant storage server, each disk server having at least one mass storage disk operable to store data, the data segmented according to a plurality of logical blocks, each logical block having an associated logical block identifier, the plurality of redundant storage servers operable to: replicate each logical block of at least two of the plurality of disk servers; and at least one cache server comprising a cache memory, the at least one cache server coupled to each redundant storage server, the at least one cache server operable to: receive a request from a client coupled to the at least one cache server, the request comprising a plurality of logical block identifiers of data stored by the plurality of disk servers that are coupled to the plurality of redundant storage servers; access the replicated logical blocks according to the plurality of logical block identifiers; and cache, in the cache memory, a portion of the replicated logical blocks according to the plurality of logical block identifiers.