Patent ID: 7379988

Claim:
A storage controller, comprising: a host interface attachable to a host device; a server interface attachable separately to a plurality of storage server devices through a plurality of corresponding active communications links; a first stored table, comprising: a list of possible characteristics of a link between the server interface and a storage server device; and for each possible characteristic, a corresponding performance value; a second stored table, comprising: a list identifying the active links between the server interface and each storage server device; and for each active link, a corresponding one of the performance characteristics; and a processing unit, programmed to: receive from the host a request for a storage operation on selected data; for each active link, compare the corresponding link characteristic in the second table with the list of possible link characteristics in the first table; for each active link, determine a corresponding performance value cross-reference each active link in the second table with a performance value in the first table; determine which active link has the most favorable performance value; and direct that the requested storage operation be performed by the storage server device coupled to the storage controller over the active link with the most favorable performance value; wherein: an enterprise system connection link of less than a first distance has a first performance value; an enterprise system connection link of less than a second distance has a second performance value; an enterprise system connection on dense wavelength division multiplexing (“DWDM”) link less than a third distance has a third performance value; an enterprise system connection on DWDM link of less than a fourth distance has a fourth performance value; an enterprise system connection on DWDM link of greater than the fourth distance has a fifth performance value; a fiber connection link of less than a fifth distance has a performance value equal to the first performance value; a fiber connection link of less than a sixth distance has a performance value equal to the second performance value; a fiber connection link of greater than a sixth distance has a performance value equal to the third performance value; a channel extender of less than a seventh distance has a performance value equal to the third performance value; and a channel extender of greater than the seventh distance has a performance value equal to the fourth performance value.