Patent ID: 7979588

Claim:
A data storage system for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface having: a plurality of storage processors, one portion of the storage processors having a user data port coupled to the host computer/server and another portion of the storage processors having a user data port coupled to the bank of disk drives; and, a packet switching network coupled to the plurality of storage processors for passing packets having a Serial Rapid IO (SRIO) format between the plurality storage processors, each one of the plurality of storage processors comprising: a PCIE/SRIO protocol controller for converting packets between a PCI Express format used by the plurality of storage processors and the Serial Rapid IO format used by the packet switching network, such PCIE/SRIO controller comprising: (a) a DSA section for passing DSA packets, such DSA packets providing atomic operation requests to the packet switching network for operation by another one or the same one of the storage processors and for performing atomic operations requests received from another one or the same one of the plurality of storage processors from the packet switching network; (b) a non-DSA section for passing non-DSA packets to the packet switching network; (c) a PCIE end point having a first port for transmitting and receiving PCI packets and a second port coupled to the DSA section and the non-DSA section, such PCIE end point having: (i) a first buffer section for storing non-DSA packets; (ii) a first selector section for coupling either non-DSA packets to non-DSA pipe section through the PCIE end point via the buffer section or DSA packets directly to the DSA section by-passing the buffer section selectively in accordance with whether the transfer is a DSA transfer or a non-DSA transfer; (d) an SRIO end point having a first port coupled to the packet switching network and a second port coupled to the DSA section and the non-DSA section, such SRIO end point comprising: (i) a second buffer section for storing non-DSA packets; (ii) a second selector section for coupling either non-DSA packets through the SRIO end point via the second buffer section or DSA packets directly through the SRIO end point by-passing the second buffer section selectively in accordance with whether the transfer is a DSA transfer or a non-DSA transfer to made through the SRIO end point; and wherein the DSA section includes: a DSA buffer section for storing DSA packets providing atomic operation requests to the packet switching network for operation by another one of the storage processors when there is congestion on the switching network; an acceleration path controller for feeding DSA requests to the DSA pipe from the PCIE end point around the DSA buffer to thereby bypass the DSA buffer in the absence of congestion on the packet switching network.