Patent ID: 8090789

Claim:
A method 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, the method comprising: passing packets of user data between the plurality of storage processors via a packet switching network coupled to the plurality of storage processors, each one of the plurality of storage processors comprising: a CPU section; and a data pipe section coupled between the user data port and the packet switching network, such data pipe section comprising: a plurality of data pipes, wherein the data pipes are initially void of any apriori assignment of priority; and wherein the packets of user data at the user data port passes through the data pipes to the packet switching network; placing the descriptors on one or more request rings each one of the descriptors being associated with a corresponding one of a plurality of user data I/O transfers, and wherein the ring manager: selects one of the request rings to service next using a prioritized scheduling algorithm; retrieves one of the descriptors from the selected one of the request rings; determines which one or ones of the plurality of data pipes is available to process the selected descriptor; selects the determined available one of the plurality of data pipes for a corresponding one of the plurality of user data I/O transfers; wherein the selecting determined available one of the plurality of data pipes for a corresponding one of the plurality of user data I/O transfers comprises selecting the determined available one of the plurality of data pipes for a corresponding one of the plurality of user data I/O transfers; and programming the selected one of the data pipes in accordance with the retrieved descriptors to control the flow of the user data associated with the corresponding user data I/O transfer passing through such selected one of the data pipes.