Storage device, and data path failover method of internal network of storage controller
First Claim
1. A storage device having 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 having one or more root ports;
one or more processors connected to each root complex;
a plurality of endpoint devices that are multi-root aware devices provided with predetermined interfaces and having a plurality of virtual functions that can be accessed from each of the plurality of root ports; and
a switch that is a multi-root aware switch that connects the plurality of root ports and the plurality of endpoint devices, configures data paths, and has a plurality of ports;
at least one of the plurality of endpoint devices can execute a virtual function migration of changing a mapping of one of the plurality of the virtual functions to one of the predetermined interfaces;
whereina first endpoint device comprising a front-end interface for connecting a host device and capable of executing the virtual function migration, anda second endpoint device comprising a back-end interface for connecting a group of storage devices and capable of executing the virtual function migrationare provided as the plurality of endpoint devices,the switch connects the plurality of root ports to the first and second endpoint devices,in the storage controller and the internal network thereof, the switch and the first and second endpoint devices are so set that all of the plurality of root ports can access virtual functions located within all of the plurality of endpoint devices; and
when a failure occurs in one data path from one of the plurality of root ports to one device of the first and second endpoint devices, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path and a processing of switching a mapping of a virtual function of the access target endpoint device to the predetermined interfaces by the virtual function migration in switching from a first data path in a failure state to an alternative second data path, as a processing for executing a data path failover,whereinthe plurality of endpoint devices further comprises a third endpoint device comprising a cache memory interface for connecting a cache memory,the switch connects the plurality of root ports to the first and second and third endpoint devices,the switch and the first and second and third endpoint devices are so set that all of the plurality of root ports can access virtual functions located within all of the plurality of endpoint devices; and
when a failure occurs in one data path from one of the plurality of root ports to one device of the first and second and third endpoint devices via the switch, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path and a processing of switching a mapping of a virtual function of the access target endpoint device to the predetermined interfaces by the virtual function migration in switching from a first data path in a failure state to an alternative second data path are performed as a processing for executing a data path failover.
1 Assignment
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.
-
Citations
22 Claims
-
1. A storage device having 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 having one or more root ports; one or more processors connected to each root complex; a plurality of endpoint devices that are multi-root aware devices provided with predetermined interfaces and having a plurality of virtual functions that can be accessed from each of the plurality of root ports; and a switch that is a multi-root aware switch that connects the plurality of root ports and the plurality of endpoint devices, configures data paths, and has a plurality of ports; at least one of the plurality of endpoint devices can execute a virtual function migration of changing a mapping of one of the plurality of the virtual functions to one of the predetermined interfaces; wherein a first endpoint device comprising a front-end interface for connecting a host device and capable of executing the virtual function migration, and a second endpoint device comprising a back-end interface for connecting a group of storage devices and capable of executing the virtual function migration are provided as the plurality of endpoint devices, the switch connects the plurality of root ports to the first and second endpoint devices, in the storage controller and the internal network thereof, the switch and the first and second endpoint devices are so set that all of the plurality of root ports can access virtual functions located within all of the plurality of endpoint devices; and when a failure occurs in one data path from one of the plurality of root ports to one device of the first and second endpoint devices, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path and a processing of switching a mapping of a virtual function of the access target endpoint device to the predetermined interfaces by the virtual function migration in switching from a first data path in a failure state to an alternative second data path, as a processing for executing a data path failover, wherein the plurality of endpoint devices further comprises a third endpoint device comprising a cache memory interface for connecting a cache memory, the switch connects the plurality of root ports to the first and second and third endpoint devices, the switch and the first and second and third endpoint devices are so set that all of the plurality of root ports can access virtual functions located within all of the plurality of endpoint devices; and when a failure occurs in one data path from one of the plurality of root ports to one device of the first and second and third endpoint devices via the switch, the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path and a processing of switching a mapping of a virtual function of the access target endpoint device to the predetermined interfaces by the virtual function migration in switching from a first data path in a failure state to an alternative second data path are performed as a processing for executing a data path failover. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
a table that manages a mapping between the plurality of root ports and the plurality of virtual functions within endpoint devices; a table that manages a mapping of the plurality of virtual functions to the predetermined interfaces; and a table that manages a migration of the plurality of virtual functions during failover, and the storage controller and the internal network thereof perform a processing of switching an access source root port of the data path and a processing of switching a mapping of a virtual function of the access target endpoint device to one of the predetermined interfaces by the virtual function migration with reference to the plurality of tables when a processing of executing a failover of the data path is executed.
-
-
10. A data path failover method for an internal network of a storage controller in which components located within a storage controller are connected by PCI Express, wherein the internal network of the storage controller comprises a plurality of root ports as a whole, a processor connected to a root complex having the root ports, a plurality of endpoint devices that are provided with predetermined interfaces and have a plurality of virtual functions that can be accessed from each of the plurality of root ports, and a switch that connects the plurality of root ports and the plurality of endpoint devices, configures data paths, and has a plurality of ports;
-
the plurality of endpoint devices further comprises a first endpoint device comprising a front-end interface for connecting a host device, a second endpoint device comprising a back-end interface for connecting a group of storage devices, and a third endpoint device comprising a cache memory interface for connecting a cache memory, each of the first endpoint device and the second endpoint device is capable of executing a virtual function migration of changing a mapping of one of the plurality of virtual functions to one of the predetermined interfaces; and the switch and the first and second and third endpoint devices are so set that each of the plurality of root ports can access virtual functions located within the first and second and third endpoint devices; the internal network of the storage controller comprising a processing step of switching an access source root port of the data path and a processing step of switching a mapping of a virtual function of the access target endpoint device to one of the predetermined interfaces by the virtual function migration in switching from a first data path in a failure state to an alternative second data path, as processing steps for executing a data path failover when a failure occurs in one data path from one of the plurality of root ports to one of the plurality of endpoint devices via the switch. - View Dependent Claims (11, 12, 13)
-
-
14. A storage device having 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 having one or more root ports; one or more processors connected to each root complex; a plurality of endpoint devices that are multi-root aware devices provided with predetermined interfaces and having a plurality of virtual functions that can be accessed from each of the plurality of root ports, the plurality of endpoint devices further comprises a first endpoint device comprising a front-end interface for connecting a host device, a second endpoint device comprising a back-end interface for connecting a group of storage devices, and a third endpoint device comprising a cache memory interface for connecting a cache memory, each of the first endpoint device and the second endpoint device is capable of executing a virtual function migration of changing a mapping of one of the plurality of virtual functions to one of the predetermined interfaces; and a switch that is a multi-root aware switch that connects the plurality of root ports to the first and second and third endpoint devices, configures data paths, and has a plurality of ports, the switch and the first and second and third endpoint devices are so set that each of the plurality of root ports can access virtual functions located within the first and second and third endpoint devices; and when a failure occurs in one data path from one of the plurality of root ports to one device of the first and second and third endpoint devices, a processing of switching an access source root port of the data path and a processing of switching a mapping of a virtual function of the access target endpoint device to one of the predetermined interfaces by the virtual function migration in switching from a first data path in a failure state to an alternative second data path are performed as a processing for executing a data path failover. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
Specification