WO2017121141A1 - 一种热插拔方法、主机控制器、主机及PCIe桥设备 - Google Patents

一种热插拔方法、主机控制器、主机及PCIe桥设备 Download PDF

Info

Publication number
WO2017121141A1
WO2017121141A1 PCT/CN2016/098743 CN2016098743W WO2017121141A1 WO 2017121141 A1 WO2017121141 A1 WO 2017121141A1 CN 2016098743 W CN2016098743 W CN 2016098743W WO 2017121141 A1 WO2017121141 A1 WO 2017121141A1
Authority
WO
WIPO (PCT)
Prior art keywords
pcie
host
notification message
hot plug
controller
Prior art date
Application number
PCT/CN2016/098743
Other languages
English (en)
French (fr)
Inventor
彭本华
王富
吴沛
肖怀锋
祝晓平
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP16884695.4A priority Critical patent/EP3309688A4/en
Publication of WO2017121141A1 publication Critical patent/WO2017121141A1/zh
Priority to US15/859,758 priority patent/US10423560B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2424Interrupt packet, e.g. event
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling
    • G06F2213/4002Universal serial bus hub with a single upstream port

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a hot plug method, a host controller, a host, and a PCIe bridge device.
  • hot plugging allows the user to remove or replace the PCIe (Peripheral Component Interface Express) device under the host without shutting down the system without interrupting the power supply, without affecting the host server.
  • PCIe Peripheral Component Interface Express
  • the operation of the system thereby improving the system's ability to recover from disasters in a timely manner, scalability and flexibility.
  • hot-swap functionality is critical to maintaining the "high availability" of PCIe systems.
  • the existing hot-swap technology mainly detects that after the user triggers the hot plug, the control indicator flashes, and then the PCIe device is notified to stop the data transmission through the PCIe bus, and the Link between the PCIe device and the slot is closed. And the slot, so that the physical connection between the PCIe device and the slot is in a high-impedance state, the indicator light is off, the user removes the device, and the hot-plugging is completed.
  • PCIe bridge cascading PCIe devices PCIe data bearers transmitted over other transport protocols, PCIe devices being pulled away, and physical distance from the host server. Exceeds the PCIe signal transmission distance limit specified by the PCIe protocol.
  • the present invention provides a hot plugging method, a host controller, a host, and a PCIe bridge device, which can be hot swapped in a scenario where a PCIe device is used at a long distance.
  • a hot plug method comprising:
  • the host controller can be added on the host side, and the user equipment controller is added on the user equipment (PCIe device) side, and the host controller and the user equipment controller communicate through the network.
  • the host controller generates a first notification message, where the first notification message carries hot plug interrupt information, and the hot plug interrupt information indicates that the first PCIe device is to be hot swapped.
  • the host is connected to the host controller, the first PCIe device is connected to the user equipment controller, and the host controller communicates with the user equipment controller through a network;
  • the host controller sends the first notification message to the host, so that the host performs a hot plug operation corresponding to the first PCIe device according to the first notification message.
  • the host controller receives the second notification message sent by the host, and sends the second notification message to the user equipment controller, so that the user equipment controller instructs the user to insert the first notification message.
  • the second notification message is used to indicate that the corresponding hot plug operation of the first PCIe device is completed.
  • the host and the PCIe device can communicate through the PCIe bridge cascade.
  • the PCIe bridge connected to the host needs to have the information of the PCIe device and can notify the host to perform the corresponding plug-in operation when the PCIe device is pulled or inserted;
  • the host and the PCIe device can be connected through a non-PCIe link (such as a network).
  • a non-PCIe link such as a network
  • the host controller and the user equipment controller need to have the function of group notification message and resolution notification message.
  • the PCIe device is used in a remote location.
  • the host and the PCIe device are not in the same physical location.
  • the host controller on the host side can communicate with the user device controller on the PCIe device side through the network.
  • the host can pass the host controller and the user device controller. Hot plug control of PCIe devices with PCIe devices to implement remote PCIe devices Hot swap.
  • the generating, by the host controller, the first notification packet includes:
  • the host controller receives the third notification message sent by the user equipment controller; the third notification message is controlled by the user equipment after the user equipment controller detects that hot plugging is triggered.
  • the third notification message is generated by the device, and the third notification message carries the hot plug interrupt information.
  • the user equipment controller after the user presses the hot plug button on the user equipment controller, the user equipment controller generates the third notification message.
  • the user initiates a hot plug request through an outband control module on the user equipment controller, and the user equipment controller generates the third notification message according to the hot plug request.
  • the host controller generates the first notification message according to the third notification message.
  • the host controller detects that the hot plug is triggered, and generates the first notification message.
  • the first notification message may be generated when the user initiates a hot plug request through the outband control module of the host controller.
  • the acquiring, by the host controller, the first notification message further includes:
  • the host controller detects a network interruption with the user equipment controller, and generates the first notification message.
  • a hot plug method for a remote PCIe system, the remote bus and interface standard PCIe system including a host, a host controller, a PCIe device, and a user equipment controller, including:
  • the host receives the first notification message sent by the host controller; the first notification message carries hot plug interrupt information, and the hot plug interrupt information indicates that the first PCIe device is to be hot swapped.
  • the host is connected to the host controller, the first PCIe device is connected to the user equipment controller, and the host controller and the user The device controller communicates over the network;
  • the host performs a hot plug operation corresponding to the first PCIe device according to the first notification message
  • the host generates a second notification message, and sends the second notification message to the host controller, where the second notification message is used to indicate that the corresponding hot plug operation of the first PCIe device is completed. .
  • a PCIe device is used in a remote location.
  • the host and the PCIe device are not in the same physical location. Since the host controller on the host side can communicate with the user equipment controller on the PCIe device side through the network, the host can pass the host controller. Perform hot swapping of the PCIe device with the user equipment controller and the PCIe device to implement hot plugging of the remote PCIe device.
  • the performing, by the host, the hot plug operation corresponding to the first PCIe device according to the second notification packet includes:
  • the host acquires the identifier information of the first PCIe device and the slot information corresponding to the first PCIe device;
  • the host closes a connection between the first slot and the first PCIe device, and powers down the first slot.
  • the performing, by the host, the hot plug operation corresponding to the first PCIe device according to the second notification packet includes:
  • the host acquires slot information of the first slot;
  • the first slot is a slot corresponding to the first PCIe device;
  • the host establishes a connection between the second slot and the first PCIe device, and powers the first slot.
  • a hot plug method including:
  • the host monitors whether the first link is abnormal; the first link is a link between the host and a PCIe bridge device, and the PCIe bridge device is connected to at least one PCIe device;
  • a PCIe device is connected to a host through a PCIe bridge.
  • the existing hot-swapping technology does not implement hot swapping of PCIe devices in this scenario.
  • the invention monitors the link state between the PCIe bridge and the PCIe device. When the link is abnormal, the hot swap operation is performed on each PCIe device connected to the PCIe bridge to prevent the link between the host and the PCIe bridge from being abnormal. The host's request to read or write the PCIe device is not responded, causing the host to hang.
  • the performing the hot plug operation corresponding to the at least one PCIe device specifically includes:
  • the host acquires identification information of each PCIe device of the at least one PCIe device and slot information corresponding to each PCIe device;
  • the host disconnects the connection between the PCIe device and the corresponding slot and the power of the slot corresponding to each PCIe device. At the same time, the host unloads the PCIe device driver and releases resources.
  • a hot plug method including:
  • the first PCIe bridge device monitors whether the second link is abnormal; the second link is a link between the first PCIe bridge device and the second PCIe bridge device, and the first PCIe bridge device is connected to the host, where
  • the N PCIe devices are connected to the second PCIe bridge device; the N is an integer greater than or equal to 1;
  • the first PCIe bridge device detects that the second link is abnormal, and generates N fourth notification messages, where the N fourth notification messages are used to indicate that the host performs the N PCIe The corresponding hot plug operation of the device.
  • the first PCIe bridge device generates N notification messages for the N PCIe devices, and instructs the host to hot swap the N PCIe devices one by one.
  • the link between the first PCIe bridge device and the second PCIe bridge device may be prevented from being abnormally abnormal, causing the host to read and write the N PCIe device requests to fail to respond to the host appearing to hang.
  • a host controller which is applied to a remote bus and an interface standard PCIe system.
  • the remote PCIe system includes a host, the host controller, a PCIe device, and a user equipment controller, including:
  • a generating unit configured to generate a first notification message, where the first notification message carries hot plug interrupt information, where the hot plug interrupt information indicates that the first PCIe device is to be hot swapped; Connected to the host controller, the first PCIe device is connected to the user equipment controller, and the host controller communicates with the user equipment controller through a network;
  • a sending unit configured to send the first notification message to the host, so that the host performs a hot plug operation corresponding to the first PCIe device according to the first notification message;
  • a receiving unit configured to receive a second notification message sent by the host
  • the sending unit is further configured to send the second notification message to the user equipment controller, so that the user equipment controller instructs the user to insert and remove the first PCIe device; The corresponding hot plug operation indicating that the first PCIe device is instructed is completed.
  • the generating unit is configured to: if the first PCIe device is to be hot-plugged, receive the third notification packet sent by the user equipment controller, and generate the third notification packet according to the third notification packet. a first notification message, where the third notification message is generated by the user equipment controller after the user equipment controller detects that the hot plug is triggered, and the third notification message carries the hot plug Unplug the interrupt information;
  • the generating unit is further configured to: if the first PCIe is needed The device performs hot-plugging, and generates a first notification message when detecting a network interruption with the user equipment controller.
  • a host for a remote PCIe system, the remote bus and interface standard PCIe system including the host, a host controller, a PCIe device, and a user equipment controller, including:
  • a receiving unit configured to receive a first notification message sent by the host controller, where the first notification message carries hot plug interrupt information, where the hot plug interrupt information indicates that the first PCIe device is to be hot plugged Pulling, the host is connected to the host controller, the first PCIe device is connected to the user equipment controller, and the host controller communicates with the user equipment controller through a network;
  • a hot plug operation unit configured to perform a hot plug operation corresponding to the first PCIe device according to the first notification message
  • a generating unit configured to generate a second notification message, where the second notification message is used to indicate that the corresponding hot plug operation of the first PCIe device is completed;
  • a sending unit configured to send the second notification message to the host controller.
  • the hot plug operation unit is configured to acquire the identifier information of the first PCIe device and the corresponding PCIe device a slot information; determining a first slot corresponding to the slot information; closing a connection between the first slot and the first PCIe device, and powering down the first slot.
  • the hot plug operation unit is configured to acquire slot information of the first slot, where the first slot is the a slot corresponding to a PCIe device;
  • a host including:
  • a monitoring unit configured to monitor whether the first link is abnormal; the first link is a link between the host and a PCIe bridge device, and the PCIe bridge device is connected to at least one PCIe device;
  • a hot plug operation unit configured to perform a hot plug operation corresponding to the at least one PCIe device if the monitoring unit detects that the first link is abnormal.
  • the hot plug operation unit is specifically configured to acquire identification information of each PCIe device in the at least one PCIe device, and each of the foregoing Slot information corresponding to the PCIe device;
  • connection between the PCIe device and the corresponding slot and the slot is turned off, and the slot corresponding to each PCIe device is powered off.
  • a first PCIe bridge device including:
  • a monitoring unit configured to monitor whether the second link is abnormal;
  • the second link is a link between the first PCIe bridge device and the second PCIe bridge device, and the first PCIe bridge device is connected to the host, where
  • the N PCIe devices are connected to the second PCIe bridge device; the N is an integer greater than or equal to 1;
  • a generating unit configured to: after the monitoring unit detects that the second link is abnormal, generate N fourth notification messages, where the N fourth notification messages are used to indicate that the host performs the Corresponding hot swap operation for N PCIe devices.
  • the generating unit is configured to determine, according to a pre-stored PCIe topology, N pieces of identifier information of the N PCIe devices, and Information about N slots corresponding to N PCIe devices;
  • FIG. 1 is a schematic diagram of a remote PCIe system according to Embodiment 1 of the present invention.
  • FIG. 2 is a schematic flowchart of a hot plugging method according to Embodiment 1 of the present invention.
  • FIG. 3 is a diagram of a host, a host controller, and a user equipment control according to Embodiment 1 of the present invention; Block diagram of the controller;
  • FIG. 4 is a schematic flow chart of a hot drawing method according to Embodiment 1 of the present invention.
  • FIG. 5 is a schematic flowchart of a hot plug method according to Embodiment 1 of the present invention.
  • FIG. 6 is a schematic diagram of a remote PCIe system according to Embodiment 2 of the present invention.
  • FIG. 7 is a schematic flowchart of a hot plugging method according to Embodiment 2 of the present invention.
  • FIG. 8 is a schematic diagram of a remote PCIe system according to Embodiment 3 of the present invention.
  • FIG. 9 is a schematic flowchart of a hot plugging method according to Embodiment 3 of the present invention.
  • FIG. 10 is a structural block diagram of a host controller according to Embodiment 4 of the present invention.
  • FIG. 11 is a structural block diagram of a host according to Embodiment 5 of the present invention.
  • FIG. 12 is a structural block diagram of a host according to Embodiment 6 of the present invention.
  • FIG. 13 is a structural block diagram of a first PCIe bridge device according to Embodiment 7 of the present invention.
  • FIG. 14 is a structural block diagram of a hardware device according to Embodiment 8 of the present invention.
  • the existing hot plugs are hot swappable for the PCIe protocol.
  • This hot swap is only for hot swapping of short-distance PCIe devices, that is, it can only be applied to scenarios where PCIe devices are directly connected to the host.
  • the PCIe device In a scenario where a PCIe device is used in a remote location, for example, the PCIe device is not in the same location as the host or the two are connected through a PCIe bridge.
  • the hot plugging mode of the standard PCIe device is not flexible enough.
  • the hot plugging method of a standard PCIe device cannot meet the requirements of the scenario, which limits the application of the PCIe device.
  • the principle of the present invention is that a host controller and a user equipment controller capable of communication can be added between the host and the PCIe device, so that the host can perform hot plugging of the PCIe device through the host controller and the user equipment controller. Or, the link between the PCIe bridge and the PCIe device is monitored. If the link is abnormal, the PCIe device is hot swapped.
  • the embodiment of the invention provides a remote PCIe system.
  • the remote PCIe system as shown in FIG. 1 includes a host 10, a host controller 20, a user equipment controller 30, and a PCIe device 40.
  • the host 10 is connected to the host controller 20, and the PCIe device 40 is connected to the user equipment controller 30, and the host controller 20 communicates with the user equipment controller 30 via a network.
  • the network here can also be other transmission media, such as Fiber Channel, etc.
  • the network is applicable not only to the TCP/IP protocol but also to other transmission protocols.
  • the embodiment of the invention provides a hot plugging method, which is applied to the remote PCIe system shown in FIG. As shown in FIG. 2, the method includes the following steps:
  • S101 The host controller generates a first notification message, where the first notification message carries hot plug interrupt information.
  • the hot plug interrupt information carries the identifier information of the first PCIe device and the slot information corresponding to the first PCIe device.
  • the hot plug interrupt information indicates that the first PCIe device is to be hot swapped.
  • the first PCIe device is the PCIe device 40 shown in FIG. 1.
  • the first notification message may be a hot plug MSI interrupt notification TLP message.
  • the first notification packet can be generated in the following two manners:
  • the host controller receives the third notification message sent by the user equipment controller, and the host controller generates the first notification message according to the third notification message.
  • the third notification message is generated by the user equipment controller after the user equipment controller detects that the hot plug is triggered, and the third notification message carries the hot plug interrupt information.
  • the user may initiate a hot plug request through the user equipment controller, and the user equipment controller generates the third notification message.
  • the third notification message may be an Ether Notification message, such as an L2 message or another network transmission protocol (other than the TCP/IP protocol).
  • the host controller detects that the hot plug is triggered, and generates the first notification message.
  • the user may initiate a hot plug request through the host controller.
  • the host controller can obtain the first notification packet in the foregoing two manners, and can also obtain the third manner.
  • the host controller detects a network interruption with the user equipment controller, and generates the first notification message.
  • S102 The host controller sends the first notification message to the host.
  • S103 The host receives the first notification packet sent by the host controller, and performs a hot plug operation corresponding to the first PCIe device according to the first notification packet.
  • the performing, by the host, the hot plugging operation corresponding to the first PCIe device according to the second notification packet includes:
  • the host acquires the identification information of the first PCIe device and the slot information corresponding to the first PCIe device; determines a first slot corresponding to the slot information; and closes the first slot and the first A connection between the PCIe devices and powering down the first slot.
  • the performing, by the host, the hot-plug operation corresponding to the first PCIe device according to the second notification packet includes:
  • the host acquires slot information of the first slot;
  • the first slot is a slot corresponding to the first PCIe device;
  • the host establishes a connection between the second slot and the first PCIe device, and powers the first slot.
  • the host generates a second notification message, and sends the second notification message to the host controller, where the second notification message is used to indicate a corresponding hot plug operation of the first PCIe device. completed.
  • the host controller receives a second notification packet sent by the host, and sends the second notification packet to the user equipment controller.
  • the second notification message is used to indicate that the corresponding hot plug operation of the first PCIe device is completed.
  • the user equipment controller instructs the user to insert and remove the first PCIe device.
  • the user equipment controller lights up the indicator light. The user is instructed to unplug the first PCIe device, or the first PCIe device can be inserted into the slot.
  • the functional modules included in the host 10, the host controller 20, the user equipment controller 30, and the PCIe device 40 in FIG. 1 are described in detail, and the hot plugging method provided by the present invention is described in detail in conjunction with each functional module.
  • the host (HOST SERVER) 10 includes: a ROOT COMPLEX 101, a hot swap drive (HOT-PLUG DRIVER) 102, a hot plug service program (HOT-PLUG SERVICE) 103, and a user interface ( User interface 104, operating system (OS) 105, and device driver (DEVICE DRIVER) 106.
  • a ROOT COMPLEX 101 As shown in FIG. 3, the host (HOST SERVER) 10 includes: a ROOT COMPLEX 101, a hot swap drive (HOT-PLUG DRIVER) 102, a hot plug service program (HOT-PLUG SERVICE) 103, and a user interface ( User interface 104, operating system (OS) 105, and device driver (DEVICE DRIVER) 106.
  • OS operating system
  • DEVICE DRIVER device driver
  • the host controller 20 is a control board.
  • the system includes: an uplink port (UP STREAM) 201, a board control module (CONTROLLER) 202, a management CPU (PROCESSOR) 203, a TRANSMIT AND RECEIVE MODULE 204, and a network connection module (NETWORK CONNECTION MODULE) 205.
  • Out-of-band control module (OUT-BAND CONTROLLER) 206.
  • the user equipment controller 30 is a control board. Including: hot plug button 301, hot plug indicator 302, IO device plug 303, hot plug controller 304, downlink port (DOWN STREAM) 305, user control and indication module 308, management CPU 306, send and receive data processing
  • the module 307 is a network connection module 310 and an out-of-band control module 309.
  • the method includes:
  • the hot plug button 301 of the user equipment controller is triggered.
  • the user initiates a hot plug request through the outband control module 309 of the user equipment controller 30.
  • the user initiates a hot plug request through the outband control module 206 of the host controller 20.
  • the network between the host controller 20 and the user equipment controller 30 is disconnected.
  • step 401a or 401b is performed. But the next steps are different.
  • Step 401a is followed by step 4011: the hot plug controller 304 of the user equipment controller 30 detects the hot plug request, the user control and indication module 308 indicates the status of the indicator 302, and the group Ethernet notification message passes through the network connection module 310. Send to the network.
  • step 4012 the management CPU 306 receives the hot plug request, and the hot plug controller 304 indicates the status of the indicator 302, and the group Ethernet notification message is sent to the network through the network connection module 310.
  • Steps 4011 and 4012 are performed in step 402a.
  • the management CPU 203 receives and parses the Ethernet notification packet from the network connection module 205, and hot-plugs the MSI interrupt notification TLP packet according to the hot plug interrupt information group, and sends the TLP packet through the uplink port 201. To the host 10.
  • Step 401c is followed by step 402b: the management CPU 203 receives the hot plug request, and notifies the board control module 202 of the hot plugging interrupt group hot plug MSI interrupt notification TLP message, and sends the TLP message to the host 10 through the uplink port 201.
  • Step 401d is followed by step 402c: the board control module 202 detects the network status information and hot-plugs the MSI interrupt notification TLP message, and sends the TLP message to the host 10 through the uplink port 201.
  • Step 403 is performed after step 402a or 402b or 402c.
  • the hot plug driver 102 in the hot plug service program 103 of the host receives the hot plug interrupt, obtains the hot swap related slot information through the downlink port 305, and performs a corresponding operation of the hot plug.
  • the host 10 performs a hot plug operation, uninstalls the driver, and notifies the board control module 202 that the hot plug completion notification message is sent to the network through the sending and receiving data processing module 204 and the network connection module 205.
  • the hot plug completion notification message is the second notification message according to the present invention.
  • the user control and indication module 308 controls the indicator light 302 to blink, instructing the user to pull the PCIe device.
  • the method includes:
  • the hot plug button 301 of the user equipment controller is triggered.
  • the user initiates a hot plug request through the outband control module 309 of the user equipment controller 30.
  • the user initiates a hot plug request through the outband control module 206 of the host controller 20.
  • step 502a is performed: the hot plug controller 304 detects the hot plug action, the user control and indication module 308 indicates the status of the indicator light 302, and the group Ethernet notification message is sent to the network through the network connection module 310.
  • Step 501b is followed by step 502b: the management CPU 306 receives the hot plug request, and the hot plug controller 304 indicates the status of the indicator 302, and the group Ethernet notification message is sent to the network through the network connection module 310.
  • Step 501c Step 502c: The management CPU 203 receives the request, and the board control module 202 notifies the hot-plug MSI interrupt notification TLP message according to the status information, and sends the TLP message to the host 10 through the uplink port 201.
  • Step 503 is performed after step 502a or 502b or 502c.
  • the management CPU 203 receives and parses the Ethernet notification message from the network connection module 205, and hot-plugs the MSI interrupt notification TLP message according to the hot plug interrupt information group, and sends the TLP message to the host 10 through the uplink port 201.
  • the hot plug driver 102 in the hot plug service program 103 receives the hot plug interrupt, obtains the hot swap related slot information through the downlink port 305, and performs a corresponding operation of the hot plug.
  • the board control module 202 is configured to send the hot plug completion notification message to the user equipment controller 30 through the sending and receiving data processing module 204 and the network connection module 205.
  • the hot plug controller 304 receives and parses the hot plug completion notification message, controls the IO device plug 303 to be powered on, and controls the status of the indicator 302 to instruct the user to insert the PCIe device.
  • the host controller is connected to the host on the host side, and the user equipment controller is set on the PCIe device side, and the host controller and the user equipment controller communicate through the network.
  • the host After the hot swap is triggered, the host performs the hot swap after the host controller and the user equipment controller exchange messages. Pull out the operation. And instruct the user to plug in and out the PCIe device.
  • the hot plugging of PCIe devices in a PCIe device scenario is implemented in a long distance.
  • the embodiment of the invention provides a hot plugging method, which is applied to the remote PCIe system shown in FIG. 6.
  • the remote PCIe system as shown in FIG. 6 includes a host 10, a PCIe bridge device 50, and a PCIe device 40.
  • the host 10 is connected to a PCIe bridge device 50, and the PCIe bridge device 50 is connected to a PCIe device 40.
  • Host 10 communicates with PCIe device 40 via PCIe bridge device 50.
  • the RP (Root Port) of the host 10 is connected to the uplink port of the PCIe bridge device 50, and the DP (DownStream Port) of the PCIe bridge device 50 is connected to the PCIe device 40.
  • the hot plugging method provided in this embodiment includes the following steps:
  • the host monitors whether the first link is abnormal.
  • the first link is a link between the host and a PCIe bridge device, and the PCIe bridge device is connected to at least one PCIe device.
  • the first link may be the link between the host 10 and the PCIe bridge device 50 described in FIG.
  • a PCIe switch (a PCIe bridge device) is connected to the host.
  • a PCIe switch is connected to the PCIe switch. If the PCIe link between the PCIe switch and the host is abnormal, ensure that the host can correctly handle the abnormality without hanging. If it is dead, a thread can be started on the HOST device driver to monitor the link status between the RC (Root Complex) and the uplink port. Once the driver checks that the link status is abnormal, the hot start is started. Plug and play service.
  • the PCIe bridge device can integrate the functions of the host controller 20 and the user equipment controller 30 to ensure that the HOST host does not crash, and the hot plugging process is as shown in FIG. 4 and FIG. 5.
  • the performing the hot plug operation corresponding to the at least one PCIe device specifically includes:
  • the host acquires identification information of each PCIe device in the at least one PCIe device and slot information corresponding to each PCIe device.
  • the host closes each of the PCIe devices and the corresponding slots and Connect and power off the slot corresponding to each PCIe device.
  • a PCIe device is connected to a host through a PCIe bridge.
  • the existing hot-swapping technology does not implement hot swapping of PCIe devices in this scenario.
  • the present invention monitors the link state between the PCIe bridge and the PCIe device. When the link is abnormal, the hot swap operation is performed on each PCIe device connected to the PCIe bridge to prevent the link between the PCIe bridge and the PCIe device.
  • the abnormal host causes the host to read and write the PCIe device without responding, causing the host to hang.
  • the embodiment of the invention provides a hot plugging method, which is applied to the remote PCIe system shown in FIG. 8.
  • the remote PCIe system as shown in FIG. 8 includes a host 10, a PCIe bridge device 50, a PCIe bridge device 60, and a PCIe device 40.
  • the host 10 is connected to a PCIe bridge device 50, and the PCIe bridge device 50 is connected to a PCIe bridge device 60.
  • Host 10 communicates with PCIe device 40 via PCIe bridge device 50, PCIe bridge device 60.
  • the RP (Root Port) of the host 10 is connected to the uplink port of the PCIe bridge device 50, and the DP (DownStream Port) of the PCIe bridge device 50 is connected to the uplink port of the PCIe bridge device 60.
  • the hot plugging method provided in this embodiment includes the following steps:
  • the first PCIe bridge device monitors whether the second link is abnormal.
  • the second link is a link between the first PCIe bridge device and the second PCIe bridge device, and the first PCIe bridge device is connected to the host.
  • the second PCIe bridge device is connected to N PCIe devices; the N is an integer greater than or equal to 1.
  • the first PCIe bridge device detects that the second link is abnormal, and generates N fourth notification messages, where the N fourth notification messages are used to indicate that the host performs the N Corresponding hot plug operation of PCIe devices.
  • the first PCIe bridge device generates N notification messages for the N PCIe devices, and instructs the host to perform hot swapping of the N PCIe devices one by one.
  • the link between the first PCIe bridge device and the second PCIe bridge device may be prevented from being abnormally abnormal, causing the host to read and write the N PCIe device requests to fail to respond to the host appearing to hang.
  • PCIe bridge device 50 and PCIe bridge device 60 are connected to the host, and multiple PCIe devices are connected to the second-level PCIe switch (PCIe bridge device 60).
  • PCIe link between PCIe Switchts is PCIe (PCIe) Bridge device 50
  • PCIe bridge device An abnormality occurs in the 60 links.
  • the PCIe topology can be recorded in the first-stage PCIe Switch (PCIe bridge device 50).
  • PCIe bridge device 50 When two levels of PCIe Switcht are detected.
  • the interrupted notification packets are sent to the host through the uplink port through the recorded PCIe topology in the first-level PCIe switch. After the hot-swap drive in the host receives the hot-plug interrupt. Perform hot swap service to hot swap the devices under the first-level bridge one by one to ensure that the host does not crash.
  • the generating the N fourth notification messages specifically includes:
  • a PCIe device is connected to a host through a PCIe bridge.
  • the existing hot-swapping technology does not implement hot swapping of PCIe devices in this scenario.
  • the present invention monitors the link state between the PCIe bridge and the PCIe device. When the link is abnormal, the hot swap operation is performed on each PCIe device connected to the PCIe bridge to prevent the link between the PCIe bridge and the PCIe device.
  • the abnormal host causes the host to read and write the PCIe device without responding, causing the host to hang.
  • the embodiment of the present invention provides a host controller 80 for use in the remote PCIe system shown in FIG. 1.
  • the host controller 80 includes a generating unit 801, a transmitting unit 802, and a receiving unit 803.
  • the generating unit 801 is configured to generate a first notification message, where the first notification message carries hot plug interrupt information, where the hot plug interrupt information indicates that the first PCIe device is to be hot swapped;
  • the host controller is connected, the first PCIe device is connected to the user equipment controller, and the host controller communicates with the user equipment controller through a network.
  • the sending unit 802 is configured to send the first notification message to the host, so that the host performs the first PCIe device according to the first notification message. Hot swap operation.
  • the receiving unit 803 is configured to receive a second notification message sent by the host.
  • the sending unit 802 is further configured to send the second notification message to the user equipment controller, so that the user equipment controller instructs the user to insert and remove the first PCIe device; the second notification message And indicating that the corresponding hot plug operation of the first PCIe device is completed.
  • the generating unit 801 is specifically configured to: if the first PCIe device is to be hot-plugged, receive the third notification packet sent by the user equipment controller, and generate a third notification message according to the third notification packet.
  • the first notification message is generated by the user equipment controller after the user equipment controller detects that the hot plug is triggered, and the third notification message carries the hot Plug and drop interrupt information.
  • the generating unit 801 detects that the hot plug is triggered, and generates the first notification message.
  • the generating unit 801 is further configured to: if the first PCIe device needs to be hot-plugged, generate the first notification message when detecting a network interruption with the user equipment controller.
  • the sending unit 802 can be a transmitter of the host controller
  • the receiving unit 803 can be a host controller receiver.
  • the generating unit 801 can be integrated into one processor of the host controller, and can also be implemented. Stored in the memory of the host controller in the form of program code, the code stored in the memory of the host controller is called by a processor of the host controller to perform the functions of the above generating unit 801.
  • the host controller provided by the embodiment of the present invention is connected to the host, and the user equipment controller is set on the PCIe device side, and the host controller and the user equipment controller communicate through the network. After the hot swap is triggered, the host performs the hot swap operation after the host interacts with the host controller and the user equipment controller. And instruct the user to plug in and out the PCIe device.
  • the hot plugging of PCIe devices in a PCIe device scenario is implemented in a long distance.
  • the embodiment of the present invention provides a host 90 for use in the remote PCIe system shown in FIG. 1.
  • the host 90 includes a receiving unit 901, a hot plug operation unit 902, a generating unit 903, and a transmitting unit 904.
  • the receiving unit 901 is configured to receive a first notification message sent by the host controller, where the first notification message carries hot plug interrupt information, where the hot plug interrupt information indicates that the first PCIe device is to be hot
  • the host is connected to the host controller, the first PCIe device is connected to the user equipment controller, and the host controller communicates with the user equipment controller through a network.
  • the hot plug operation unit 902 is configured to perform a hot plug operation corresponding to the first PCIe device according to the first notification message.
  • the generating unit 903 is configured to generate a second notification message, where the second notification message is used to indicate that the corresponding hot plug operation of the first PCIe device is completed.
  • the sending unit 904 is configured to send the second notification message to the host controller.
  • the hot plug operation unit 902 is specifically configured to acquire the identifier information of the first PCIe device and the slot information corresponding to the first PCIe device; determine the first slot corresponding to the slot information; The connection between the first slot and the first PCIe device is performed, and the first slot is powered off.
  • the hot plug operation unit 902 is specifically configured to acquire slot information of the first slot, where the first slot is a slot corresponding to the first PCIe device, and the second slot is configured to be A connection between the first PCIe devices and powering up the first slot.
  • the sending unit 904 may be a transmitter of the host
  • the receiving unit 901 may be a host receiver
  • the hot plug operation unit 902 and the generating unit 903 may be integrated into one processor of the host, and in addition, It may be stored in the memory of the host in the form of program code, and the code stored in the memory of the host is called by one processor of the host to perform the functions of the hot plug operation unit 902 and the generating unit 903.
  • the host provided by the embodiment of the present invention is connected to the host controller, and the user equipment controller is set on the PCIe device side, and the host controller and the user equipment controller communicate through the network. After the hot swap is triggered, the host performs the hot swap operation after the host interacts with the host controller and the user equipment controller. And instruct the user to plug in and out the PCIe device.
  • the hot plugging of PCIe devices in a PCIe device scenario is implemented in a long distance.
  • a host 100 is applied to the remote PCIe system shown in FIG. 6 according to an embodiment of the present invention.
  • the host 100 includes a monitoring unit 1001 and a hot plug operation unit 1002.
  • the monitoring unit 1001 is configured to monitor whether the first link is abnormal.
  • the first link is a link between the host and a PCIe bridge device, and the PCIe bridge device is connected to at least one PCIe device.
  • the hot plug operation unit 1002 is configured to perform a hot plug operation corresponding to the at least one PCIe device if the monitoring unit detects that the first link is abnormal.
  • the hot plug operation unit 1002 is specifically configured to acquire identification information of each PCIe device in the at least one PCIe device and slot information corresponding to each PCIe device; and close each PCIe device and corresponding The slots are connected to each other, and the slots corresponding to each of the PCIe devices are powered off.
  • monitoring unit 1001 and the hot plug operation unit 1002 may be implemented by being integrated in one processor of the host, or may be stored in the memory of the host in the form of program code, by a processor of the host.
  • the code stored in the memory of the host is called to perform the functions of the above monitoring unit 1001 and the hot plug operation unit 1002.
  • a PCIe device is connected to a host through a PCIe bridge.
  • the existing hot-swapping technology does not implement hot swapping of PCIe devices in this scenario.
  • the present invention monitors the link state between the PCIe bridge and the PCIe device. When the link is abnormal, the hot swap operation is performed on each PCIe device connected to the PCIe bridge to prevent the link between the PCIe bridge and the PCIe device.
  • the abnormal host causes the host to read and write the PCIe device without responding, causing the host to hang.
  • the embodiment of the present invention provides a first PCIe bridge device 110, which is applied to the remote PCIe system shown in FIG. 8. As shown in FIG. 13, the first PCIe bridge device 110 includes: a monitoring unit 1101 and a generating unit 1102.
  • the monitoring unit 1101 is configured to monitor whether the second link is abnormal.
  • the second link is a link between the first PCIe bridge device and the second PCIe bridge device, and the first PCIe bridge device is connected to the host.
  • the second PCIe bridge device is connected to N PCIe devices; the N is an integer greater than or equal to 1.
  • a generating unit 1102 configured to monitor, by the monitoring unit, that the second link appears After the abnormality, the N fourth notification messages are generated, and the N fourth notification messages are used to instruct the host to perform a hot plug operation corresponding to the N PCIe devices.
  • the generating unit 1101 is specifically configured to: determine N pieces of identification information of the N PCIe devices, and information of N slots corresponding to the N PCIe devices according to the pre-stored PCIe topology; according to the N The pieces of identification information and the information of the N slots generate N hot plug interrupt information; generate one of the fourth notification messages according to each of the N hot plug interrupt information, to obtain N Fourth notification message.
  • monitoring unit 1101 and the generating unit 1102 may be implemented in one processor of the first PCIe device, and may also be stored in the memory of the first PCIe device in the form of program code, by the first A processor of the PCIe device invokes the code stored in the memory of the first PCIe device to perform the functions of the above monitoring unit 1101 and the generating unit 1102.
  • a PCIe device is connected to a host through a PCIe bridge.
  • the existing hot-swapping technology does not implement hot swapping of PCIe devices in this scenario.
  • the present invention monitors the link state between the PCIe bridge and the PCIe device. When the link is abnormal, the hot swap operation is performed on each PCIe device connected to the PCIe bridge to prevent the link between the PCIe bridge and the PCIe device.
  • the abnormal host causes the host to read and write the PCIe device without responding, causing the host to hang.
  • the embodiment of the present invention provides a hardware device 120.
  • the hardware device 120 includes a processor 1201, a system bus 1202, a memory 1203, and a receiver 1204 and a transmitter 1205.
  • the processor 1201 can be a central processing unit (English: central processing unit, abbreviation: CPU).
  • the memory 1203 is configured to store the program code and transmit the program code to the processor 1201.
  • the processor 1201 executes the following instructions according to the program code.
  • the memory 1203 may include a volatile memory (English: volatile memory), such as a random access memory (English: random-access memory, abbreviation: RAM); the memory 1203 may also include a non-volatile memory (English: non-volatile memory) ), such as read-only memory (English: read-only memory, abbreviation: ROM), flash memory (English: flash memory), hard disk (English: hard disk drive, abbreviation: HDD) or solid state drive (English: solid-state drive, abbreviation: SSD).
  • the memory 1203 may also include a combination of the above types of memories.
  • the processor 1201 and the memory 1203 are connected by the system bus 1202 and complete communication with each other.
  • Transmitter 1205 can be implemented by a light emitter, an electrical transmitter, a wireless transmitter, or any combination thereof.
  • the light emitter can be a small form-factor pluggable transceiver (SFP) transmitter (English: transceiver), and the enhanced small form-factor pluggable (English: enhanced small form-factor pluggable, Abbreviation: SFP+) Transmitter or 10 Gigabit small form-factor pluggable (XFP) transmitter.
  • the electric transmitter can be an Ethernet (Ethernet) network interface controller (English: network interface controller, abbreviation: NIC).
  • the wireless transmitter can be a wireless network interface controller (English: wireless network interface controller, abbreviation: WNIC).
  • Receiver 1204 can be implemented by an optical receiver, an electrical receiver, a wireless receiver, or any combination thereof.
  • the optical receiver can be a small package pluggable receiver, an enhanced small package pluggable receiver or a 10 gigabit small package pluggable receiver.
  • the electrical receiver can be an Ethernet network interface controller.
  • the wireless receiver can be a wireless network interface controller.
  • the hardware device 120 may be the host controller 80, wherein the processor 1201 performs the functions of the above-described generating unit 801, the transmitter 1205 is a transmitting unit 802, and the receiver 1204 is a receiving unit 803.
  • the hardware device 120 may be the host 90, wherein the receiver 1204 is a receiving unit 901, the transmitter 1205 is a transmitting unit 904, and the processor 1201 performs the functions of the hot plug operation unit 902 and the generating unit 903 described above.
  • the hardware device 120 may be the host 100, and the processor 1201 performs the functions of the above-described monitoring unit 1001 and the hot plug operation unit 1002. At this time, the hardware device 120 may not include the receiver 1204 and the transmitter 1205.
  • the hardware device 120 may be the first PCIe bridge device 110, wherein the processor 1201 performs the functions of the above-described monitoring unit 1101 and the generating unit 1102. At this time, the hardware device 120 may not include the receiver 1204 and the transmitter 1205.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a readable storage medium. Based on such understanding, the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a device (which may be a microcontroller, chip, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Abstract

一种热插拔方法、主机控制器、主机及PCIe桥设备,涉及计算机技术领域,用于实现远距离使用PCIe设备的热插拔。包括:主机控制器生成第一通知报文,所述第一通知报文携带热插拔中断信息(s101),所述热插拔中断信息指示第一PCIe设备要将进行热插拔;主机控制器将所述第一通知报文发送给主机(s102),以便主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;所述主机控制器接收所述主机发送的第二通知报文,向所述用户设备控制器发送所述第二通知报文(s105),以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。

Description

一种热插拔方法、主机控制器、主机及PCIe桥设备
本申请要求于2016年01月15日提交中国专利局、申请号为201610029365.6、发明名称为“一种热插拔方法、主机控制器、主机及PCIe桥设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机技术领域,尤其涉及一种热插拔方法、主机控制器、主机及PCIe桥设备。
背景技术
所谓热插拔即带电拔插,允许用户在不关闭系统,在不切断电源的情况下能够取出或更换主机下挂的PCIe(Peripheral Component Interface Express,总线和接口标准)设备,而不影响主机服务器系统的运行,从而提高系统对灾难的及时恢复能力、扩展性和灵活性等。目前,热插拔功能对于维持PCIe系统的“高可用性”非常关键。
现有热插拔技术主要是:检测到用户触发了热插拔后,控制指示灯闪烁,之后通过PCIe总线通知PCIe设备的驱动停止数据传输,并关闭PCIe设备与插槽间的Link(连接)以及该插槽(slot),这样PCIe设备与插槽间的物理连接为高阻状态,指示灯熄灭,用户移除设备,热拔完成。
由于基于PCIe总线的数据传输受距离的限制,PCIe设备的使用只能在有限的短距离内使用,现有热插拔技术也是在此场景下的热插拔。随着PCIe设备使用的需求,目前已有远距离使用PCIe设备的场景,如:PCIe桥级联PCIe设备、PCIe数据承载在其他传输协议上传输,PCIe设备被拉远,与主机服务器的物理距离超过PCIe协议规定的PCIe信号传输距离限值等。
现有热插拔只针对短距离的PCIe设备的热插拔,还没有在远 距离使用PCIe设备时进行热插拔的设备或功能。
发明内容
本发明提供一种热插拔方法、主机控制器、主机及PCIe桥设备,能够在远距离使用PCIe设备的场景下进行热插拔。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,公开了一种热插拔方法,包括:
首先,在远距离使用PCIe设备的场景下,可以在主机侧增设主机控制器,同时在用户设备(PCIe设备)侧增设用户设备控制器,主机控制器与用户设备控制器通过网络通信。
具体实现中,首先主机控制器生成第一通知报文,所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔。其中,所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
其次,所述主机控制器将所述第一通知报文发送给所述主机,以便所述主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
最后,所述主机控制器接收所述主机发送的第二通知报文,向所述用户设备控制器发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
主机和PCIe设备可以通过PCIe桥级联进行通信,此时与主机相连的PCIe桥需要具备PCIe设备的信息并能够在PCIe设备被拔或插入时通知主机进行相应的拔插操作;“
主机和PCIe设备可以通过非PCIe链路(如网络)进行相连,则此时与主机控制器和用户设备控制器需具备组通知报文及解析通知报文的功能
远距离使用PCIe设备,如:主机与PCIe设备不在同一物理地点,由于主机侧的主机控制器可以与PCIe设备侧的用户设备控制器通过网络进行通信,主机可以通过主机控制器与用户设备控制器与PCIe设备对PCIe设备进行热插拔控制,实现远程PCIe设备的 热插拔。
结合第一方面,在第一方面的第一种可能的实现方式中,若需对所述第一PCIe设备进行热插,则所述主机控制器生成第一通知报文具体包括:
所述主机控制器接收所述用户设备控制器发送的所述第三通知报文;所述第三通知报文是所述用户设备控制器检测到热插拔被触发后由所述用户设备控制器生成的,所述第三通知报文携带所述热插拔中断信息。具体实现中,可以是用户按下用户设备控制器上的热插拔按钮后,用户设备控制器生成所述第三通知报文。或者,用户通过用户设备控制器上的带外控制模块发起热插拔请求,所述用户设备控制器根据所述热插拔请求,生成所述第三通知报文。
进而,所述主机控制器根据所述第三通知报文生成所述第一通知报文。
或,所述主机控制器检测到热插拔被触发,则生成所述第一通知报文。可以是,用户通过主机控制器的带外控制模块发起热插拔请求,则生成所述第一通知报文。
结合第一方面的,在第一方面的第一种可能的实现方式若需对所述第一PCIe设备进行热拔,则所述主机控制器获取第一通知报文还包括:
所述主机控制器检测到与所述用户设备控制器间的网络中断,则生成所述第一通知报文。
对于这种网络突然中断的情况,为了防止网络突然中断导致主机的请求得不到响应而引起的主机挂死,因而也需要对PCIe设备进行相应的热插拔操作。
第二方面,公开了一种热插拔方法,应用于远程PCIe系统,所述远程总线和接口标准PCIe系统包括主机、主机控制器、PCIe设备以及用户设备控制器,包括:
所述主机接收所述主机控制器发送的第一通知报文;所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔,所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户 设备控制器通过网络通信;
所述主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
所述主机生成第二通知报文,并向所述主机控制器发送所述第二通知报文,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
现有技术中,远距离使用PCIe设备,如:主机与PCIe设备不在同一物理地点,由于主机侧的主机控制器可以与PCIe设备侧的用户设备控制器通过网络进行通信,主机可以通过主机控制器与用户设备控制器与PCIe设备对PCIe设备进行热插拔控制,实现远程PCIe设备的热插拔。
结合第二方面,在第二方面的第一种可能的实现方式中,所述主机根据所述第二通知报文执行与所述第一PCIe设备相应的热插拔操作具体包括:
所述主机获取所述第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息;
所述主机确定所述插槽信息对应的第一插槽;
所述主机关闭所述第一插槽与所述第一PCIe设备间的连接,并将所述第一插槽下电。
这里,是对第一PCIe设备进行热拔的过程。
结合第二方面,在第二方面的第二种可能的实现方式中,所述主机根据所述第二通知报文执行与所述第一PCIe设备相应的热插拔操作具体包括:
所述主机获取第一插槽的插槽信息;所述第一插槽为所述第一PCIe设备对应的插槽;
所述主机建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
这里,是对第一PCIe设备进行热插的过程。
第三方面,公开了一种热插拔方法,包括:
主机监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备;
若所述主机监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。
PCIe设备通过PCIe桥与主机级联属于远距离使用PCIe设备的场景,现有的热插拔技术,并不能实现此场景中PCIe设备的热插拔。本发明监测PCIe桥与PCIe设备间的链路状态,当链路异常时,对PCIe桥下挂的每一个PCIe设备进行相应的热插拔操作,可防止主机与PCIe桥之间的链路异常而导致的主机读写PCIe设备的请求得不到响应而导致主机挂死。
结合第三方面,在第三方面的第一种可能的实现方式,所述执行与所述至少一个PCIe设备相应的热插拔操作具体包括:
所述主机获取所述至少一个PCIe设备中每一个PCIe设备的标识信息以及所述每一个PCIe设备对应的插槽信息;
所述主机关闭所述每一个PCIe设备与对应的插槽与间的连接,并将所述每一个PCIe设备对应的插槽下电。同时,主机卸载PCIe设备驱动,释放资源。
当然,这种场景仅仅需要对PCIe设备进行热拔相应的操作。
第四方面,公开了一种热插拔方法,包括:
第一PCIe桥设备监测第二链路是否异常;所述第二链路为所述第一PCIe桥设备与第二PCIe桥设备间的链路,所述第一PCIe桥设备与主机连接,所述第二PCIe桥设备下挂N个PCIe设备;所述N为大于等于1的整数;
所述第一PCIe桥设备监测到所述第二链路出现异常,则生成N个第四通知报文,所述N个第四通知报文用于指示所述主机执行与所述N个PCIe设备相应的热插拔操作。
第一PCIe桥设备针对N个PCIe设备生成N个通知报文,指示主机对所述N个PCIe设备逐一进行热插拔。可以防止第一PCIe桥设备与第二PCIe桥设备间的链路突然异常而导致主机读写所述N个PCIe设备请求得不到响应出现的主机挂死。
结合第四方面,在第四方面的第一种可能的实现方式中,所述生成N个第四通知报文具体包括:
所述第一PCIe桥设备根据预存储的PCIe拓扑结构,确定所述 N个PCIe设备的N个标识信息,以及所述N个PCIe设备对应的N个插槽的信息;
根据所述N个标识信息以及所述N个插槽的信息生成N个热插拔中断信息;
根据所述N个热插拔中断信息中的每一个生成一个所述第四通知报文,得到N个所述第四通知报文。
第五方面,公开了一种主机控制器,应用于远程总线和接口标准PCIe系统,所述远程PCIe系统包括主机、所述主机控制器、PCIe设备以及用户设备控制器,包括:
生成单元,用于生成第一通知报文,所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔;所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
发送单元,用于将所述第一通知报文发送给所述主机,以便所述主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
接收单元,用于接收所述主机发送的第二通知报文;
所述发送单元还用于,向所述用户设备控制器发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
结合第五方面,在第五方面的第一种可能的实现方式中,
所述生成单元具体用于,若需对所述第一PCIe设备进行热插,则接收所述用户设备控制器发送的所述第三通知报文,根据所述第三通知报文生成所述第一通知报文;所述第三通知报文是所述用户设备控制器检测到热插拔被触发后由所述用户设备控制器生成的,所述第三通知报文携带所述热插拔中断信息;
或,检测到热插拔被触发,则生成所述第一通知报文。
结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述生成单元还用于,若需对所述第一PCIe 设备进行热拔,在检测到与所述用户设备控制器间的网络中断时,生成所述第一通知报文。
第六方面,公开了一种主机,应用于远程PCIe系统,所述远程总线和接口标准PCIe系统包括所述主机、主机控制器、PCIe设备以及用户设备控制器,包括:
接收单元,用于接收所述主机控制器发送的第一通知报文;所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔,所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
热插拔操作单元,用于根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
生成单元,用于生成第二通知报文,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成;
发送单元,用于向所述主机控制器发送所述第二通知报文。
结合第六方面,在第六方面的第一种可能的实现方式中,所述热插拔操作单元具体用于,获取所述第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息;确定所述插槽信息对应的第一插槽;关闭所述第一插槽与所述第一PCIe设备间的连接,并将所述第一插槽下电。
结合第六方面,在第六方面的第二种可能的实现方式中,所述热插拔操作单元具体用于,获取第一插槽的插槽信息;所述第一插槽为所述第一PCIe设备对应的插槽;
建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
第七方面,公开了一种主机,包括:
监测单元,用于监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备;
热插拔操作单元,用于若所述监测单元监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。
结合第七方面,在第七方面的第一种可能的实现方式中,所述热插拔操作单元具体用于,获取所述至少一个PCIe设备中每一个PCIe设备的标识信息以及所述每一个PCIe设备对应的插槽信息;
关闭所述每一个PCIe设备与对应的插槽与间的连接,并将所述每一个PCIe设备对应的插槽下电。
第八方面,公开了一种第一PCIe桥设备,包括:
监测单元,用于监测第二链路是否异常;所述第二链路为所述第一PCIe桥设备与第二PCIe桥设备间的链路,所述第一PCIe桥设备与主机连接,所述第二PCIe桥设备下挂N个PCIe设备;所述N为大于等于1的整数;
生成单元,用于在所述监测单元监测到所述第二链路出现异常后,生成N个第四通知报文,所述N个第四通知报文用于指示所述主机执行与所述N个PCIe设备相应的热插拔操作。
结合第八方面,在第八方面的第一种可能的实现方式中,所述生成单元具体用于,根据预存储的PCIe拓扑结构,确定所述N个PCIe设备的N个标识信息,以及所述N个PCIe设备对应的N个插槽的信息;
根据所述N个标识信息以及所述N个插槽的信息生成N个热插拔中断信息;
根据所述N个热插拔中断信息中的每一个生成一个所述第四通知报文,得到N个所述第四通知报文。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例1提供的远程PCIe系统的示意图;
图2为本发明实施例1提供的热插拔方法的流程示意图;
图3为本发明实施例1提供的主机、主机控制器及用户设备控 制器的结构框图;
图4为本发明实施例1提供的热拔方法的流程示意图;
图5为本发明实施例1提供的热插方法的流程示意图;
图6本发明实施例2提供的远程PCIe系统的示意图;
图7为本发明实施例2提供的热插拔方法的流程示意图;
图8本发明实施例3提供的远程PCIe系统的示意图;
图9为本发明实施例3提供的热插拔方法的流程示意图;
图10为本发明实施例4提供的主机控制器的结构框图;
图11为本发明实施例5提供的主机的结构框图;
图12为本发明实施例6提供的主机的结构框图;
图13为本发明实施例7提供的第一PCIe桥设备的结构框图;
图14为本发明实施例8提供的硬件设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有热插拔都为PCIe协议定义的标准的热插拔,这种热插拔只针对短距离的PCIe设备的热插拔,即只能适用于PCIe设备直接与主机连接的场景。在远距离应用PCIe设备的场景,如:PCIe设备与主机不在同一个地点或二者通过PCIe桥连接,标准的PCIe设备的热插拔方式不够灵活。同时,在复杂的PCIe拓扑结构,如PCIe桥级联的使用场景,标准的PCIe设备的热插拔方法已不能满足场景需求,使得PCIe设备的应用受到限制。
本发明的原理在于:在主机与PCIe设备间增设能够进行通信的主机控制器、用户设备控制器,使得主机能够通过主机控制器、用户设备控制器对PCIe设备进行热插拔。或者,对PCIe桥与PCIe设备间的链路进行监测,发现链路异常时,则对下挂的PCIe设备进行热插拔。
实施例1:
本发明实施例提供一种远程PCIe系统。如图1所述远程PCIe系统包括主机10、主机控制器20、用户设备控制器30以及PCIe设备40。所述主机10与所述主机控制器20连接,PCIe设备40与所述用户设备控制器30连接,所述主机控制器20与所述用户设备控制器30通过网络通信。这里的网络也可以是其他传输介质,如Fiber Channel等,网络适用的不仅仅是TCP/IP协议,可以是其他传输协议。
本发明实施例提供一种热插拔方法,应用于图1所示的远程PCIe系统。如图2所示,所述方法包括以下步骤:
s101、所述主机控制器生成第一通知报文,所述第一通知报文携带热插拔中断信息。
其中,所述热插拔中断信息携带第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息。该热插拔中断信息指示第一PCIe设备要将进行热插拔。所述第一PCIe设备即图1所示的PCIe设备40。
另外,所述第一通知报文可以是热插拔MSI中断通知TLP报文。
具体实现中,若需对所述第一PCIe设备进行热插,可以通过以下两种方式生成第一通知报文:
第一、所述主机控制器接收所述用户设备控制器发送的所述第三通知报文;所述主机控制器根据所述第三通知报文生成所述第一通知报文。
其中,所述第三通知报文是所述用户设备控制器检测到热插拔被触发后由所述用户设备控制器生成的,所述第三通知报文携带所述热插拔中断信息。
具体地,可以是用户通过用户设备控制器发起热插拔请求,用户设备控制器则生成所述第三通知报文。所述第三通知报文可以是以太通知报文,如:L2报文、或其他网络传输协议(除TCP/IP协议外)适用的报文。
第二、所述主机控制器检测到热插拔被触发,则生成所述第一通知报文。
具体实现中,可以是用户通过主机控制器发起热插拔请求。
若需对所述第一PCIe设备进行热拔,则所述主机控制器除了可以通过以上两种方式获取第一通知报文的方式外,还可以通过以下第三种方式获取。
第三、所述主机控制器检测到与所述用户设备控制器间的网络中断,则生成所述第一通知报文。
s102、主机控制器将所述第一通知报文发送给主机。
s103、主机接收所述主机控制器发送的第一通知报文,根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作。
具体实现中,若需对第一PCIe设备进行热拔,则所述主机根据所述第二通知报文执行与所述第一PCIe设备相应的热插拔操作具体包括:
所述主机获取所述第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息;确定所述插槽信息对应的第一插槽;关闭所述第一插槽与所述第一PCIe设备间的连接,并将所述第一插槽下电。
另外,若需对所述第一PCIe设备进行热插,则所述主机根据所述第二通知报文执行与所述第一PCIe设备相应的热插拔操作具体包括:
所述主机获取第一插槽的插槽信息;所述第一插槽为所述第一PCIe设备对应的插槽;
所述主机建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
s104、所述主机生成第二通知报文,并向所述主机控制器发送所述第二通知报文,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
s105、所述主机控制器接收所述主机发送的第二通知报文,向所述用户设备控制器发送所述第二通知报文。
其中,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备。具体实现中,用户设备控制器点亮指示灯, 指示用户可以将第一PCIe设备拔下,或可以将第一PCIe设备插入插槽。
进一步的,详细说明图1中主机10、主机控制器20、用户设备控制器30以及PCIe设备40包括的功能模块,并结合各个功能模块详细介绍本发明提供的热插拔方法。
如图3所示,主机(HOST SERVER)10包括:ROOT COMPLEX(根节点)101、热插拔驱动(HOT-PLUG DRIVER)102、热插拔服务程序(HOT-PLUG SERVICE)103、用户接口(User interface)104、操作系统(OS)105以及设备驱动程序(DEVICE DRIVER)106。
主机控制器20为控制单板。包括:上行端口(UP STREAM)201、单板控制模块(CONTROLLER)202、管理CPU(PROCESSOR)203、发送和接收数据处理模块(TRANSMIT AND RECEIVE MODULE)204、网络连接模块(NETWORK CONNECTION MODULE)205、带外控制模块(OUT-BAND CONTROLLER)206。
用户设备控制器30为控制单板。包括:热插拔按钮301、热插拔指示灯302、IO设备插303、热插拔控制器304、下行端口(DOWN STREAM)305、用户控制和指示模块308、管理CPU306、发送和接收数据处理模块307、为网络连接模块310以及带外控制模块309。
以下参考图3,对本发明实施例提供的热插拔方法做以详细说明。
首先,提供一种对PCIe设备进行热拔的方法,如图4所示,所述方法包括:
401a、用户设备控制器的热插拔按钮301被触发。
401b、用户通过用户设备控制器30的带外控制模块309发起热插拔请求。
401c、用户通过主机控制器20带外控制模块206发起热插拔请求。
401d、主机控制器20与用户设备控制器30间的网络断开。
具体实现中,进行步骤401a或401b中的任一个。但后续步骤有所不同。
步骤401a后进行步骤4011:用户设备控制器30的热插拔控制器304检测到热插拔请求,用户控制和指示模块308指示指示灯302的状态,同时组以太通知报文通过网络连接模块310发送至网络。
步骤401b后进行步骤4012:管理CPU306接收热插拔请求,通过热插拔控制器304指示指示灯302的状态,同时组以太通知报文通过网络连接模块310发送至网络。
步骤4011、4012后均进行步骤402a:管理CPU203从网络连接模块205接收并解析以太通知报文,并根据其中的热插拔中断信息组热插拔MSI中断通知TLP报文,通过上行端口201发送至主机10。
步骤401c后进行步骤402b:管理CPU203接收热插拔请求,通知单板控制模块202组热插拔中断信息组热插拔MSI中断通知TLP报文,通过上行端口201发送至主机10。
步骤401d后进行步骤402c:单板控制模块202检测网络状态信息并组热插拔MSI中断通知TLP报文,通过上行端口201发送至主机10。
步骤402a或402b或402c之后均进行步骤403。
403、主机的热插拔服务程序103中的热插拔驱动102接收热插拔中断,通过下行端口305获取热插拔相关插槽信息,执行热插拔的相应操作。
404、主机10执行热插拔操作,卸载驱动,并通知单板控制模块202组热插拔完成通知报文通过发送和接收数据处理模块204、网络连接模块205发送至网络。
其中,所述热插拔完成通知报文即本发明所述的第二通知报文。
405、单板控制模块202接收并解析热插拔完成通知报文后用户控制和指示模块308控制指示灯302闪亮,指示用户拔PCIe设备。
另外,还提供一种对PCIe设备进行热插的方法,如图5所示, 所述方法包括:
501a、用户设备控制器的热插拔按钮301被触发。
501b、用户通过用户设备控制器30的带外控制模块309发起热插拔请求。
501c、用户通过主机控制器20带外控制模块206发起热插拔请求。
步骤501a后进行步骤502a:热插拔控制器304检测到有热插动作,用户控制和指示模块308指示指示灯302的状态,同时组以太通知报文通过网络连接模块310发送至网络。
步骤501b后进行步骤502b:管理CPU306接收热插拔请求,通过热插拔控制器304指示指示灯302的状态,同时组以太通知报文通过网络连接模块310发送至网络。
步骤501c后进行步骤502c:管理CPU203接收到请求,根据状态信息通知单板控制模块202组热插拔MSI中断通知TLP报文,通过上行端口201发送至主机10。
步骤502a或502b或502c之后均进行步骤503。
503、管理CPU203从网络连接模块205接收并解析以太通知报文,并根据其中的热插拔中断信息组热插拔MSI中断通知TLP报文,通过上行端口201发送至主机10。
504、热插拔服务程序103中的热插拔驱动102接收热插拔中断,通过下行端口305获取热插拔相关插槽信息,执行热插拔的相应操作。
505、单板控制模块202组热插拔完成通知报文通过发送和接收数据处理模块204、网络连接模块205发送至用户设备控制器30。
506、热插拔控制器304接收并解析热插拔完成通知报文,控制IO设备插303上电,同时控制指示灯302的状态,指示用户插PCIe设备。
本发明实施例提供的热插拔方法,在主机侧设置主机控制器与主机连接,在PCIe设备侧设置用户设备控制器,主机控制器与用户设备控制器间通过网络进行通信。当热插拔被触发后,主机通过主机控制器以及用户设备控制器进行报文交互后,执行相应的热插 拔操作。并指示用户插拔PCIe设备。实现了远距离使用PCIe设备场景中的PCIe设备的热插拔。
实施例2:
本发明实施例提供一种热插拔方法,应用于图6所示的远程PCIe系统。如图6所述远程PCIe系统包括主机10、PCIe桥设备50以及PCIe设备40。所述主机10与PCIe桥设备50连接,PCIe桥设备50与PCIe设备40连接。主机10通过PCIe桥设备50与PCIe设备40进行通信。其中,主机10的RP(Root Port,根端口)与PCIe桥设备50的上行端口连接,PCIe桥设备50的DP(DownStream Port,下行端口)与PCIe设备40连接。
如图7所示,本实施例提供的热插拔方法包括以下步骤:
601、主机监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备。
所述第一链路可以是图6所述的主机10与PCIe桥设备50间的链路。
主机下挂一级PCIe Switch(PCIe桥设备),PCIe Switch下挂多种PCIe设备,若PCIe Switch与主机(host)之间的PCIe链路出现异常,要保证主机能够正确处理异常而不出现挂死,则可在HOST侧的设备驱动(Device Driver)启动一个线程来监控RC(Root Complex,根节点)和上行端口之间的链路状态,一旦驱动检查到该链路状态异常,则启动热插拔服务。另外,PCIe桥设备可以集成主机控制器20、用户设备控制器30的功能,保证HOST主机不宕机,且热插拔流程如图4、图5所示。
602、若所述主机监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。
需要说明的是,对6这种场景仅仅需要对PCIe设备进行热拔相应的操作。
进一步地,所述执行与所述至少一个PCIe设备相应的热插拔操作具体包括:
所述主机获取所述至少一个PCIe设备中每一个PCIe设备的标识信息以及所述每一个PCIe设备对应的插槽信息。
接着,所述主机关闭所述每一个PCIe设备与对应的插槽与间的 连接,并将所述每一个PCIe设备对应的插槽下电。
PCIe设备通过PCIe桥与主机级联属于远距离使用PCIe设备的场景,现有的热插拔技术,并不能实现此场景中PCIe设备的热插拔。本发明监测PCIe桥与PCIe设备间的链路状态,当链路异常时,对PCIe桥下挂的每一个PCIe设备进行相应的热插拔操作,可防止由于PCIe桥与PCIe设备间的链路异常而导致的主机读写PCIe设备的请求得不到响应而导致主机挂死。
实施例3:
本发明实施例提供一种热插拔方法,应用于图8所示的远程PCIe系统。如图8所述远程PCIe系统包括主机10、PCIe桥设备50、PCIe桥设备60以及PCIe设备40。所述主机10与PCIe桥设备50连接,PCIe桥设备50与PCIe桥设备60连接。主机10通过PCIe桥设备50、PCIe桥设备60与PCIe设备40进行通信。其中,主机10的RP(Root Port,根端口)与PCIe桥设备50的上行端口连接,PCIe桥设备50的DP(DownStream Port,下行端口)与PCIe桥设备60的上行端口连接。
如图9所示,本实施例提供的热插拔方法包括以下步骤:
701、第一PCIe桥设备监测第二链路是否异常;所述第二链路为所述第一PCIe桥设备与第二PCIe桥设备间的链路,所述第一PCIe桥设备与主机连接,所述第二PCIe桥设备下挂N个PCIe设备;所述N为大于等于1的整数。
702、所述第一PCIe桥设备监测到所述第二链路出现异常,则生成N个第四通知报文,所述N个第四通知报文用于指示所述主机执行与所述N个PCIe设备相应的热插拔操作。
703、第一PCIe桥设备针对N个PCIe设备生成N个通知报文,指示主机对所述N个PCIe设备逐一进行热插拔。可以防止第一PCIe桥设备与第二PCIe桥设备间的链路突然异常而导致主机读写所述N个PCIe设备请求得不到响应出现的主机挂死。
主机下挂两级PCIe Switch(PCIe桥设备50、PCIe桥设备60),第二级PCIe Switch(PCIe桥设备60)下挂多种PCIe设备,若两级PCIe Switcht之间的PCIe链路(PCIe桥设备50、PCIe桥设备 60间的链路)出现异常,要保证HOST主机能够正确处理异常而不出现挂死,则可在第一级PCIe Switch(PCIe桥设备50)中记录PCIe拓扑结构,当检测到两级PCIe Switcht之间的PCIe链路出现异常,则通过第一级PCIe Switch中的记录的PCIe拓扑结构逐一组中断通知报文通过上行端口发送给主机,主机中的热插拔驱动接收到热插拔中断后执行热插拔服务,逐一将第一级桥下的设备进行热插拔,保证主机不宕机。
进一步地,所述生成N个第四通知报文具体包括:
所述第一PCIe桥设备根据预存储的PCIe拓扑结构,确定所述N个PCIe设备的N个标识信息,以及所述N个PCIe设备对应的N个插槽的信息;
根据所述N个标识信息以及所述N个插槽的信息生成N个热插拔中断信息;根据所述N个热插拔中断信息中的每一个生成一个所述第四通知报文,得到N个所述第四通知报文。
PCIe设备通过PCIe桥与主机级联属于远距离使用PCIe设备的场景,现有的热插拔技术,并不能实现此场景中PCIe设备的热插拔。本发明监测PCIe桥与PCIe设备间的链路状态,当链路异常时,对PCIe桥下挂的每一个PCIe设备进行相应的热插拔操作,可防止由于PCIe桥与PCIe设备间的链路异常而导致的主机读写PCIe设备的请求得不到响应而导致主机挂死。
实施例4:
本发明实施例提供了一种主机控制器80,应用于图1所示的远程PCIe系统。如图10所示,所述主机控制器80包括:生成单元801、发送单元802以及接收单元803。
生成单元801,用于生成第一通知报文,所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔;所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信。
发送单元802,用于将所述第一通知报文发送给所述主机,以便所述主机根据所述第一通知报文执行与所述第一PCIe设备相应 的热插拔操作。
接收单元803,用于接收所述主机发送的第二通知报文。
所述发送单元802还用于,向所述用户设备控制器发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
所述生成单元801具体用于,若需对所述第一PCIe设备进行热插,则接收所述用户设备控制器发送的所述第三通知报文,根据所述第三通知报文生成所述第一通知报文;所述第三通知报文是所述用户设备控制器检测到热插拔被触发后由所述用户设备控制器生成的,所述第三通知报文携带所述热插拔中断信息。
或,所述生成单元801检测到热插拔被触发,则生成所述第一通知报文。
所述生成单元801还用于,若需对所述第一PCIe设备进行热拔,在检测到与所述用户设备控制器间的网络中断时,生成所述第一通知报文。
需要说明的是,发送单元802可以是主机控制器的发射器,接收单元803可以是主机控制器接收器,所述生成单元801可以集成在主机控制器的一个处理器中实现,此外,也可以以程序代码的形式存储于主机控制器的存储器中,由主机控制器的一个处理器调用主机控制器的存储器中存储的代码,执行以上生成单元801的功能。
本发明实施例提供的主机控制器,与主机连接,在PCIe设备侧设置用户设备控制器,主机控制器与用户设备控制器间通过网络进行通信。当热插拔被触发后,主机通过主机控制器以及用户设备控制器进行报文交互后,执行相应的热插拔操作。并指示用户插拔PCIe设备。实现了远距离使用PCIe设备场景中的PCIe设备的热插拔。
实施例5:
本发明实施例提供一种主机90,应用于图1所示的远程PCIe系统。如图11所示,所述主机90包括:接收单元901、热插拔操作单元902、生成单元903以及发送单元904。
接收单元901,用于接收所述主机控制器发送的第一通知报文;所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔,所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信。
热插拔操作单元902,用于根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作。
生成单元903,用于生成第二通知报文,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
发送单元904,用于向所述主机控制器发送所述第二通知报文。
所述热插拔操作单元902具体用于,获取所述第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息;确定所述插槽信息对应的第一插槽;关闭所述第一插槽与所述第一PCIe设备间的连接,并将所述第一插槽下电。
所述热插拔操作单元902具体用于,获取第一插槽的插槽信息;所述第一插槽为所述第一PCIe设备对应的插槽;建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
需要说明的是,发送单元904可以是主机的发射器,接收单元901可以是主机接收器,所述热插拔操作单元902、生成单元903可以集成在主机的一个处理器中实现,此外,也可以以程序代码的形式存储于主机的存储器中,由主机的一个处理器调用主机的存储器中存储的代码,执行以上热插拔操作单元902、生成单元903的功能。
本发明实施例提供的主机,与主机控制器连接,在PCIe设备侧设置用户设备控制器,主机控制器与用户设备控制器间通过网络进行通信。当热插拔被触发后,主机通过主机控制器以及用户设备控制器进行报文交互后,执行相应的热插拔操作。并指示用户插拔PCIe设备。实现了远距离使用PCIe设备场景中的PCIe设备的热插拔。
实施例6:
本发明实施例了一种主机100,应用于图6所示的远程PCIe系 统。如图12所示,所述主机100包括:监测单元1001、热插拔操作单元1002。
监测单元1001,用于监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备。
热插拔操作单元1002,用于若所述监测单元监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。
所述热插拔操作单元1002具体用于,获取所述至少一个PCIe设备中每一个PCIe设备的标识信息以及所述每一个PCIe设备对应的插槽信息;关闭所述每一个PCIe设备与对应的插槽与间的连接,并将所述每一个PCIe设备对应的插槽下电。
需要说明的是,所述监测单元1001、热插拔操作单元1002可以集成在主机的一个处理器中实现,此外,也可以以程序代码的形式存储于主机的存储器中,由主机的一个处理器调用主机的存储器中存储的代码,执行以上监测单元1001、热插拔操作单元1002的功能。
PCIe设备通过PCIe桥与主机级联属于远距离使用PCIe设备的场景,现有的热插拔技术,并不能实现此场景中PCIe设备的热插拔。本发明监测PCIe桥与PCIe设备间的链路状态,当链路异常时,对PCIe桥下挂的每一个PCIe设备进行相应的热插拔操作,可防止由于PCIe桥与PCIe设备间的链路异常而导致的主机读写PCIe设备的请求得不到响应而导致主机挂死。
实施例7:
本发明实施例提供了一种第一PCIe桥设备110,应用于图8所示的远程PCIe系统。如图13所示,所述第一PCIe桥设备110包括:监测单元1101以及生成单元1102。
监测单元1101,用于监测第二链路是否异常;所述第二链路为所述第一PCIe桥设备与第二PCIe桥设备间的链路,所述第一PCIe桥设备与主机连接,所述第二PCIe桥设备下挂N个PCIe设备;所述N为大于等于1的整数。
生成单元1102,用于在所述监测单元监测到所述第二链路出现 异常后,生成N个第四通知报文,所述N个第四通知报文用于指示所述主机执行与所述N个PCIe设备相应的热插拔操作。
所述生成单元1101具体用于,根据预存储的PCIe拓扑结构,确定所述N个PCIe设备的N个标识信息,以及所述N个PCIe设备对应的N个插槽的信息;根据所述N个标识信息以及所述N个插槽的信息生成N个热插拔中断信息;根据所述N个热插拔中断信息中的每一个生成一个所述第四通知报文,得到N个所述第四通知报文。
需要说明的是,所述监测单元1101以及生成单元1102可以集成在第一PCIe设备的一个处理器中实现,此外,也可以以程序代码的形式存储于第一PCIe设备的存储器中,由第一PCIe设备的一个处理器调用第一PCIe设备的存储器中存储的代码,执行以上监测单元1101以及生成单元1102的功能。
PCIe设备通过PCIe桥与主机级联属于远距离使用PCIe设备的场景,现有的热插拔技术,并不能实现此场景中PCIe设备的热插拔。本发明监测PCIe桥与PCIe设备间的链路状态,当链路异常时,对PCIe桥下挂的每一个PCIe设备进行相应的热插拔操作,可防止由于PCIe桥与PCIe设备间的链路异常而导致的主机读写PCIe设备的请求得不到响应而导致主机挂死。
实施例8:
本发明实施例提供一种硬件设备120,如图14所示,所述硬件设备120包括:处理器1201、系统总线1202、存储器1203以及接收器1204和发射器1205。
其中,处理器1201可以为中央处理器(英文:central processing unit,缩写:CPU)。
存储器1203,用于存储程序代码,并将该程序代码传输给该处理器1201,处理器1201根据程序代码执行下述指令。存储器1203可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器1203也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器 (英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)。存储器1203还可以包括上述种类的存储器的组合。处理器1201、存储器1203之间通过系统总线1202连接并完成相互间的通信。
发射器1205可以由光发射器,电发射器,无线发射器或其任意组合实现。例如,光发射器可以是小封装可插拔(英文:small form-factor pluggable transceiver,缩写:SFP)发射器(英文:transceiver),增强小封装可插拔(英文:enhanced small form-factor pluggable,缩写:SFP+)发射器或10吉比特小封装可插拔(英文:10Gigabit small form-factor pluggable,缩写:XFP)发射器。电发射器可以是以太网(英文:Ethernet)网络接口控制器(英文:network interface controller,缩写:NIC)。无线发射器可以是无线网络接口控制器(英文:wireless network interface controller,缩写:WNIC)。
接收器1204可以由光接收器,电接收器,无线接收器或其任意组合实现。例如,光接收器可以是小封装可插拔接收器,增强小封装可插拔接收器或10吉比特小封装可插拔接收器。电接收器可以是以太网网络接口控制器。无线接收器可以是无线网络接口控制器。
硬件设备120可以是主机控制器80,其中处理器1201执行上述生成单元801的功能,发射器1205是发送单元802,接收器1204是接收单元803。
硬件设备120可以是主机90,其中,接收器1204是接收单元901,发射器1205是发送单元904,处理器1201执行上述热插拔操作单元902、生成单元903的功能。
硬件设备120可以是主机100,处理器1201执行上述监测单元1001、热插拔操作单元1002的功能。此时,硬件设备120可以不包括接收器1204以及发射器1205。
硬件设备120可以是第一PCIe桥设备110,其中,处理器1201执行上述监测单元1101以及生成单元1102的功能。此时,硬件设备120可以不包括接收器1204以及发射器1205。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地 了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (20)

  1. 一种热插拔方法,其特征在于,应用于远程总线和接口标准PCIe系统,所述远程PCIe系统包括主机、主机控制器、PCIe设备以及用户设备控制器,包括:
    所述主机控制器生成第一通知报文,所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔;所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
    所述主机控制器将所述第一通知报文发送给所述主机,以便所述主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
    所述主机控制器接收所述主机发送的第二通知报文,向所述用户设备控制器发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
  2. 根据权利要求1所述的方法,其特征在于,若需对所述第一PCIe设备进行热插,则所述主机控制器生成第一通知报文具体包括:
    所述主机控制器接收所述用户设备控制器发送的所述第三通知报文;所述第三通知报文是所述用户设备控制器检测到热插拔被触发后由所述用户设备控制器生成的,所述第三通知报文携带所述热插拔中断信息;
    所述主机控制器根据所述第三通知报文生成所述第一通知报文;
    或,所述主机控制器检测到热插拔被触发,则生成所述第一通知报文。
  3. 根据权利要求2所述的方法,其特征在于,若需对所述第一PCIe设备进行热拔,则所述主机控制器获取第一通知报文还包括:
    所述主机控制器检测到与所述用户设备控制器间的网络中断,则生成所述第一通知报文。
  4. 一种热插拔方法,其特征在于,应用于远程总线和接口标准PCIe系统,所述远程PCIe系统包括主机、主机控制器、PCIe设备以及用户设备控制器,包括:
    所述主机接收所述主机控制器发送的第一通知报文;所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔,所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
    所述主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
    所述主机生成第二通知报文,并向所述主机控制器发送所述第二通知报文,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
  5. 根据权利要求4所述的方法,其特征在于,所述主机根据所述第二通知报文执行与所述第一PCIe设备相应的热插拔操作具体包括:
    所述主机获取所述第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息;
    所述主机确定所述插槽信息对应的第一插槽;
    所述主机关闭所述第一插槽与所述第一PCIe设备间的连接,并将所述第一插槽下电。
  6. 根据权利要求4所述的方法,其特征在于,所述主机根据所述第二通知报文执行与所述第一PCIe设备相应的热插拔操作具体包括:
    所述主机获取第一插槽的插槽信息;所述第一插槽为所述第一PCIe设备对应的插槽;
    所述主机建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
  7. 一种热插拔方法,其特征在于,包括:
    主机监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备;
    若所述主机监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。
  8. 根据权利要求7所述的方法,其特征在于,所述执行与所述至少一个PCIe设备相应的热插拔操作具体包括:
    所述主机获取所述至少一个PCIe设备中每一个PCIe设备的标识信息以及所述每一个PCIe设备对应的插槽信息;
    所述主机关闭所述每一个PCIe设备与对应的插槽与间的连接,并将所述每一个PCIe设备对应的插槽下电。
  9. 一种热插拔方法,其特征在于,包括:
    第一PCIe桥设备监测第二链路是否异常;所述第二链路为所述第一PCIe桥设备与第二PCIe桥设备间的链路,所述第一PCIe桥设备与主机连接,所述第二PCIe桥设备下挂N个PCIe设备;所述N为大于等于1的整数;
    所述第一PCIe桥设备监测到所述第二链路出现异常,则生成N个第四通知报文,所述N个第四通知报文用于指示所述主机执行与所述N个PCIe设备相应的热插拔操作。
  10. 根据权利要求9所述的方法,其特征在于,所述生成N个第四通知报文具体包括:
    所述第一PCIe桥设备根据预存储的PCIe拓扑结构,确定所述N个PCIe设备的N个标识信息,以及所述N个PCIe设备对应的N个插槽的信息;
    根据所述N个标识信息以及所述N个插槽的信息生成N个热插拔中断信息;
    根据所述N个热插拔中断信息中的每一个生成一个所述第四通知报文,得到N个所述第四通知报文。
  11. 一种主机控制器,其特征在于,应用于远程总线和接口标准PCIe系统,所述远程PCIe系统包括主机、所述主机控制器、PCIe设备以及用户设备控制器,包括:
    生成单元,用于生成第一通知报文,所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔;所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设 备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
    发送单元,用于将所述生成单元生成的所述第一通知报文发送给所述主机,以便所述主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
    接收单元,用于接收所述主机发送的第二通知报文;
    所述发送单元还用于,向所述用户设备控制器发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
  12. 根据权利要求11所述的主机控制器,其特征在于,
    所述生成单元具体用于,若需对所述第一PCIe设备进行热插,则接收所述用户设备控制器发送的所述第三通知报文,根据所述第三通知报文生成所述第一通知报文;所述第三通知报文是所述用户设备控制器检测到热插拔被触发后由所述用户设备控制器生成的,所述第三通知报文携带所述热插拔中断信息;
    或,检测到热插拔被触发,则生成所述第一通知报文。
  13. 根据权利要求12所述的主机控制器,其特征在于,所述生成单元还用于,若需对所述第一PCIe设备进行热拔,在检测到与所述用户设备控制器间的网络中断时,生成所述第一通知报文。
  14. 一种主机,其特征在于,应用于远程总线和接口标准PCIe系统,所述远程PCIe系统包括所述主机、主机控制器、PCIe设备以及用户设备控制器,包括:
    接收单元,用于接收所述主机控制器发送的第一通知报文;所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔,所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
    热插拔操作单元,用于根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
    生成单元,用于生成第二通知报文,所述第二通知报文用于指 示所述第一PCIe设备相应的热插拔操作已完成;
    发送单元,用于向所述主机控制器发送所述第二通知报文。
  15. 根据权利要求14所述的主机,其特征在于,所述热插拔操作单元具体用于,获取所述第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息;确定所述插槽信息对应的第一插槽;关闭所述第一插槽与所述第一PCIe设备间的连接,并将所述第一插槽下电。
  16. 根据权利要求14所述的主机,其特征在于,所述热插拔操作单元具体用于,获取第一插槽的插槽信息;所述第一插槽为所述第一PCIe设备对应的插槽;
    建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
  17. 一种主机,其特征在于,包括:
    监测单元,用于监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备;
    热插拔操作单元,用于若所述监测单元监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。
  18. 根据权利要求17所述的主机,其特征在于,所述热插拔操作单元具体用于,获取所述至少一个PCIe设备中每一个PCIe设备的标识信息以及所述每一个PCIe设备对应的插槽信息;
    关闭所述每一个PCIe设备与对应的插槽与间的连接,并将所述每一个PCIe设备对应的插槽下电。
  19. 一种第一PCIe桥设备,其特征在于,包括:
    监测单元,用于监测第二链路是否异常;所述第二链路为所述第一PCIe桥设备与第二PCIe桥设备间的链路,所述第一PCIe桥设备与主机连接,所述第二PCIe桥设备下挂N个PCIe设备;所述N为大于等于1的整数;
    生成单元,用于在所述监测单元监测到所述第二链路出现异常后,生成N个第四通知报文,所述N个第四通知报文用于指示所述主机执行与所述N个PCIe设备相应的热插拔操作。
  20. 根据权利要求19所述的第一PCIe桥设备,其特征在于,所述生成单元具体用于,根据预存储的PCIe拓扑结构,确定所述N个PCIe设备的N个标识信息,以及所述N个PCIe设备对应的N个插槽的信息;
    根据所述N个标识信息以及所述N个插槽的信息生成N个热插拔中断信息;
    根据所述N个热插拔中断信息中的每一个生成一个所述第四通知报文,得到N个所述第四通知报文。
PCT/CN2016/098743 2016-01-15 2016-09-12 一种热插拔方法、主机控制器、主机及PCIe桥设备 WO2017121141A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16884695.4A EP3309688A4 (en) 2016-01-15 2016-09-12 Hot plug method, host controller, host and pcie bridge device
US15/859,758 US10423560B2 (en) 2016-01-15 2018-01-02 Hot plug method, host controller, host, and PCIE bridge device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610029365.6 2016-01-15
CN201610029365.6A CN105701051B (zh) 2016-01-15 2016-01-15 一种热插拔方法、主机控制器、主机及PCIe桥设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/859,758 Continuation US10423560B2 (en) 2016-01-15 2018-01-02 Hot plug method, host controller, host, and PCIE bridge device

Publications (1)

Publication Number Publication Date
WO2017121141A1 true WO2017121141A1 (zh) 2017-07-20

Family

ID=56227538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/098743 WO2017121141A1 (zh) 2016-01-15 2016-09-12 一种热插拔方法、主机控制器、主机及PCIe桥设备

Country Status (4)

Country Link
US (1) US10423560B2 (zh)
EP (1) EP3309688A4 (zh)
CN (1) CN105701051B (zh)
WO (1) WO2017121141A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701051B (zh) * 2016-01-15 2019-10-15 华为技术有限公司 一种热插拔方法、主机控制器、主机及PCIe桥设备
CN106330562A (zh) * 2016-08-30 2017-01-11 浪潮(北京)电子信息产业有限公司 一种解决交换机在热插拔过程中死机问题的系统及方法
CN106951384A (zh) * 2017-03-09 2017-07-14 凌华科技(中国)有限公司 一种基于PCIe总线的DPDK设备热插拔方法
CN107506323B (zh) * 2017-07-25 2020-03-20 华为技术有限公司 一种热插拔处理方法及装置
CN107678994B (zh) * 2017-09-15 2021-04-20 华为技术有限公司 PCIe设备热拔方法及装置
CN111371582B (zh) * 2018-12-26 2021-04-16 大唐移动通信设备有限公司 一种pcie链路故障的处理方法及装置
TWI710911B (zh) * 2019-05-02 2020-11-21 緯創資通股份有限公司 電子系統、主機端裝置及控制方法
CN112527719B (zh) * 2020-12-04 2023-12-22 北京浪潮数据技术有限公司 一种基于PCIe链路的JBOF连接方法、装置及系统
CN112822129A (zh) * 2021-02-05 2021-05-18 井芯微电子技术(天津)有限公司 一种PCIe交换设备
CN114691574B (zh) * 2021-04-15 2023-05-09 澜起电子科技(上海)有限公司 热插拔控制方法、装置、重定时器、扩展卡及电子设备
CN118568030A (zh) * 2023-02-21 2024-08-30 华为云计算技术有限公司 热插拔方法及装置、计算机设备
CN116909639B (zh) * 2023-09-13 2023-12-12 珠海星云智联科技有限公司 一种挂载系统、方法、集群以及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740997A (zh) * 2005-09-21 2006-03-01 杭州华为三康技术有限公司 网络设备及其外围器件互连资源的分配方法
CN102117259A (zh) * 2009-12-31 2011-07-06 成都市华为赛门铁克科技有限公司 地址空间资源分配处理方法及装置
CN102662903A (zh) * 2012-03-31 2012-09-12 浪潮电子信息产业股份有限公司 一种通过cpld或fpga实现pcie设备热插拔的方法
US8838865B2 (en) * 2008-10-10 2014-09-16 Nuon, Inc. Hot plug ad hoc computer resource allocation
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
WO2014206356A2 (en) * 2013-06-28 2014-12-31 Huawei Technologies Co., Ltd. System and method for extended peripheral component interconnect express fabrics
CN105701051A (zh) * 2016-01-15 2016-06-22 华为技术有限公司 一种热插拔方法、主机控制器、主机及PCIe桥设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968464B2 (en) * 2002-01-10 2005-11-22 National Instruments Corporation System and method for reconfiguring a system coupled to a host computer through a split bridge
US7447822B2 (en) * 2005-12-12 2008-11-04 Inventec Corporation Hot-plug control system and method
JP4810349B2 (ja) * 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
US7734859B2 (en) * 2007-04-20 2010-06-08 Nuon, Inc Virtualization of a host computer's native I/O system architecture via the internet and LANs
US8990468B2 (en) * 2008-05-28 2015-03-24 Nec Corporation I/O connection system, method and program
US8443126B2 (en) * 2010-09-22 2013-05-14 Wilocity, Ltd. Hot plug process in a distributed interconnect bus
CN105205021B (zh) * 2015-09-11 2018-02-13 华为技术有限公司 断开PCIe设备与主机之间的链接的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740997A (zh) * 2005-09-21 2006-03-01 杭州华为三康技术有限公司 网络设备及其外围器件互连资源的分配方法
US8838865B2 (en) * 2008-10-10 2014-09-16 Nuon, Inc. Hot plug ad hoc computer resource allocation
CN102117259A (zh) * 2009-12-31 2011-07-06 成都市华为赛门铁克科技有限公司 地址空间资源分配处理方法及装置
CN102662903A (zh) * 2012-03-31 2012-09-12 浪潮电子信息产业股份有限公司 一种通过cpld或fpga实现pcie设备热插拔的方法
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
WO2014206356A2 (en) * 2013-06-28 2014-12-31 Huawei Technologies Co., Ltd. System and method for extended peripheral component interconnect express fabrics
CN105701051A (zh) * 2016-01-15 2016-06-22 华为技术有限公司 一种热插拔方法、主机控制器、主机及PCIe桥设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3309688A4 *

Also Published As

Publication number Publication date
EP3309688A4 (en) 2018-09-05
CN105701051A (zh) 2016-06-22
US20180121383A1 (en) 2018-05-03
US10423560B2 (en) 2019-09-24
CN105701051B (zh) 2019-10-15
EP3309688A1 (en) 2018-04-18

Similar Documents

Publication Publication Date Title
WO2017121141A1 (zh) 一种热插拔方法、主机控制器、主机及PCIe桥设备
US10866624B2 (en) Power management method of a system made of devices powered over data cable
CN107547589B (zh) 一种数据采集处理方法以及装置
US9860189B2 (en) Systems and methods to enable network communications for management controllers
US20210318738A1 (en) Methods and apparatus for enhanced power delivery between devices
JP6550192B2 (ja) ネットワーク機器
WO2016062037A1 (zh) 通过接口卡传输信息、控制器故障处理方法、装置及系统
WO2015096548A1 (zh) 基于优先级的流控pfc方法及发送设备、接收设备
CN105897623B (zh) 一种数据的传输方法和装置
US10459791B2 (en) Storage device having error communication logical ports
US9967192B2 (en) Offloading of management controller traffic
CN103001822B (zh) 网络异常的处理方法及装置
CN109831350A (zh) 设备信息发送的方法、计算机设备和分布式计算机设备系统
WO2024066449A1 (zh) 通信故障处理方法、系统及设备
WO2015095995A1 (zh) 系统升级的方法和设备
TWM574793U (zh) 可偵測外部裝置狀態的網路裝置
JPH1168884A (ja) 伝送媒体接続装置および制御装置ならびに被制御装置および記憶媒体
EP4030691A1 (en) Data processing method, device, and system
TWI351600B (en) Control system and management method utilizing the
JP6255615B2 (ja) 端末情報報告方法および関連するデバイス
TWI727155B (zh) 電子標示裝置與相關的纜線和電源管理方法
CN105634786B (zh) 链路保活方法和装置
TWI230526B (en) Redundant link management switch for use in a stack of switches and method thereof
WO2016116022A1 (zh) 一种以太网供电过流检测的方法和装置
TW201724810A (zh) 雲端監控的警示設備

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16884695

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2016884695

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE