Patent ID: 8892789

Claim:
A method for accelerating proxy Input/Output (proxy I/O), comprising: receiving a command at a primary target storage system included in a plurality of storage systems of a target-based block storage cluster, the primary target storage system comprising a CPU, a first I/O controller communicatively coupled to an initiator system, and a second I/O controller communicatively coupled to a proxy target storage system, the command being transmitted by the initiator system to the primary target storage system via a storage area network, the command including a request for data; forwarding the command to a session layer of the primary target storage system; when a virtualization layer of the primary target storage system determines that a portion of the data requested in the data request is not stored by the primary target storage system, but is stored by the proxy target storage system included in the plurality of storage systems, the proxy target storage system comprising a CPU and an I/O controller for the proxy target storage system, providing a proxyIO request to a proxy initiator of the primary target storage system; based on the proxyIO request, generating a proxyDataIn request and providing the proxyDataIn request from the session layer of the primary target storage system to the second I/O controller; based on the proxyDataIn request, creating a command context via the second I/O controller, said command context being indexed by proxy task ID; requesting said portion of the data from the proxy target storage system; and providing, to the initiator system, a received response to the requesting, wherein the providing includes routing the response from the second I/O controller to the first I/O controller by a connection layer command.