Method and apparatus for providing high-performance and highly-scalable storage acceleration
First Claim
1. A storage system, comprising:
- a cache system disposed in a network path between, a storage server and a compute server, the cache system further comprising;
a plurality of cache devices, each cache device comprising;
a processor;
a data memory; and
a network interface,wherein each cache device of the plurality of cache devices is configured to act as a proxy server to maintain a directory of a location of the cache device of the plurality of cache devices in which a data record is stored; and
, one of the plurality of cache devices is designated as a default device to respond to a request from the compute server and to communicate with other cache devices of the plurality of cache devices so that;
responsive to the request for the stored data record, the stored data record is sent directly from the cache device in which the data record is stored to the compute server, providing that the data record of the request is stored in one or more of the plurality of cache devices, andwherein the cache device intercepting the storage operation request has a network address that is a virtual address of a proxy computer application program operating on the cache system.
15 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus of providing high performance and highly scalable storage acceleration includes a cluster node-spanning RAM disk (CRD) interposed in the data path between a storage server and a computer server. The CRD addresses performance problems with applications that need to access large amounts of data and are negatively impacted by the latency of classic disk-based storage systems. It solves this problem by placing the data the application needs into a large (with respect to the server'"'"'s main memory) RAM-based cache where it can be accessed with extremely low latency, hence improving the performance of the application significantly. The CRD is implemented using a novel architecture which has very significant cost and performance advantages over existing or alternative solutions.
-
Citations
17 Claims
-
1. A storage system, comprising:
-
a cache system disposed in a network path between, a storage server and a compute server, the cache system further comprising; a plurality of cache devices, each cache device comprising; a processor; a data memory; and a network interface, wherein each cache device of the plurality of cache devices is configured to act as a proxy server to maintain a directory of a location of the cache device of the plurality of cache devices in which a data record is stored; and
, one of the plurality of cache devices is designated as a default device to respond to a request from the compute server and to communicate with other cache devices of the plurality of cache devices so that;responsive to the request for the stored data record, the stored data record is sent directly from the cache device in which the data record is stored to the compute server, providing that the data record of the request is stored in one or more of the plurality of cache devices, and wherein the cache device intercepting the storage operation request has a network address that is a virtual address of a proxy computer application program operating on the cache system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of storage access, comprising:
-
providing a cache system disposed in a network path between a storage server and a compute server; wherein the cache system comprises; a plurality of cache devices, each cache device comprising; a processor configured to act as a proxy server; a data memory; and a network interface, configuring a cache device of the plurality of cache devices for intercepting storage operations between the compute server and the storage server and maintaining a directory of the cache device of the plurality of cache devices on which data records are stored; determining the cache device on which a data record of the data records requested by the intercepted storage operation is stored using the directory; communicating with the determined cache device to cause the requested data record to be sent from the cache device on which the requested data record is stored to the compute server; sending intercepted storage operations where the data record is not stored in the plurality of cache devices to the storage server, and wherein the cache device intercepting the storage operation request has a network address that is a virtual address of a proxy computer application program operating on the cache system. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification