Computer storage system with redundant storage servers and at least one cache server
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one embodiment, a computer storage system includes one or more redundant storage servers coupled to one or more cache servers. A redundant storage server is coupled to each disk server. A disk server comprises at least one mass storage disk operable to store data. The data is segmented according to logical blocks, where each logical block has an associated logical block identifier. The redundant storage servers are operable to replicate each logical block of at least two of the disk servers. The cache servers comprise a cache memory and are coupled to each redundant storage server. Each cache server is operable to access the replicated logical blocks according to the associated logical block identifiers, and cache, in the cache memory, the replicated logical block according to the associated logical block identifier.
-
Citations
21 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method comprising:
-
accessing, by a plurality of redundant storage servers, a plurality of disk servers, each redundant storage server coupled to each disk server 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; replicating each logical block of at least two of the plurality of disk servers; receiving, by at least one cache server, 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; accessing, by the at least one cache server, the replicated logical blocks according to the plurality of logical block identifiers, the at least one cache server comprising a cache memory, the at least one cache server coupled to each redundant storage server; and caching, in the cache memory, a portion of the plurality of replicated logical blocks according to the plurality of logical block identifiers. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. 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 using a storage area network protocol 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 a plurality of mass storage disks 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 comprising a spare redundant storage server, the plurality of redundant storage servers operable to; replicate each logical block of at least two of the plurality of disk servers; and a plurality of cache servers each comprising a cache memory, each cache server coupled to each redundant storage server using a storage area network protocol, the plurality of cache servers comprising a spare cache server, each cache server operable to; receive a request from a client coupled to the respective 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 plurality of replicated logical blocks according to the plurality of logical block identifiers; and cache, in the cache memory of the respective cache server, a portion of the replicated plurality of logical blocks according to the plurality of logical block identifiers.
-
Specification