Accelerating internet small computer system interface (iSCSI) proxy input/output (I/O)
First Claim
1. 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 clustered storage array, the command being transmitted by an 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 a proxy target storage system included in the plurality of storage systems, providing a proxyIO request to a proxy initiator of the primary target storage system; and
based on the proxyIO request, generating a proxyDataIn request and providing the proxyDataIn request to an I/O controller for the primary target storage system.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method for accelerating proxy Input/Output (proxy I/O). The method includes the step of receiving a command at a primary target storage system. The primary target storage system may be part of a clustered storage array. The command may be a command which was transmitted by an initiator system via a storage area network, and may include a request for data. The method further includes the step of forwarding the command to a session layer of the primary target storage system. Further, 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 a proxy target storage system included in the plurality of storage systems, the method further includes providing a proxyIO request to a proxy initiator of the primary target storage system. Further, the method may further include, based on the proxyIO request, generating a proxyDataIn request and providing the proxyDataIn request to an I/O controller for the primary target storage system.
-
Citations
20 Claims
-
1. 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 clustered storage array, the command being transmitted by an 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 a proxy target storage system included in the plurality of storage systems, providing a proxyIO request to a proxy initiator of the primary target storage system; and based on the proxyIO request, generating a proxyDataIn request and providing the proxyDataIn request to an I/O controller for the primary target storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable medium having computer-executable instructions for performing a method for accelerating proxy Input/Output (proxy I/O), said method comprising:
-
receiving a command at a primary target storage system included in a plurality of storage systems of a clustered storage array, the command being transmitted by an 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 a proxy target storage system included in the plurality of storage systems, providing a proxyIO request to a proxy initiator of the primary target storage system; and based on the proxyIO request, generating a proxyDataIn request and providing the proxyDataIn request to an I/O controller for the primary target storage system.
-
-
20. A system, comprising:
-
means for receiving a command at a primary target storage system included in a plurality of storage systems of a clustered storage array, the command being transmitted by an initiator system to the primary target storage system via a storage area network, the command including a request for data; means for 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 a proxy target storage system included in the plurality of storage systems, means for providing a proxyIO request to a proxy initiator of the primary target storage system; and based on the proxyIO request, means for generating a proxyDataIn request and providing the proxyDataIn request to an I/O controller for the primary target storage system.
-
Specification