Patent ID: 8082466
Filing Date: 2011-12-20
Classification: G06F

Abstract:
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.