US7007189B2

Routing scheme using preferred paths in a multi-path interconnection fabric in a storage network

Summary by NHIP

Preference-based path selection in storage networks

The method routes communications by selecting paths based on assigned preferences that dictate selection frequency. Static preference values ensure each path is chosen at least once while favoring more preferred routes over less preferred ones.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

Embodiments of a routing system are disclosed, including a method for routing communications in a storage system. The storage system may include multiple nodes interconnected by an interconnection fabric that provides multiple independent paths between a source node and a destination node. Some nodes may be connected to one or more disk drives. The method may include receiving a communication to be sent from a source node to a destination node, selecting a communication path from the multiple independent paths, and sending the communication on the selected communication path. This process may be repeated so that multiple communications may be sent. Each communication path may be selected according to a preference assigned to it, so that a more preferred path is selected more often than a less preferred path.

US7007189B2, drawing sheet 1
Sheet 1 of 17

Term

Term ended

Expired 2 October 2023, 3 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

44 claims: 4 independent, 40 dependent

  1. 1
    Broadest claimClaim Score 54, average(NHIP)A method for routing communications in a storage system, comprising:assigning a preference to each of a plurality of communication paths between a source node and a destination node, wherein each preference indicates a relative measure of how often one of the communication paths should be selected for sending one of a plurality of communications, and wherein each preference indicates that a corresponding communication path should be chosen at least once when sending the communications;receiving one of the communications to be sent from the source node to the destination node;selecting a communication path from the plurality of communication paths between the source node and the destination node;sending the communication on the selected communication path from the source node to the destination node;and repeating said receiving, said selecting, and said sending for a plurality of communications to be sent from the source node to the destination node, wherein said selecting is performed so that a more preferred path is selected more often than a less preferred path;wherein each of the communication paths between the source node and the destination node is independent of the other communication paths.
  2. 15
    A storage system, comprising:a plurality of nodes interconnected by an interconnection fabric, and wherein a portion of the nodes are coupled to one or more storage devices;a source configured to send a plurality of communications to a destination node, wherein the source comprises a source node and a source device configured to communicate with the source node;wherein the source is further configured to send the communications from the source node to the destination node by selecting one of a plurality of communication paths between the source node and the destination node according to a preference assigned to that communication path, wherein the source is configured to repeatedly select communication paths until all of the communications are sent, and wherein the source is configured to select a more preferred communication path more frequently than a less preferred communication path;wherein said preference indicates that a corresponding communication path should be chosen at least once when sending the communications;and wherein each of the communication paths between the source node and the destination node is independent of the other communication paths.
  3. 24
    A device, comprising:an interface configured to communicate with a source node in an interconnection fabric coupling together a plurality of nodes and providing a plurality of independent communication paths between the source node and a destination node;and a controller configured to communicate a plurality of communications to the source node to be sent on the independent communication paths to one or more disk drives coupled to the destination node;wherein for each of the plurality of communications the controller is further configured to select one of the communication paths according to a preference assigned to that communication path, encode the selected path in a communication, and communicate the communication via the interface to the source node, and wherein the controller is configured to repeatedly select communication paths, encode communication paths in communications, and communicate communications until all of the communications have been communicated via the interface to the source node;paths, and communicate communications until all of the communications are communicated via the interface to the source node;wherein the controller is configured to select a more preferred communication path more frequently than a less preferred path;wherein said preference indicates that a corresponding communication path should be chosen at least once when sending the communications.
  4. 35
    A node, comprising:a routing unit;a plurality of input ports;and a plurality of output ports;wherein the node is configured to be connected to an interconnection fabric coupling together a plurality of nodes and comprising a plurality of independent communication paths between the node and a destination node;wherein the routing unit is configured to send a plurality of communications on the independent communication paths to one or more disk drives coupled to the destination node;wherein the routing unit is further configured to send the communications to the one or more disk drives coupled to the destination node by selecting one of the communication paths according to a preference assigned to that communication path and sending a communication on the selected communication path, wherein the routing unit is configured to repeatedly select communication paths and send communications until all of the communications are sent;and wherein the routing unit is configured to select a more preferred communication path more frequently than a less preferred path;wherein said preference indicates that a corresponding communication path should be chosen at least once when sending the communications.