Method and apparatus for offloading network processes in a computer storage system
First Claim
1. A computer storage system, comprising:
- at least one storage system node comprising a local system bus, a local accelerator module connected to the local system bus and configured to perform one or more network operations, and a local storage device element module connected to the local system bus and configured to perform local storage device access operations received through the local system bus; and
the local accelerator module further configured to receive a multi-protocol protocol data unit (PDU), wherein the PDU comprises a storage operating system request directed to a non-local clustered storage device element module, the local accelerator module further configured to transform the storage operating system request into a storage operating system call, and the local accelerator module further configured to perform a network operation to direct the storage operating system call to the non-local clustered storage device element module without using the local system bus.
1 Assignment
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.
8 Citations
37 Claims
-
1. A computer storage system, comprising:
-
at least one storage system node comprising a local system bus, a local accelerator module connected to the local system bus and configured to perform one or more network operations, and a local storage device element module connected to the local system bus and configured to perform local storage device access operations received through the local system bus; and the local accelerator module further configured to receive a multi-protocol protocol data unit (PDU), wherein the PDU comprises a storage operating system request directed to a non-local clustered storage device element module, the local accelerator module further configured to transform the storage operating system request into a storage operating system call, and the local accelerator module further configured to perform a network operation to direct the storage operating system call to the non-local clustered storage device element module without using the local system bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer storage system accelerator module configured to connect to a system bus of a clustered storage system node, comprising:
-
a packet and connection processor (PCP) configured to communicate with a network and further configured to receive multi-protocol protocol data units (PDUs) from the network; at least one protocol-specific operation parser (OP) module configured to communicate with the PCP, the OP module further configured to provide instructions to at least one protocol-specific protocol handler module; the at least one protocol-specific protocol handler module configured to communicate with the OP module to receive the provided instructions and further configured to form a request to a cluster interface (CF) module; the CF module configured to communicate with the at least one protocol-specific protocol handler and further configured to pass the request to a stream transport (ST) module; and the ST module configured to communicate with the at least one protocol-specific protocol handler, the ST module further configured to transform the PDU into a storage operating system call, the ST module further configured to identify a destination storage device element module for the storage operating system call without accessing the system bus of the clustered storage system node. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for accelerating computer storage system operations by a clustered computer storage system, comprising:
-
receiving at least one protocol data unit (PDU) from a network by an accelerator module connected to a system bus of a node in the clustered computer storage system; parsing each of the at least one PDUs to form a storage operating system request by the accelerator module; determining by the accelerator module whether the storage operating system request is directed to a local storage device element module on the node or to a remote node of the clustered computer storage system, wherein the determination is made without the accelerator module accessing the system bus; and communicating non-locally directed storage operating system requests, by the accelerator module, to a non-local storage device element module of the target remote node without accessing the system bus. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A non-transitory computer readable storage medium stored on a storage device containing executable program instructions executed by a processor, comprising:
-
program instructions that receive at least one protocol data unit (PDU) from a network by an accelerator module connected to a system bus of a node in a clustered computer storage system; program instructions that parse each of the at least one PDUs to form a storage operating system request by the accelerator module; program instructions that determine by the accelerator module whether the storage operating system request is directed to a local storage device element on the node or to a remote node of the clustered computer storage system, wherein the determination is made without the accelerator module accessing the system bus; and program instructions that communicate non-locally directed storage operating system requests, by the accelerator module, to a non-local storage device element module of the target remote node without accessing the system bus. - View Dependent Claims (35, 36)
-
-
37. A computer storage system accelerator module, comprising:
-
means for receiving at least one protocol data unit (PDU) from a network by an accelerator module connected to a system bus of a node in a clustered computer storage system; means for parsing each of the at least one PDUs to form a storage operating system request by the accelerator module; means for determining by the accelerator module whether the storage operating system request is directed to a local storage device element module on the node or to a remote node of the clustered computer storage system, wherein the determination is made without the accelerator module accessing the system bus; and means for communicating non-locally directed storage operating system requests, by the accelerator module, to a non-local storage device element module of the target remote node without accessing the system bus.
-
Specification