Storage device, and data path failover method of internal network of storage controller
First Claim
1. A storage device including an internal network in which components located within a storage controller are connected by PCI Express, wherein the storage controller and the internal network thereof comprise:
- one or more root complexes that have a plurality of root ports as a whole, each root complex including one or more root ports;
one or more processors connected to each root complex;
a plurality of virtual hierarchies, which include a first virtual hierarchy and a second virtual hierarchy corresponding to each of the root ports;
a plurality of endpoint devices which include a front-end interface endpoint device for connecting to a host device, a back-end interface endpoint device for connecting to a group of storage devices, and a cache memory interface endpoint device for connecting to a cache memory; and
a switch that connects the plurality of root ports and the plurality of endpoint devices, and that configures data paths between the root ports and the endpoint devices;
wherein;
the front-end interface endpoint device has functions, one of which is in an active state in the first virtual hierarchy and another of which is in an inactive state in the second virtual hierarchy;
the back-end interface endpoint device has functions, one of which is in an active state in the second virtual hierarchy and another of which is in an inactive state in the first virtual hierarchy;
the state of the functions which the front-end interface endpoint device and the back-end interface endpoint device have is changeable between active state and inactive state;
the cache memory interface endpoint device has functions, one of which is in an active state in the first virtual hierarchy and another of which is in an active state in the second virtual hierarchy; and
the storage controller and the internal network transfer data in the first and second virtual hierarchies in a normal state;
and further wherein, when a failure occurs in one of the data paths from one of the plurality of root ports to one of the functions which at least one of the endpoint devices has via the switch in the first virtual hierarchy, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path, a processing of changing the function belonging to the first virtual hierarchy to the inactive state in the front-end interface endpoint device and the function belonging to the second virtual hierarchy to the active state in the back-end interface endpoint device, and a processing of transferring a data in the second virtual hierarchy, as a processing for executing a data path failover, or when a failure occurs in one data path from one of the plurality of root ports to one of the functions which at least one of the endpoint devices has via the switch in the second virtual hierarchy, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path, a processing of changing the function belonging to the second virtual hierarchy to the inactive state in the back-end interface endpoint device and the function belonging to the first virtual hierarchy to the active state in the front-end interface endpoint device, and a processing of transferring a data in the first virtual hierarchy, as a processing for executing a data path failover.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage device in which the MR-IOV is applied to an internal network of a storage controller. Data path failover can be executed in the storage device. The internal network of the storage controller is configured to enable the access of a virtual function (VF) “VF 0:0, 1” of each endpoint device (ED0-ED2) from a root port RP0. Likewise, “VF 1:0, 1” of each endpoint device can be accessed from a root port RP1. In a first data path from the RP0 to ED0 in a normal state, “VF 0:0, 1” and “MVF 0, 0” are connected by VF mapping. When a failure occurs on the first data path, the MR-PCIM executes the VF migration, whereby in the second data path from the RP1 to ED0, “VF 1:0, 1” and “MVF 0, 0” are connected by VF mapping. As a result, failover to the second data path is realized.
63 Citations
8 Claims
-
1. A storage device including an internal network in which components located within a storage controller are connected by PCI Express, wherein the storage controller and the internal network thereof comprise:
-
one or more root complexes that have a plurality of root ports as a whole, each root complex including one or more root ports; one or more processors connected to each root complex; a plurality of virtual hierarchies, which include a first virtual hierarchy and a second virtual hierarchy corresponding to each of the root ports; a plurality of endpoint devices which include a front-end interface endpoint device for connecting to a host device, a back-end interface endpoint device for connecting to a group of storage devices, and a cache memory interface endpoint device for connecting to a cache memory; and a switch that connects the plurality of root ports and the plurality of endpoint devices, and that configures data paths between the root ports and the endpoint devices; wherein; the front-end interface endpoint device has functions, one of which is in an active state in the first virtual hierarchy and another of which is in an inactive state in the second virtual hierarchy; the back-end interface endpoint device has functions, one of which is in an active state in the second virtual hierarchy and another of which is in an inactive state in the first virtual hierarchy; the state of the functions which the front-end interface endpoint device and the back-end interface endpoint device have is changeable between active state and inactive state; the cache memory interface endpoint device has functions, one of which is in an active state in the first virtual hierarchy and another of which is in an active state in the second virtual hierarchy; and the storage controller and the internal network transfer data in the first and second virtual hierarchies in a normal state; and further wherein, when a failure occurs in one of the data paths from one of the plurality of root ports to one of the functions which at least one of the endpoint devices has via the switch in the first virtual hierarchy, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path, a processing of changing the function belonging to the first virtual hierarchy to the inactive state in the front-end interface endpoint device and the function belonging to the second virtual hierarchy to the active state in the back-end interface endpoint device, and a processing of transferring a data in the second virtual hierarchy, as a processing for executing a data path failover, or when a failure occurs in one data path from one of the plurality of root ports to one of the functions which at least one of the endpoint devices has via the switch in the second virtual hierarchy, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path, a processing of changing the function belonging to the second virtual hierarchy to the inactive state in the back-end interface endpoint device and the function belonging to the first virtual hierarchy to the active state in the front-end interface endpoint device, and a processing of transferring a data in the first virtual hierarchy, as a processing for executing a data path failover. - View Dependent Claims (2, 3, 4)
-
-
5. A method of operating a storage device including an internal network in which components located within a storage controller are connected by PCI Express, wherein the storage controller and the internal network thereof comprise:
-
one or more root complexes that have a plurality of root ports as a whole, each root complex including one or more root ports; one or more processors connected to each root complex; a plurality of virtual hierarchies, which include a first virtual hierarchy and a second virtual hierarchy corresponding to each of the root ports; a plurality of endpoint devices which include a front-end interface endpoint device for connecting to a host device, a back-end interface endpoint device for connecting to a group of storage devices, and a cache memory interface endpoint device for connecting to a cache memory; and a switch that connects the plurality of root ports and the plurality of endpoint devices, and that configures data paths between the root ports and the endpoint devices; wherein; the front-end interface endpoint device has functions, one of which is in an active state in the first virtual hierarchy and another of which is in an inactive state in the second virtual hierarchy; the back-end interface endpoint device has functions, one of which is in an active state in the second virtual hierarchy and another of which is in an inactive state in the first virtual hierarchy; the state of the functions which the front-end interface endpoint device and the back-end interface endpoint device have is changeable between active state and inactive state; the cache memory interface endpoint device has functions, one of which is in an active state in the first virtual hierarchy and another of which is in an inactive state in the second virtual hierarchy; and the storage controller and the internal network transfer data in the first and second virtual hierarchies in a normal state, said method comprising; when a failure occurs in one of the data paths from one of the plurality of root ports to one of the functions which at least one of the endpoint devices has via the switch in the first virtual hierarchy, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path, a processing of changing the function belonging to the first virtual hierarchy to the inactive state in the front-end interface endpoint device and the function belonging to the second virtual hierarchy to the active state in the back-end interface endpoint device, and a processing of transferring a data in the second virtual hierarchy, as a processing for executing a data path failover, or when a failure occurs in one data path from one of the plurality of root ports to one of the functions which at least one of the endpoint devices has via the switch in the second virtual hierarchy, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path, a processing of changing the function belonging to the second virtual hierarchy to the inactive state in the back-end interface endpoint device and the function belonging to the first virtual hierarchy to the active state in the front-end interface endpoint device, and a processing of transferring a data in the first virtual hierarchy, as a processing for executing a data path failover. - View Dependent Claims (6, 7, 8)
-
Specification