Patent ID: 8447872

Claim:
An apparatus comprising: a port task scheduler to maintain a list of tasks associated with a remote storage device each task involving a data transfer using a serial storage protocol between a local initiator port in a storage Input/Output controller and the remote storage device over at least one of a plurality of physical links, the port task scheduler to include a load balancer to schedule tasks from among the list of tasks by scheduling the data transfer over at least one of the plurality of physical links associated with a connection established between the remote storage device and the local initiator port, the load balancer to provide a fair share of link servicing to each of a plurality of remote storage devices sharing the plurality of physical links such that each remote storage device receives a fair share of communication bandwidth, the load balancer to maintain a load balancing timeout timer associated with a connection established between the remote storage device and the local initiator port, the load balancer to count frames transferred over the connection and decrement the load balancing timeout timer only while frames are being transferred over the connection, the load balancer to cause the connection to be closed when the load balancing timeout timer expires, the load balancer to return a partially completed task to the list of tasks when the load balancing timeout timer expires and there are pending tasks in the list of tasks, the partially completed task to be re-scheduled by the load balancer.