Patent ID: 8930608
Filing Date: 2015-01-06
Classification: G06F

Abstract:
1. A data storage path switching method, applied to a storage array comprising multiple disks for storing data, and first and second controller nodes, the first controller node having a first switch connected to receive data from a server and transmit data to the multiple disks, and the second controller node having a second switch connected to receive data from the server and transmit data to the multiple disks, wherein the first switch and the second switch are Peripheral Component Interconnect Express (PCIE) switches, the first switch has a first non-transparent bridge (NTB) port, and the second switch has a second NTB port, and the first switch and second switch are connected by a communication link that is formed by connecting the first and second NTB ports, original attribute of the first and second NTB ports are configured to isolate devices at two sides of the first and second NTB ports so that the devices cannot scan and find each other; the method comprising: detecting, by the first controller node by monitoring signals transmitted over the communication link connecting the first and second switches, that the second controller node has failed; modifying, by the first controller node after detecting that the second controller node has failed, the attribute of the first and second NTB ports by setting the first NTB port as an upstream port, and the second NTB port as a downstream port; scanning, by the first controller node after modifying the attribute of the NTB ports, the second switch of the second controller node through the upstream port; resetting, by the first controller node via the communication link after scanning the second switch, the second switch of the second controller node so that the second switch of the second controller node is placed in a PCIE domain of the first controller node and the second switch is reset to redirect data received by the second switch from the server to the first switch of the first controller node via the communication link; receiving, by the first controller node after resetting the second switch, data redirected by the second switch to the first switch, wherein the data redirected by the second switch is sent by the server to the second controller node for storing in the multiple disks; and sending, by the first controller via the first switch, the data redirected by the second switch to the multiple disks for storage.