Method and apparatus for offloading network processes in a computer storage system
First Claim
1. A method for accelerating computer storage system operations by a clustered computer storage system, comprising:
- receiving a data packet by an accelerator module operatively connected to a first node in the clustered computer storage system, the accelerator module operatively connected to a local D-module;
forming a storage access request from the packet to determine whether the storage operating system request is directed to the local D-module or whether the storage access request is directed to a non-local D-module operatively connected to a second node in the clustered computer storage system; and
in response to determining that the storage access request is directed to the non-local D-module, communicating the storage access request to the non-local D-module, wherein the storage access request is communicated without using resources of the local D-module.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for offloading network processes from main processors of a storage system and performing them on parallel processing modules. Embodiments of the present invention improve performance of a clustered storage system by performing certain network processes in an accelerator module of a storage system node. The accelerator module receives multi-protocol protocol data units (PDUs) from a network interface, performs protocol operations on the PDUs to form file system requests and passes the file system requests to a local D-module. If a file system request is directed to a non-local D-module in the cluster, the accelerator module repackages the request for transmission to the appropriate D-module and passes it back to the network without using local D-module processing resources or passing data over the system bus.
-
Citations
14 Claims
-
1. A method for accelerating computer storage system operations by a clustered computer storage system, comprising:
-
receiving a data packet by an accelerator module operatively connected to a first node in the clustered computer storage system, the accelerator module operatively connected to a local D-module; forming a storage access request from the packet to determine whether the storage operating system request is directed to the local D-module or whether the storage access request is directed to a non-local D-module operatively connected to a second node in the clustered computer storage system; and in response to determining that the storage access request is directed to the non-local D-module, communicating the storage access request to the non-local D-module, wherein the storage access request is communicated without using resources of the local D-module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer readable medium containing executable program instructions to be executed by a processor, comprising:
-
program instructions that receiving a data packet by an accelerator module operatively connected to a first node in a clustered computer storage system, the accelerator module operatively connected to a local D-module; program instructions that form a storage access request from the packet to determine whether the storage access request is directed to the local D-module or whether the storage access request is directed to a non-local D-module operatively connected to a second node in the clustered computer storage system; and program instructions that communicate, in response to determining that the storage access request is directed to the non-local D-module, the storage access request to the non-local D-module, wherein the storage access request is communicated without using resources of the local D-module. - View Dependent Claims (13)
-
-
14. A computer data storage system operatively connected to an accelerator module, comprising:
-
means for receiving a data packet at the accelerator module operatively connected to a local D-module; means for forming a request from the packet to determine whether the request is directed to the local D-module or whether the request is directed to a non-local D-module; and means for communicating, in response to determining that the request is directed to the non-local D-module, the request to the non-local D-module without using resources of the local D-module.
-
Specification