High performance storage array interconnection fabric using multiple independent paths
First Claim
Patent Images
1. A storage system, comprising:
- a plurality of nodes, wherein different ones of said plurality of nodes perform different functional roles in the storage system;
wherein a first portion of said plurality of nodes are storage nodes each comprising one or more mass storage devices;
wherein a second portion of said plurality of nodes are one or more host interface nodes each configured to provide an interface for the storage system to one or more host computers; and
an interconnection fabric configured for connecting each one of said plurality of nodes to every other one of said plurality of nodes;
wherein the interconnection fabric comprises a plurality of point-to-point connections between said plurality of nodes, wherein said interconnection fabric is configured to provide a plurality of independent communication paths between each one of said plurality of nodes to every other one of said plurality of nodes, wherein the interconnection fabric comprises at least one of a torus interconnection fabric, a mesh interconnection fabric, a hypercube interconnection fabric, a multiple path butterfly interconnection fabric, a complete graph interconnection fabric, a hex network interconnection fabric, or a fat tree interconnection fabric.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage array interconnection fabric may be configured using multiple independent paths. A storage system including a plurality of communication paths is configured for connecting each node of a plurality of nodes forming an interconnection fabric. Each of the communications paths is an independent communications path. In addition, a first portion of the plurality of nodes is configured to communicate with a plurality of mass storage devices such as disk drives. A second portion of the plurality of nodes may be configured to communicate with a host.
-
Citations
20 Claims
-
1. A storage system, comprising:
-
a plurality of nodes, wherein different ones of said plurality of nodes perform different functional roles in the storage system; wherein a first portion of said plurality of nodes are storage nodes each comprising one or more mass storage devices; wherein a second portion of said plurality of nodes are one or more host interface nodes each configured to provide an interface for the storage system to one or more host computers; and an interconnection fabric configured for connecting each one of said plurality of nodes to every other one of said plurality of nodes; wherein the interconnection fabric comprises a plurality of point-to-point connections between said plurality of nodes, wherein said interconnection fabric is configured to provide a plurality of independent communication paths between each one of said plurality of nodes to every other one of said plurality of nodes, wherein the interconnection fabric comprises at least one of a torus interconnection fabric, a mesh interconnection fabric, a hypercube interconnection fabric, a multiple path butterfly interconnection fabric, a complete graph interconnection fabric, a hex network interconnection fabric, or a fat tree interconnection fabric. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of interconnecting a plurality of nodes in a storage system, said method comprising:
-
connecting each node to each other node using a plurality of point-to-point connections; forming an interconnection fabric comprising the nodes and said point-to-point connections, wherein the interconnection fabric comprises at least one of a torus interconnection fabric, a mesh interconnection fabric, a hypercube interconnection fabric, a multiple path butterfly interconnection fabric, a complete graph interconnection fabric, a hex network interconnection fabric, or a fat tree interconnection fabric; a source node sending a first message to a destination node over a first communication path in said interconnection fabric; said source node sending a second message to said destination node over a second communication path in said interconnection fabric, wherein said second communication path is independent from said first communication path; said destination node interfacing to a mass storage device to respond to said first and second communications; wherein different ones of said plurality of nodes perform different functional roles within the storage system, wherein a first portion of said plurality of nodes are storage nodes each comprising one or more mass storage devices, wherein said destination node is one of said first portion of said plurality of nodes, and wherein a second portion of said plurality of nodes are one or more host interface nodes each configured to provide an interface for the storage system to a host computer. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for routing communications within a storage system comprising a plurality of nodes interconnected by an interconnection fabric, the method comprising:
-
sending a communication from a source node to a destination node using a first communication path comprising one or more point-to-point connections between said source node, any intervening nodes, and said destination node; detecting a failure in said first communication path; and resending said communication from said source node to said destination node using a second communication path which is independent from said first communication path, wherein said second communication path comprises one or more point-to-point connections between said source node, any intervening nodes, and said destination node; wherein different ones of said plurality of nodes perform different functional roles within the storage system, wherein a first portion of said plurality of nodes are storage nodes each comprising one or more mass storage devices, and wherein a second portion of said plurality of nodes are one or more host interface nodes each configured to provide an interface for the storage system to a host computer; wherein said source node and said destination node are part of the plurality of nodes interconnected by the interconnection fabric, wherein the interconnection fabric comprises at least one of a torus interconnection fabric, a mesh interconnection fabric, a hypercube interconnection fabric, a multiple path butterfly interconnection fabric, a complete graph interconnection fabric, a hex network interconnection fabric, or a fat tree interconnection fabric. - View Dependent Claims (17, 18, 19, 20)
-
Specification