WO2016082522A1 - Management path determination method and device - Google Patents

Management path determination method and device Download PDF

Info

Publication number
WO2016082522A1
WO2016082522A1 PCT/CN2015/081079 CN2015081079W WO2016082522A1 WO 2016082522 A1 WO2016082522 A1 WO 2016082522A1 CN 2015081079 W CN2015081079 W CN 2015081079W WO 2016082522 A1 WO2016082522 A1 WO 2016082522A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
target device
management controller
peripheral
determining
Prior art date
Application number
PCT/CN2015/081079
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Publication of WO2016082522A1 publication Critical patent/WO2016082522A1/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/10Program control for peripheral devices
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Definitions

  • the present invention relates to the field of computers, and in particular, to a management path determining method and apparatus.
  • the baseboard management controller reads device information from the peripheral device through the internal integrated circuit I2C address of the peripheral device, and manages the peripheral device according to the read device information.
  • the GPU management component includes a baseboard management controller (English name: Board Management Controller, abbreviated as BMC).
  • BMC Board Management Controller
  • the GPU 120 and the heat dissipation unit 130 are electrically connected to the GPU 120 and the heat dissipation unit 130, respectively.
  • the substrate management controller 110 reads the temperature information from the GPU 120 according to the I2C address of the GPU 120, and controls the heat dissipation unit 130 to perform heat dissipation according to the read temperature information.
  • the existing baseboard management controller cannot recognize the I2C address of multiple models of peripheral devices through the same I2C resource, and when the models of multiple peripheral devices are the same, the I2C addresses of the respective peripheral devices also collide, so when When multiple peripheral devices of the same type are inserted in the motherboard, one I2C resource must be set for each peripheral device, resulting in waste of management resources.
  • the embodiment of the present invention provides a management path determination. Method and device. The technical solution is as follows:
  • a method for determining a management path comprising:
  • the baseboard management controller sends a control command including connection information to a switch control unit electrically connected to the baseboard management controller;
  • the switch control unit is connected to a control end of the multi-way switch, the multiple The strobe switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the second data end is Each of the N ports is electrically connected to the N peripheral devices, and the connectivity information is used to indicate that the switch control unit controls the designated port of the first data end and the N ports to communicate with each other;
  • the baseboard management controller determines an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, the target device is a peripheral device corresponding to the designated port; and the I2C address of the target device is used to make The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
  • the baseboard management controller determines a management path of the peripheral device according to an I2C address of the target device and the connectivity information.
  • the baseboard management controller determines an I2C address of the target device from the pre-stored internal integrated circuit I2C address list, including:
  • the baseboard management controller sends a device information read request to the target device according to an I2C address in the I2C address list, starting from a first I2C address in the I2C address list;
  • the baseboard management controller determines whether the target device returns a response to the device information read request within a predetermined time
  • the baseboard management controller determines an I2C address corresponding to the device information read request as the target device. I2C address.
  • the method further includes:
  • the baseboard management controller resets the target device, increments the number of resets of the target device, and sends the device to the target device according to the next I2C address in the I2C address list. Information read request.
  • the baseboard management controller determines an I2C address corresponding to the device information read request as the target device I2C address, including:
  • the initial value of the number of resets of the target device is 0, and the determining, according to the current reset times of the target device
  • the I2C address of the target device includes:
  • the I2C address of the target device is the n+1th I2C address in the I2C address list, where n is the current number of resets of the target device.
  • the baseboard management controller determines whether the target device returns to a predetermined time
  • the response of the device information read request includes:
  • time_out_count 1, determining that the target device does not return a response to the device information read request within a predetermined time
  • time_out_count If the value of the timeout count variable time_out_count is 0, it is determined that the target device returns a response to the device information read request within a predetermined time.
  • the peripheral device management component further includes the base management controller and the input unit Before the device management controller sends the device information read request to the target device according to the I2C address in the I2C address list, the method further includes:
  • the substrate management controller receives respective peripheral device identifiers input by the user through the input unit;
  • the baseboard management controller generates the I2C address list according to the I2C address corresponding to each of the peripheral device identifiers.
  • the method further includes:
  • the baseboard management controller sequentially reads the devices of the N peripheral devices in a polling manner according to the management paths of the N peripheral devices corresponding to the N ports of the second data terminals of the multiple routing switches. information;
  • the baseboard management controller manages the N peripheral devices according to respective device information of the N peripheral devices.
  • the switch control unit and the N peripheral devices respectively correspond to The peripheral interface is electrically connected, and before the substrate management controller sends the control instruction including the connection information to the switch control unit, the method further includes:
  • the device management controller receives the device connection information sent by the switch control unit; the device connection information is information obtained by the switch control unit through each of the peripheral interfaces, and is used to indicate the second data end. a port to which a peripheral device is connected;
  • the substrate management controller sends a control instruction including the connection information to the switch control unit, including:
  • a management path determining apparatus for use in a baseboard management controller, the apparatus comprising:
  • An instruction sending module configured to send a control instruction including connection information to a switch control unit electrically connected to the baseboard management controller; the switch control unit is connected to a control end of the multi-way switch, the multi-path
  • the strobe switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the second data end is Each of the N ports is electrically connected to the N peripheral devices, and the connectivity information is used to indicate that the switch control unit controls the designated port of the first data end and the N ports to communicate with each other;
  • An address determining module configured to determine an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port, and the I2C address of the target device is used for
  • the baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
  • a path determining module configured to determine, according to the I2C address of the target device and the connectivity information The management path of the target device is determined.
  • the address determining module includes:
  • a request sending submodule configured to send, according to the first I2C address in the I2C address list, a device information read request to the target device according to the I2C address in the I2C address list;
  • a determining submodule configured to determine whether the target device returns a response to the device information read request within a predetermined time
  • a first determining submodule configured to: if the judgment result of the determining submodule is that the target device returns a response to the device information read request within a predetermined time, the I2C corresponding to the device information read request is The address is determined as the I2C address of the target device.
  • the address determination module further includes:
  • a reset submodule configured to reset the target device if the judgment result of the determining submodule is that the target device does not return a response to the device information read request within a predetermined time
  • a counting submodule configured to increase a reset number of the target device by one after the reset submodule resets the target device
  • the request sending submodule is further configured to: after the reset submodule resets the target device, send a device information read request to the target device according to a next I2C address in the I2C address list.
  • the first determining submodule includes:
  • a reset number acquisition unit configured to acquire a current reset number of the target device
  • the first determining unit is configured to determine an I2C address of the target device according to the current reset number of the target device.
  • the first determining unit is configured to determine that an I2C address of the target device is in the I2C address list. The n+1th I2C address;
  • n is the current number of resets of the target device, and the initial value of the number of resets of the target device is 0.
  • the determining submodule includes:
  • a reading unit for reading a timeout count variable time_out_count
  • a second determining unit configured to: if the value of the timeout count variable time_out_count is 1, determining that the target device does not return a response to the device information read request within a predetermined time;
  • a third determining unit configured to: if the value of the timeout count variable time_out_count is 0, determine that the target device returns a response to the device information read request within a predetermined time.
  • the address determining module further includes:
  • an identifier receiving submodule configured to receive, before the request sending submodule sends a device information reading request to the target device according to the I2C address in the I2C address list, each peripheral device identifier input by the user through the input unit;
  • a second determining submodule configured to determine an I2C address corresponding to each of the peripheral device identifiers according to the respective peripheral device identifiers
  • a list generation submodule configured to generate the I2C address list according to an I2C address corresponding to each of the peripheral device identifiers
  • the substrate management controller is electrically connected to the input unit.
  • the device further includes:
  • a reading module configured to sequentially read the N peripheral devices in a polling manner according to a management path of the N peripheral devices corresponding to N ports of the second data terminals of the multiple routing switches Device information;
  • a management module configured to manage the N peripheral devices according to device information of each of the N peripheral devices.
  • the device further includes:
  • connection information receiving module configured to receive device connection information sent by the switch control unit before the command sending module sends a control instruction including the connection information to the switch control unit, where the device connection information is the switch
  • the control unit acquires information through a peripheral interface corresponding to each of the N peripheral devices, the device connection information is used to indicate the second a port to which a peripheral device is connected in the data terminal;
  • the instruction sending module is configured to send the control instruction according to the device connection information
  • the switch control unit is electrically connected to a peripheral interface corresponding to each of the N peripheral devices.
  • a control command including the connection information is sent to the switch control unit to control the first data end and the second of the multi-way strobe switch A designated port in the data terminal is connected, and an I2C address of the target device corresponding to the specified port is determined from the I2C address list, and a management path of the target device is determined according to the I2C address of the target device and the connection information, and the switch control unit is Controlling the multi-way strobe switch to strobe the baseboard management controller and a plurality of peripheral devices, that is, the polling of the plurality of peripheral devices can be realized, and the management of the plurality of peripheral devices by using one I2C resource is solved, and the prior art is solved.
  • the problem of one I2C resource must be set for each peripheral device to save management resources.
  • FIG. 1 is a schematic diagram of connection of a GPU management component provided by the background art of the present invention.
  • FIG. 2 is a flowchart of a method for determining a management path according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a peripheral device management component according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a method for determining a management path according to another embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a peripheral device management component according to another embodiment of the present invention.
  • FIG. 6 is a structural diagram of a device of a management path determining apparatus according to an embodiment of the present invention.
  • FIG. 7 is a structural diagram of a device of a management path determining apparatus according to another embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for determining a management path according to an embodiment of the present invention.
  • the management path determining method may include:
  • Step 202 The baseboard management controller sends a control command including the connection information to the switch control unit electrically connected to the baseboard management controller.
  • the switch control unit is connected to the control end of the multi-way switch, and the multi-way gating
  • the switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the N ports in the second data end respectively
  • the N peripheral devices are electrically connected, and the connectivity information is used to instruct the switch control unit to control the first data terminal to communicate with one of the N ports.
  • the management path determining method provided by the embodiment of the present invention can be used in a peripheral device management component of a motherboard to manage peripheral devices externally inserted by the motherboard.
  • FIG. 3 is a schematic structural diagram of a peripheral device management component according to an embodiment of the present invention.
  • the peripheral device management component may include: a baseboard management controller 310, a multi-way gating switch 320, a switch control unit 330, and a Peripheral device 340, N ⁇ 2;
  • the multiplexer switch 320 includes a control terminal 322, a first data terminal 324, and a second data terminal 326, and the second data terminal 326 includes at least N ports;
  • the substrate management controller 310 is electrically connected to the first data end 324 of the strobe switch 320 and the switch control unit 330, respectively;
  • the N ports of the second data terminal 326 of the strobe switch 320 are electrically connected to the N peripheral devices 340, respectively, and the control terminal 322 of the strobe switch 320 and the switch control unit 320 are electrically connected. Connected.
  • Step 204 The baseboard management controller determines an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port; and the I2C address of the target device is used to manage the substrate.
  • the controller successfully reads the device information from the target device when the first data end is in communication with the designated port.
  • Step 206 The baseboard management controller determines a management path of the target device according to the I2C address of the target device and the connectivity information.
  • the substrate management controller controls the multi-way strobe switch to communicate with the substrate management controller and one of the N peripheral devices in the peripheral device management component through the switch control unit, and from the preset I2C address.
  • the list determines the I2C address of the peripheral device.
  • the peripheral device can be determined according to the I2C address and the current connectivity information of the multi-way strobe switch.
  • the backup management path The baseboard management controller sequentially strobes the connection with each peripheral device according to the multi-way strobe switch, and reads the device information of each peripheral device according to the I2C address of each peripheral device, and only needs to set one I2C resource in the process. That is, the device information of multiple peripheral devices can be read, and unified management of multiple peripheral devices is realized, and it is not necessary to separately set one I2C resource for each peripheral device, thereby achieving the purpose of saving management resources.
  • the management path determining method sends a control command including the connection information to the switch control unit by setting a multi-way strobe switch between the baseboard management controller and the N peripheral devices.
  • the I2C address of the target device corresponding to the designated port is determined from the I2C address list by controlling the designated port of the first data end and the second data end of the multi-way switch, according to the I2C address of the target device.
  • the connectivity information determines a management path of the target device, and the baseboard management controller sequentially gates the connection with each peripheral device according to the multiple routing switch, and reads the devices of each peripheral device according to the I2C address of each peripheral device.
  • Information in this process, only need to set up one I2C resource to read the device information of multiple peripheral devices, realize unified management of multiple peripheral devices, and do not need to separately set one I2C resource for each peripheral device, thereby saving The purpose of managing resources.
  • FIG. 4 is a flowchart of a method for determining a management path according to another embodiment of the present invention.
  • This embodiment can be used to determine the management path of each peripheral device in the peripheral device management component shown in FIG. 3 described above.
  • the management path determining method may include:
  • Step 402 The substrate management controller receives the identifiers of the peripheral devices input by the user through the input unit, determines the I2C addresses corresponding to the identifiers of the respective peripheral devices according to the identifiers of the respective peripheral devices, and generates the I2C address according to the I2C address corresponding to the identifier of each peripheral device. List.
  • the peripheral device management component includes, in addition to the baseboard management controller 310, the multiplex gate switch 320, the switch control unit 330, and the N peripheral devices 340, Also included is an input unit 350 that is electrically coupled to the substrate management controller.
  • the input unit 350 can be a webpage (Web) operation interface, where the user can input identification information of the peripheral device to be managed, such as the type, model or I2C address of the peripheral device, so that the substrate management controller can The identification information of these peripheral devices determines the I2C address of the peripheral device to be managed and is used for subsequent peripheral device management.
  • Web webpage
  • the administrator of the server inputs the respective inserted on the motherboard to the baseboard management controller through the web operation interface.
  • the model of the GPU the baseboard management controller queries the I2C address of each model GPU according to the input model of each GPU, and generates an I2C address list according to the I2C address of the GPU of each model that is queried.
  • Step 404 The baseboard management controller sends a control instruction including the connection information to the switch control unit, where the connection information is used to instruct the switch control unit to control the first data end to communicate with one of the N ports.
  • the connectivity information may be an identifier of a designated one of the second data ends of the multi-way switch.
  • the device connection information sent by the switch control unit may be received; the device connection information is information obtained by the switch control unit through each of the peripheral interfaces, A port for indicating that a peripheral device is connected to the second data end.
  • the baseboard management controller transmits a control command according to the device connection information.
  • peripheral device management component further includes a peripheral interface 342 corresponding to each peripheral device, and each peripheral device 340 is connected to the motherboard through a corresponding peripheral interface 342.
  • the switch control unit 330 is electrically connected to each of the peripheral interfaces 342.
  • the switch control unit can be a complex programmable logic device (CPLD).
  • CPLD complex programmable logic device
  • the switch control unit can be connected to the standard interface of each peripheral device on the main board in addition to being electrically connected to the baseboard management controller, when there is a standard interface.
  • the standard interface sends an indication signal to the switch control unit, and the switch control unit determines the device connection information according to the received indication signal, and the device connection information may be used to indicate the second data end of the multi-way switch.
  • the device connection information may include an identifier of a port corresponding to a standard interface to which the peripheral device is connected, in the second data end of the multi-way switch.
  • the switch control unit sends the device connection information to the baseboard management controller, and the baseboard management controller sends a control command including the connection information according to the device connection information to control the multi-way switch to connect the baseboard management controller and the plurality of peripherals.
  • the baseboard management controller sends a control command including the connection information according to the device connection information to control the multi-way switch to connect the baseboard management controller and the plurality of peripherals.
  • the substrate management controller can determine the I2C address of the peripheral device. For the specific determination process, refer to step 406 to the following steps. 412.
  • Step 406 the baseboard management controller starts from the first I2C address in the I2C address list. Sending a device information read request to the target device according to an I2C address in the I2C address list, where the target device is a peripheral device corresponding to the designated port.
  • Step 408 The baseboard management controller determines whether the target device returns a response to the device information read request within a predetermined time. If yes, the process proceeds to step 412; otherwise, the process proceeds to step 410.
  • the baseboard management controller may read the timeout count variable time_out_count; if the value of the timeout count variable time_out_count is 1, it is determined that the target device does not return a response to the device information read request within a predetermined time; When the value of the count variable time_out_count is 0, it is determined that the target device returns a response to the device information read request within a predetermined time.
  • the baseboard management controller starts timing after transmitting the device information read request according to an I2C address, and if the response returned by the peripheral device is received within a predetermined time, the time_out_count value in the internal code of the baseboard management controller is set to 0. If the response returned by the peripheral device is not received within the predetermined time, the time_out_count value will be set to 1.
  • the substrate management controller sends a device information read request, it is only necessary to read the value of the time_out_count variable in the code to determine whether the target device receiving the request returns within a predetermined time. The device information reads the response to the request.
  • Step 410 The baseboard management controller resets the target device, adds 1 to the target device, and sends a device information read request to the target device according to the next I2C address in the I2C address list, and returns to step 408. .
  • the target device does not return a response to the device information read request within a predetermined time, the I2C address of the target device is not the I2C address corresponding to the device information read request, and the baseboard management controller issues a reset.
  • the instruction resets the I2C resource to send the I2C signal the next time.
  • the reset timing of the reset command is 9 clock cycles.
  • the baseboard management controller also increments the number of resets of the target device by one, and resends the device information read request to the target device according to the next I2C address in the I2C address list.
  • the baseboard management controller determines that the target device returns a response to the device information read request within a predetermined time, it is no longer based on the next I2C in the I2C address list.
  • the address sends a device information read request to the target device to avoid performing unnecessary steps.
  • Step 412 The baseboard management controller determines the I2C address corresponding to the device information read request as the I2C address of the target device.
  • the baseboard management controller may acquire the current reset number of the target device, and determine an I2C address of the peripheral device according to the current reset number of the target device. Specifically, when the initial value of the number of resets of the target device is 0, it is determined that the I2C address of the target device is the n+1th I2C address in the I2C address list, and n is the current reset number of the target device.
  • the substrate management controller does not directly store the correspondence between the I2C address of the current sending device information read request and the peripheral device, and the memory resource and the processing resource are limited. It is indirectly indicated by recording the location of the current I2C address of the device information read request in the I2C address list.
  • the baseboard management controller sequentially sends the device information read request from the first I2C address in the I2C address list, according to the description in step 410, the substrate management controller will be currently connected when each read fails.
  • the number of resets of the peripheral device is increased by 1.
  • the bit sequence of the I2C address in the I2C address list of the request is the current reset number of the peripheral device plus one.
  • Step 414 The baseboard management controller determines a management path of the target device according to the I2C address of the target device and the connectivity information.
  • the substrate management controller controls the multi-way strobe switch to communicate with the substrate management controller and one of the N peripheral devices in the peripheral device management component through the switch control unit, and according to the preset I2C address.
  • the I2C address in the list sequentially reads the device information to the peripheral device.
  • the peripheral device successfully returns the device information within a predetermined time, indicating that the I2C address is the I2C address of the peripheral device.
  • the management path of the peripheral device can be determined. Specifically, when the multi-way switch is in the state indicated by the connectivity information, the path between the baseboard management controller and the I2C address of the designated peripheral device is the management path of the peripheral device.
  • the baseboard management controller controls the multi-way strobe switch to sequentially connect the peripheral devices through the switch control unit, that is, the management path of each peripheral device can be determined one by one according to the above method steps.
  • Step 416 The baseboard management controller sequentially reads the N peripheral devices in a polling manner according to the management paths of the N peripheral devices corresponding to the N ports in the second data terminal of the multiple routing switch.
  • Device information managing the N peripheral devices according to respective device information of the N peripheral devices.
  • the baseboard management controller sequentially strobes the connection with each peripheral device according to the multi-way strobe switch, and reads the device information of each peripheral device according to the I2C address of each peripheral device, and only needs to set one I2C resource in the process. That is, you can read device information of multiple peripheral devices. To achieve unified management of multiple peripheral devices, it is not necessary to separately set up one I2C resource for each peripheral device, thereby achieving the purpose of saving management resources.
  • the peripheral device management component further includes a heat dissipation unit 360 electrically connected to the baseboard management controller.
  • the device information may be temperature information of the corresponding peripheral device; the baseboard management controller controls the heat dissipation unit to dissipate heat for the N peripheral devices according to respective temperature information of the N peripheral devices.
  • a typical application is to manage heat dissipation of multiple GPUs.
  • the heat dissipation unit is a cooling fan
  • the substrate management controller can adjust the cooling fan according to temperature information of each GPU. Speed.
  • the peripheral device is not limited to the GPU, but may be a device connected to the motherboard through a standard interface, such as a network adapter (also called a network card) or a sound card, and
  • the management of peripheral devices is not limited to heat dissipation.
  • the embodiment of the present invention does not specifically limit the types of peripheral devices and the management methods of peripheral devices.
  • the management path determining method sends a control command including the connection information to the switch control unit by setting a multi-way strobe switch between the baseboard management controller and the N peripheral devices.
  • Controlling by the designated one of the first data end and the second data end of the multi-way strobe switch, sending a device information read request to the target device corresponding to the designated port according to the I2C address in the I2C address list, If the target device returns a response within a predetermined time, the I2C address corresponding to the request is determined as the I2C address of the target device, and the management path of the target device is determined according to the I2C address of the target device and the connectivity information, and the baseboard management controller According to the multi-way strobe switch, the connection with each peripheral device is sequentially strobed, and the device information of each peripheral device is read according to the I2C address of each peripheral device. In this process, only one I2C resource needs to be set to be read. Device information of multiple peripheral devices to
  • FIG. 6 shows a device structure diagram of a management path determining apparatus according to an embodiment of the present invention.
  • the device is used in the substrate management controller of the peripheral device management component shown in FIG. 3 or FIG. 5 described above.
  • the management path determining apparatus includes:
  • An instruction sending module 601 configured to switch to a switch electrically connected to the baseboard management controller
  • the unit transmits a control instruction including the connection information;
  • the switch control unit is connected to the control end of the multi-way switch, the multi-way switch further includes a first data end and a second data end, the second data
  • the terminal includes N ports, the baseboard management controller is electrically connected to the first data end, and the N ports of the second data end are respectively electrically connected to the N peripheral devices, and the connectivity information is used for Instructing the switch control unit to control that the first data end and one of the N ports are connected to each other;
  • the address determining module 602 is configured to determine an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port, and the I2C address of the target device is used to enable The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
  • the path determining module 603 is configured to determine a management path of the target device according to the I2C address of the target device and the connectivity information.
  • the management path determining apparatus controls a first data end and a second data end in the multi-way switch by transmitting a control instruction including the connection information to the switch control unit.
  • a specified port is connected, and an I2C address of the target device corresponding to the specified port is determined from the I2C address list, and a management path of the target device is determined according to the I2C address of the target device and the connectivity information, and the baseboard management controller is configured according to the multipath
  • the strobe switch sequentially strobes the connection with each peripheral device, and reads the device information of each peripheral device according to the I2C address of each peripheral device. In this process, only one I2C resource needs to be set to read multiple peripheral devices.
  • the device information realizes unified management of multiple peripheral devices, and does not need to separately set one I2C resource for each peripheral device, thereby achieving the purpose of saving management resources.
  • FIG. 7 is a structural diagram of a device of a management path determining apparatus according to another embodiment of the present invention.
  • the device is used in the substrate management controller of the peripheral device management component shown in FIG. 3 or FIG. 5 described above.
  • the management path determining apparatus includes:
  • the command sending module 601 is configured to send a control command including the connection information to the switch control unit electrically connected to the baseboard management controller;
  • the switch control unit is connected to the control end of the multi-way switch, the plurality of The path strobe switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the second data end
  • the N ports are electrically connected to the N peripheral devices, and the connectivity information is used to indicate that the switch control unit controls the first data end and the N ports. Connected to a specified port;
  • the address determining module 602 is configured to determine an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port, and the I2C address of the target device is used to enable The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
  • the path determining module 603 is configured to determine a management path of the target device according to the I2C address of the target device and the connectivity information.
  • the address determining module 602 includes:
  • the request sending submodule 602a is configured to send, according to the first I2C address in the I2C address list, a device information read request to the target device according to the I2C address in the I2C address list;
  • the determining sub-module 602b is configured to determine whether the target device returns a response to the device information read request within a predetermined time
  • the first determining sub-module 602c is configured to: if the determining result of the determining sub-module 602b is that the target device returns a response to the device information reading request within a predetermined time, the device information reading request is corresponding to The I2C address is determined as the I2C address of the target device.
  • the address determining module 602 further includes:
  • the reset sub-module 602d is configured to reset the target device if the determination result of the determining sub-module 602b is that the target device does not return a response to the device information read request within a predetermined time;
  • a counting sub-module 602e configured to: after the reset sub-module 602d resets the target device, increase the number of resets of the target device by one;
  • the request sending submodule 602a is further configured to: after the reset submodule 602d resets the target device, send a device information read request to the target device according to a next I2C address in the I2C address list. .
  • the first determining submodule 602c includes:
  • the reset number acquisition unit 602c1 is configured to acquire the current reset number of the target device
  • the first determining unit 602c2 is configured to determine an I2C address of the target device according to the current reset number of the target device.
  • the first determining unit 602c2 is configured to determine that an I2C address of the target device is an n+1th I2C address in the I2C address list;
  • n is the current number of resets of the target device, and the initial value of the number of resets of the target device is 0.
  • the determining submodule 602b includes:
  • the reading unit 602b1 is configured to read the timeout count variable time_out_count
  • the second determining unit 602b2 is configured to: if the value of the timeout count variable time_out_count is 1, determine that the target device does not return a response to the device information read request within a predetermined time;
  • the third determining unit 602b3 is configured to: if the value of the timeout count variable time_out_count is 0, determine that the target device returns a response to the device information read request within a predetermined time.
  • the address determining module 602 further includes:
  • the identifier receiving sub-module 602f is configured to receive, before the request sending sub-module 602a sends a device information reading request to the peripheral device corresponding to the port, according to the I2C address in the I2C address list, and receive each input by the user through the input unit.
  • Peripheral device identification ;
  • a second address determining sub-module 602g configured to determine an I2C address corresponding to each of the peripheral device identifiers according to the respective peripheral device identifiers;
  • the list generation sub-module 602h is configured to generate the I2C address list according to the I2C address corresponding to each of the peripheral device identifiers;
  • the substrate management controller is electrically connected to the input unit.
  • the device further includes:
  • the reading module 604 is configured to sequentially read the N peripheral devices in a polling manner according to management paths of N peripheral devices corresponding to N ports of the second data terminals of the multiple routing switches. Separate device information;
  • the management module 605 is configured to manage the N peripheral devices according to device information of the N peripheral devices.
  • the management module 605 is configured to control, according to temperature information of each of the N peripheral devices, the heat dissipation unit to dissipate heat for the N peripheral devices;
  • the device information is temperature information of the corresponding peripheral device; the peripheral device management component further includes the heat dissipation unit electrically connected to the substrate management controller.
  • the device further includes: a connection information receiving module 606;
  • the connection information receiving module 606 is configured to the switch sending module 601 to the switch Receiving, by the control unit, the device connection information sent by the switch control unit, before the control unit sends the control instruction including the connection information, where the device connection information is obtained by the switch control unit by using a peripheral interface corresponding to each of the N peripheral devices Information, the device connection information is used to indicate a port in the second data end to which a peripheral device is connected;
  • the instruction sending module 601 is configured to send the control instruction according to the device connection information
  • the switch control unit is electrically connected to a peripheral interface corresponding to each of the N peripheral devices.
  • the substrate management controller provided by the embodiment of the present invention controls a first data end and a second data end in the multi-way switch by transmitting a control instruction including the connection information to the switch control unit.
  • a specified port is connected, and the device information read request is sent to the target device corresponding to the designated port according to the I2C address in the I2C address list. If the target device returns a response within a predetermined time, the I2C address corresponding to the request is determined.
  • the baseboard management controller Determining, by the I2C address of the target device, the management path of the target device according to the I2C address of the target device and the connectivity information, and the baseboard management controller sequentially strobing the connection with each peripheral device according to the multiple strobe switch, and According to the I2C address of each peripheral device, the device information of each peripheral device is read.
  • the I2C resource needs to be set, that is, the device information of multiple peripheral devices can be read, and unified management of multiple peripheral devices is realized.
  • a separate I2C resource is set for each peripheral device, thereby saving management resources.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)

Abstract

The present invention relates to the field of computers. A management path determination method and device, the method comprising: controlling to communicate a first data end with one specified port of N ports of a second data end in a multi-channel gating switch, determining from a preset I2C address list an I2C address of a target device corresponding to the specified port, and determining a management path of the target device according to the I2C address of the target device and communication information. The method provides a multi-channel gating switch between a board management controller (BMC) and N peripheral devices, controls the multi-channel gating switch via a switch control unit to poll a plurality of peripheral devices, thus addressing the problem in the prior art that an I2C resource must be provided for each of the peripheral devices respectively, and saving a management resource.

Description

管理路径确定方法及装置Management path determination method and device
本申请要求于2014年11月25日提交中国专利局、申请号为201410692726.6、发明名称为“管理路径确定方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims the priority of the Chinese Patent Application, the entire disclosure of which is hereby incorporated by reference.
技术领域Technical field
本发明涉及计算机领域,特别涉及一种管理路径确定方法及装置。The present invention relates to the field of computers, and in particular, to a management path determining method and apparatus.
背景技术Background technique
随着计算机技术领域的不断发展,用户对于计算机在某一个或者多个方面的处理性能的要求也越来越高,在很多情况下,需要在计算机设备的主板中插入专用的外围设备,比如独立的图形处理器(英文全称:Graphic Processing Unit,缩写:GPU)、网络适配器以及声卡等,而这些外围设备都需要对应的管理组件对其进行管理。With the continuous development of computer technology, users have higher and higher requirements for the processing performance of a computer in one or more aspects. In many cases, it is necessary to insert a dedicated peripheral device into the motherboard of the computer device, such as independent. The graphics processor (English full name: Graphic Processing Unit, abbreviation: GPU), network adapters and sound cards, etc., and these peripheral devices need to be managed by the corresponding management components.
在现有的外围设备管理组件中,基板管理控制器通过外围设备的内部整合电路I2C地址向外围设备读取设备信息,并根据读取到的设备信息对外围设备进行管理。比如,以对GPU卡的散热进行管理为例,请参考图1所示的GPU管理组件的连接示意图,其中,该GPU管理组件包括基板管理控制器(英文全称:Board Management Controller,缩写:BMC)110、GPU120以及散热单元130,基板管理控制器110分别与GPU120和散热单元130电性相连。在对GPU卡的散热进行管理时,基板管理控制器110根据GPU120的I2C地址向GPU120读取温度信息,并根据读取的温度信息控制散热单元130进行散热。In the existing peripheral device management component, the baseboard management controller reads device information from the peripheral device through the internal integrated circuit I2C address of the peripheral device, and manages the peripheral device according to the read device information. For example, to manage the heat dissipation of the GPU card, refer to the connection diagram of the GPU management component shown in FIG. 1. The GPU management component includes a baseboard management controller (English name: Board Management Controller, abbreviated as BMC). The GPU 120 and the heat dissipation unit 130 are electrically connected to the GPU 120 and the heat dissipation unit 130, respectively. When the heat dissipation of the GPU card is managed, the substrate management controller 110 reads the temperature information from the GPU 120 according to the I2C address of the GPU 120, and controls the heat dissipation unit 130 to perform heat dissipation according to the read temperature information.
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:In the process of implementing the present invention, the inventors have found that the prior art has at least the following problems:
现有的基板管理控制器通过同一路I2C资源无法识别多个型号的外围设备的I2C地址,并且,当多个外围设备的型号相同时,各个外围设备的I2C地址也会产生冲突,因此,当主板中插入多个同一类型的外围设备时,必须为每一个外围设备分别设置一路I2C资源,导致管理资源的浪费。 The existing baseboard management controller cannot recognize the I2C address of multiple models of peripheral devices through the same I2C resource, and when the models of multiple peripheral devices are the same, the I2C addresses of the respective peripheral devices also collide, so when When multiple peripheral devices of the same type are inserted in the motherboard, one I2C resource must be set for each peripheral device, resulting in waste of management resources.
发明内容Summary of the invention
为了解决现有技术中当主板中插入多个同一类型的外围设备时,必须为每一个外围设备分别设置一路I2C资源而导致的管理资源浪费的问题,本发明实施例提供了一种管理路径确定方法及装置。所述技术方案如下:In order to solve the problem of waste of management resources caused by setting one I2C resource for each peripheral device when a plurality of peripheral devices of the same type are inserted in the motherboard in the prior art, the embodiment of the present invention provides a management path determination. Method and device. The technical solution is as follows:
第一方面,提供了一种管理路径确定方法,所述方法包括:In a first aspect, a method for determining a management path is provided, the method comprising:
所述基板管理控制器向与所述基板管理控制器电性相连的开关控制单元发送包含有连通信息的控制指令;所述开关控制单元与多路选通开关的控制端相连,所述多路选通开关还包括第一数据端和第二数据端,所述第二数据端包含N个端口,所述基板管理控制器与所述第一数据端电性相连,所述第二数据端中的N个端口分别与N个外围设备电性相连,所述连通信息用于指示所述开关控制单元控制所述第一数据端和所述N个端口中的一个指定的端口连通;The baseboard management controller sends a control command including connection information to a switch control unit electrically connected to the baseboard management controller; the switch control unit is connected to a control end of the multi-way switch, the multiple The strobe switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the second data end is Each of the N ports is electrically connected to the N peripheral devices, and the connectivity information is used to indicate that the switch control unit controls the designated port of the first data end and the N ports to communicate with each other;
所述基板管理控制器从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,所述目标设备为所述指定的端口对应的外围设备;所述目标设备的I2C地址用于使所述基板管理控制器在所述第一数据端和所述指定的端口连通时,从所述目标设备中成功读取设备信息;The baseboard management controller determines an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, the target device is a peripheral device corresponding to the designated port; and the I2C address of the target device is used to make The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
所述基板管理控制器根据所述目标设备的I2C地址和所述连通信息确定所述外围设备的管理路径。The baseboard management controller determines a management path of the peripheral device according to an I2C address of the target device and the connectivity information.
在第一方面的第一种可能实现方式中,所述基板管理控制器从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,包括:In a first possible implementation manner of the first aspect, the baseboard management controller determines an I2C address of the target device from the pre-stored internal integrated circuit I2C address list, including:
所述基板管理控制器从所述I2C地址列表中的第一个I2C地址开始,根据所述I2C地址列表中的I2C地址向所述目标设备发送设备信息读取请求;The baseboard management controller sends a device information read request to the target device according to an I2C address in the I2C address list, starting from a first I2C address in the I2C address list;
所述基板管理控制器判断所述目标设备是否在预定时间内返回对所述设备信息读取请求的响应;The baseboard management controller determines whether the target device returns a response to the device information read request within a predetermined time;
若判断结果为所述目标设备在预定时间内返回对所述设备信息读取请求的响应,则所述基板管理控制器将所述设备信息读取请求对应的I2C地址确定为所述目标设备的I2C地址。If the result of the determination is that the target device returns a response to the device information read request within a predetermined time, the baseboard management controller determines an I2C address corresponding to the device information read request as the target device. I2C address.
结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述方法还包括:In conjunction with the first possible implementation of the first aspect, in a second possible implementation manner of the first aspect, the method further includes:
若判断结果为所述目标设备在预定时间内未返回对所述设备信息读取 请求的响应,则所述基板管理控制器对所述目标设备进行复位,将所述目标设备的复位次数加1,并根据所述I2C地址列表中的下一个I2C地址向所述目标设备发送设备信息读取请求。If the result of the determination is that the target device does not return to read the device information within a predetermined time Responding to the request, the baseboard management controller resets the target device, increments the number of resets of the target device, and sends the device to the target device according to the next I2C address in the I2C address list. Information read request.
结合第一方面的第二种可能实现方式,在第一方面的第三种可能实现方式中,所述基板管理控制器将所述设备信息读取请求对应的I2C地址确定为所述目标设备的I2C地址,包括:In conjunction with the second possible implementation of the first aspect, in a third possible implementation manner of the first aspect, the baseboard management controller determines an I2C address corresponding to the device information read request as the target device I2C address, including:
获取所述目标设备当前的复位次数,根据所述目标设备当前的复位次数确定所述目标设备的I2C地址。Obtaining a current reset number of the target device, and determining an I2C address of the target device according to the current reset number of the target device.
结合第一方面的第三种可能实现方式,在第一方面的第四种可能实现方式中,所述目标设备的复位次数的初始值为0,所述根据所述目标设备当前的复位次数确定所述目标设备的I2C地址,包括:With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the initial value of the number of resets of the target device is 0, and the determining, according to the current reset times of the target device The I2C address of the target device includes:
确定所述目标设备的I2C地址为所述I2C地址列表中的第n+1个I2C地址,n为所述目标设备当前的复位次数。Determining that the I2C address of the target device is the n+1th I2C address in the I2C address list, where n is the current number of resets of the target device.
结合第一方面的第一至四种可能实现方式中的任一种,在第一方面的第五种可能实现方式中,所述基板管理控制器判断所述目标设备是否在预定时间内返回对所述设备信息读取请求的响应,包括:In conjunction with any one of the first to fourth possible implementations of the first aspect, in a fifth possible implementation of the first aspect, the baseboard management controller determines whether the target device returns to a predetermined time The response of the device information read request includes:
读取超时计数变量time_out_count;Read the timeout count variable time_out_count;
若所述超时计数变量time_out_count的数值为1,则确定所述目标设备在预定时间内未返回对所述设备信息读取请求的响应;If the value of the timeout count variable time_out_count is 1, determining that the target device does not return a response to the device information read request within a predetermined time;
若所述超时计数变量time_out_count的数值为0,则确定所述目标设备在预定时间内返回对所述设备信息读取请求的响应。If the value of the timeout count variable time_out_count is 0, it is determined that the target device returns a response to the device information read request within a predetermined time.
结合第一方面第一至五种可能实现方式中的任一种,在第一方面的第六种可能实现方式中,所述外围设备管理组件还包括与所述基板管理控制器与输入单元电性相连;所述基板管理控制器根据所述I2C地址列表中的I2C地址向目标设备发送设备信息读取请求之前,所述方法还包括:In conjunction with any one of the first to fifth possible implementations of the first aspect, in a sixth possible implementation manner of the first aspect, the peripheral device management component further includes the base management controller and the input unit Before the device management controller sends the device information read request to the target device according to the I2C address in the I2C address list, the method further includes:
基板管理控制器接收用户通过所述输入单元输入的各个外围设备标识;The substrate management controller receives respective peripheral device identifiers input by the user through the input unit;
基板管理控制器根据所述各个外围设备标识确定所述各个外围设备标识对应的I2C地址;Determining, by the baseboard management controller, an I2C address corresponding to each of the peripheral device identifiers according to the respective peripheral device identifiers;
基板管理控制器根据所述各个外围设备标识对应的I2C地址生成所述I2C地址列表。 The baseboard management controller generates the I2C address list according to the I2C address corresponding to each of the peripheral device identifiers.
结合第一方面或者第一方面的第一至六种可能实现方式中的任一种,在第一方面的第七种可能实现方式中,所述方法还包括:With reference to the first aspect, or any one of the first to the sixth possible implementation manners of the first aspect, in a seventh possible implementation manner of the first aspect, the method further includes:
基板管理控制器根据所述多路选通开关中的第二数据端中的N个端口分别对应的N个外围设备的管理路径,以轮询方式依次读取所述N个外围设备各自的设备信息;The baseboard management controller sequentially reads the devices of the N peripheral devices in a polling manner according to the management paths of the N peripheral devices corresponding to the N ports of the second data terminals of the multiple routing switches. information;
基板管理控制器根据所述N个外围设备各自的设备信息对所述N个外围设备进行管理。The baseboard management controller manages the N peripheral devices according to respective device information of the N peripheral devices.
结合第一方面或者第一方面的第一至七种可能实现方式中的任一种,在第一方面的第八种可能实现方式中,所述开关控制单元与所述N个外围设备各自对应的外围接口电性相连,所述基板管理控制器向所述开关控制单元发送包含有连通信息的控制指令之前,所述方法还包括:With reference to the first aspect, or any one of the first to the seventh possible implementation manners of the first aspect, in the eighth possible implementation manner of the first aspect, the switch control unit and the N peripheral devices respectively correspond to The peripheral interface is electrically connected, and before the substrate management controller sends the control instruction including the connection information to the switch control unit, the method further includes:
所述基板管理控制器接收所述开关控制单元发送的设备连接信息;所述设备连接信息为所述开关控制单元通过各个所述外围接口获取到的信息,用于指示所述第二数据端中连接有外围设备的端口;The device management controller receives the device connection information sent by the switch control unit; the device connection information is information obtained by the switch control unit through each of the peripheral interfaces, and is used to indicate the second data end. a port to which a peripheral device is connected;
所述基板管理控制器向所述开关控制单元发送包含有连通信息的控制指令,包括:The substrate management controller sends a control instruction including the connection information to the switch control unit, including:
根据所述设备连接信息发送所述控制指令。And transmitting the control instruction according to the device connection information.
第二方面,提供了一种管理路径确定装置,用于基板管理控制器中,所述装置包括:In a second aspect, a management path determining apparatus is provided for use in a baseboard management controller, the apparatus comprising:
指令发送模块,用于向与所述基板管理控制器电性相连的开关控制单元发送包含有连通信息的控制指令;所述开关控制单元与多路选通开关的控制端相连,所述多路选通开关还包括第一数据端和第二数据端,所述第二数据端包含N个端口,所述基板管理控制器与所述第一数据端电性相连,所述第二数据端中的N个端口分别与N个外围设备电性相连,所述连通信息用于指示所述开关控制单元控制所述第一数据端和所述N个端口中的一个指定的端口连通;An instruction sending module, configured to send a control instruction including connection information to a switch control unit electrically connected to the baseboard management controller; the switch control unit is connected to a control end of the multi-way switch, the multi-path The strobe switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the second data end is Each of the N ports is electrically connected to the N peripheral devices, and the connectivity information is used to indicate that the switch control unit controls the designated port of the first data end and the N ports to communicate with each other;
地址确定模块,用于从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,所述目标设备为所述指定的端口对应的外围设备,所述目标设备的I2C地址用于使所述基板管理控制器在所述第一数据端和所述指定的端口连通时,从所述目标设备中成功读取设备信息;An address determining module, configured to determine an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port, and the I2C address of the target device is used for The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
路径确定模块,用于根据所述目标设备的I2C地址和所述连通信息确 定所述目标设备的管理路径。a path determining module, configured to determine, according to the I2C address of the target device and the connectivity information The management path of the target device is determined.
在第二方面的第一种可能实现方式中,所述地址确定模块,包括:In a first possible implementation manner of the second aspect, the address determining module includes:
请求发送子模块,用于从所述I2C地址列表中的第一个I2C地址开始,根据所述I2C地址列表中的I2C地址向所述目标设备发送设备信息读取请求;a request sending submodule, configured to send, according to the first I2C address in the I2C address list, a device information read request to the target device according to the I2C address in the I2C address list;
判断子模块,用于判断所述目标设备是否在预定时间内返回对所述设备信息读取请求的响应;a determining submodule, configured to determine whether the target device returns a response to the device information read request within a predetermined time;
第一确定子模块,用于若所述判断子模块的判断结果为所述目标设备在预定时间内返回对所述设备信息读取请求的响应,则将所述设备信息读取请求对应的I2C地址确定为该目标设备的I2C地址。a first determining submodule, configured to: if the judgment result of the determining submodule is that the target device returns a response to the device information read request within a predetermined time, the I2C corresponding to the device information read request is The address is determined as the I2C address of the target device.
结合第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,所述In conjunction with the first possible implementation of the second aspect, in a second possible implementation of the second aspect,
地址确定模块还包括:The address determination module further includes:
复位子模块,用于若所述判断子模块的判断结果为所述目标设备在预定时间内未返回对所述设备信息读取请求的响应,则对所述目标设备进行复位;a reset submodule, configured to reset the target device if the judgment result of the determining submodule is that the target device does not return a response to the device information read request within a predetermined time;
计数子模块,用于在所述复位子模块对所述目标设备进行复位之后,将所述目标设备的复位次数加1;a counting submodule, configured to increase a reset number of the target device by one after the reset submodule resets the target device;
所述请求发送子模块,还用于在所述复位子模块对所述目标设备进行复位之后,根据所述I2C地址列表中的下一个I2C地址向所述目标设备发送设备信息读取请求。The request sending submodule is further configured to: after the reset submodule resets the target device, send a device information read request to the target device according to a next I2C address in the I2C address list.
结合第二方面的第二种可能实现方式,在第二方面的第三种可能实现方式中,所述第一确定子模块,包括:With reference to the second possible implementation of the second aspect, in a third possible implementation manner of the second aspect, the first determining submodule includes:
复位次数获取单元,用于获取所述目标设备当前的复位次数;a reset number acquisition unit, configured to acquire a current reset number of the target device;
第一确定单元,用于根据所述目标设备当前的复位次数确定所述目标设备的I2C地址。The first determining unit is configured to determine an I2C address of the target device according to the current reset number of the target device.
结合第二方面的第三种可能实现方式,在第二方面的第四种可能实现方式中,所述第一确定单元,用于确定所述目标设备的I2C地址为所述I2C地址列表中的第n+1个I2C地址;With reference to the third possible implementation of the second aspect, in a fourth possible implementation manner of the second aspect, the first determining unit is configured to determine that an I2C address of the target device is in the I2C address list. The n+1th I2C address;
其中,n为所述目标设备当前的复位次数,且所述目标设备的复位次数的初始值为0。 Where n is the current number of resets of the target device, and the initial value of the number of resets of the target device is 0.
结合第二方面的第一至四种可能实现方式中的任一种,在第二方面的第五种可能实现方式中,所述判断子模块,包括:With reference to any one of the first to fourth possible implementations of the second aspect, in a fifth possible implementation manner of the second aspect, the determining submodule includes:
读取单元,用于读取超时计数变量time_out_count;a reading unit for reading a timeout count variable time_out_count;
第二确定单元,用于若所述超时计数变量time_out_count的数值为1,则确定所述目标设备在预定时间内未返回对所述设备信息读取请求的响应;a second determining unit, configured to: if the value of the timeout count variable time_out_count is 1, determining that the target device does not return a response to the device information read request within a predetermined time;
第三确定单元,用于若所述超时计数变量time_out_count的数值为0,则确定所述目标设备在预定时间内返回对所述设备信息读取请求的响应。And a third determining unit, configured to: if the value of the timeout count variable time_out_count is 0, determine that the target device returns a response to the device information read request within a predetermined time.
结合第二方面的第一至五种可能实现方式中的任一种,在第二方面的第六种可能实现方式中,所述地址确定模块还包括:With reference to any one of the first to fifth possible implementations of the second aspect, in the sixth possible implementation of the second aspect, the address determining module further includes:
标识接收子模块,用于在所述请求发送子模块根据所述I2C地址列表中的I2C地址向目标设备发送设备信息读取请求之前,接收用户通过输入单元输入的各个外围设备标识;And an identifier receiving submodule, configured to receive, before the request sending submodule sends a device information reading request to the target device according to the I2C address in the I2C address list, each peripheral device identifier input by the user through the input unit;
第二确定子模块,用于根据所述各个外围设备标识确定所述各个外围设备标识对应的I2C地址;a second determining submodule, configured to determine an I2C address corresponding to each of the peripheral device identifiers according to the respective peripheral device identifiers;
列表生成子模块,用于根据所述各个外围设备标识对应的I2C地址生成所述I2C地址列表;a list generation submodule, configured to generate the I2C address list according to an I2C address corresponding to each of the peripheral device identifiers;
其中,所述基板管理控制器与所述输入单元电性相连。The substrate management controller is electrically connected to the input unit.
结合第二方面或者第二方面的第一至六种可能实现方式中的任一种,在第二方面的第七种可能实现方式中,所述装置还包括:With reference to the second aspect, or any one of the first to the sixth possible implementation manners of the second aspect, in a seventh possible implementation manner of the second aspect, the device further includes:
读取模块,用于根据所述多路选通开关中的第二数据端中的N个端口分别对应的N个外围设备的管理路径,以轮询方式依次读取所述N个外围设备各自的设备信息;a reading module, configured to sequentially read the N peripheral devices in a polling manner according to a management path of the N peripheral devices corresponding to N ports of the second data terminals of the multiple routing switches Device information;
管理模块,用于根据所述N个外围设备各自的设备信息对所述N个外围设备进行管理。And a management module, configured to manage the N peripheral devices according to device information of each of the N peripheral devices.
结合第二方面或者第二方面的第一至七种可能实现方式中的任一种,在第二方面的第八种可能实现方式中,所述装置还包括:With reference to the second aspect, or any one of the first to the seventh possible implementation manners of the second aspect, in the eighth possible implementation manner of the second aspect, the device further includes:
连接信息接收模块,用于在所述指令发送模块向所述开关控制单元发送包含有连通信息的控制指令之前,接收所述开关控制单元发送的设备连接信息,所述设备连接信息为所述开关控制单元通过与所述N个外围设备各自对应的外围接口获取到的信息,所述设备连接信息用于指示所述第二 数据端中连接有外围设备的端口;a connection information receiving module, configured to receive device connection information sent by the switch control unit before the command sending module sends a control instruction including the connection information to the switch control unit, where the device connection information is the switch The control unit acquires information through a peripheral interface corresponding to each of the N peripheral devices, the device connection information is used to indicate the second a port to which a peripheral device is connected in the data terminal;
所述指令发送模块,用于根据所述设备连接信息发送所述控制指令;The instruction sending module is configured to send the control instruction according to the device connection information;
所述开关控制单元与所述N个外围设备各自对应的外围接口电性相连。The switch control unit is electrically connected to a peripheral interface corresponding to each of the N peripheral devices.
本发明实施例提供的技术方案的有益效果是:The beneficial effects of the technical solutions provided by the embodiments of the present invention are:
通过在基板管理控制器和N个外围设备之间设置一个多路选通开关,向开关控制单元发送包含有连通信息的控制指令,以控制多路选通开关中的第一数据端和第二数据端中的一个指定的端口连通,从I2C地址列表中确定该指定的端口对应的目标设备的I2C地址,根据目标设备的I2C地址和该连通信息确定该目标设备的管理路径,通过开关控制单元控制多路选通开关轮流选通基板管理控制器和多个外围设备,即可以实现对多个外围设备的轮询,利用一条I2C资源实现对多个外围设备进行管理,解决了现有技术中当主板中插入多个同一类型的外围设备时,必须为每一个外围设备分别设置一路I2C资源的问题,达到节约管理资源的效果。By setting a multi-way strobe switch between the baseboard management controller and the N peripheral devices, a control command including the connection information is sent to the switch control unit to control the first data end and the second of the multi-way strobe switch A designated port in the data terminal is connected, and an I2C address of the target device corresponding to the specified port is determined from the I2C address list, and a management path of the target device is determined according to the I2C address of the target device and the connection information, and the switch control unit is Controlling the multi-way strobe switch to strobe the baseboard management controller and a plurality of peripheral devices, that is, the polling of the plurality of peripheral devices can be realized, and the management of the plurality of peripheral devices by using one I2C resource is solved, and the prior art is solved. When multiple peripheral devices of the same type are inserted into the motherboard, the problem of one I2C resource must be set for each peripheral device to save management resources.
附图说明DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention. Other drawings may also be obtained from those of ordinary skill in the art in light of the inventive work.
图1是本发明背景技术提供的GPU管理组件的连接示意图;1 is a schematic diagram of connection of a GPU management component provided by the background art of the present invention;
图2是本发明一个实施例提供的管理路径确定方法的方法流程图;2 is a flowchart of a method for determining a management path according to an embodiment of the present invention;
图3是本发明一个实施例提供的外围设备管理组件的结构示意图;3 is a schematic structural diagram of a peripheral device management component according to an embodiment of the present invention;
图4是本发明另一实施例提供的管理路径确定方法的方法流程图;4 is a flowchart of a method for determining a management path according to another embodiment of the present invention;
图5是本发明另一实施例提供的外围设备管理组件的结构示意图;FIG. 5 is a schematic structural diagram of a peripheral device management component according to another embodiment of the present invention; FIG.
图6是本发明一个实施例提供的管理路径确定装置的装置结构图;6 is a structural diagram of a device of a management path determining apparatus according to an embodiment of the present invention;
图7是本发明另一实施例提供的管理路径确定装置的装置结构图。FIG. 7 is a structural diagram of a device of a management path determining apparatus according to another embodiment of the present invention.
具体实施方式detailed description
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。 The embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
请参考图2,其示出了本发明一个实施例提供的管理路径确定方法的方法流程图。该管理路径确定方法可以包括:Please refer to FIG. 2, which is a flowchart of a method for determining a management path according to an embodiment of the present invention. The management path determining method may include:
步骤202,基板管理控制器向与该基板管理控制器电性相连的开关控制单元发送包含有连通信息的控制指令;该开关控制单元与多路选通开关的控制端相连,该多路选通开关还包括第一数据端和第二数据端,该第二数据端包含N个端口,该基板管理控制器与该第一数据端电性相连,该第二数据端中的N个端口分别与N个外围设备电性相连,该连通信息用于指示开关控制单元控制第一数据端和该N个端口中的一个指定的端口连通。Step 202: The baseboard management controller sends a control command including the connection information to the switch control unit electrically connected to the baseboard management controller. The switch control unit is connected to the control end of the multi-way switch, and the multi-way gating The switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the N ports in the second data end respectively The N peripheral devices are electrically connected, and the connectivity information is used to instruct the switch control unit to control the first data terminal to communicate with one of the N ports.
本发明实施例提供的管理路径确定方法,可以用于主板的外围设备管理组件中,对主板外插的外围设备进行管理。请参考图3,其示出了本发明实施例提供的外围设备管理组件的结构示意图,该外围设备管理组件可以包括:基板管理控制器310、多路选通开关320、开关控制单元330以及N个外围设备340,N≥2;The management path determining method provided by the embodiment of the present invention can be used in a peripheral device management component of a motherboard to manage peripheral devices externally inserted by the motherboard. Please refer to FIG. 3 , which is a schematic structural diagram of a peripheral device management component according to an embodiment of the present invention. The peripheral device management component may include: a baseboard management controller 310, a multi-way gating switch 320, a switch control unit 330, and a Peripheral device 340, N≥2;
所述多路选通开关320包括控制端322、第一数据端324和第二数据端326,所述第二数据端326包含至少N个端口;The multiplexer switch 320 includes a control terminal 322, a first data terminal 324, and a second data terminal 326, and the second data terminal 326 includes at least N ports;
所述基板管理控制器310分别与所述选通开关320的第一数据端324以及所述开关控制单元330电性相连;The substrate management controller 310 is electrically connected to the first data end 324 of the strobe switch 320 and the switch control unit 330, respectively;
所述选通开关320的第二数据端326中的N个端口分别与所述N个外围设备340电性相连,且所述选通开关320的控制端322与所述开关控制单元320电性相连。The N ports of the second data terminal 326 of the strobe switch 320 are electrically connected to the N peripheral devices 340, respectively, and the control terminal 322 of the strobe switch 320 and the switch control unit 320 are electrically connected. Connected.
步骤204,基板管理控制器从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,该目标设备为该指定的端口对应的外围设备;该目标设备的I2C地址用于使该基板管理控制器在该第一数据端和该指定的端口连通时,从该目标设备中成功读取设备信息。Step 204: The baseboard management controller determines an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port; and the I2C address of the target device is used to manage the substrate. The controller successfully reads the device information from the target device when the first data end is in communication with the designated port.
步骤206,基板管理控制器根据该目标设备的I2C地址和该连通信息确定该目标设备的管理路径。Step 206: The baseboard management controller determines a management path of the target device according to the I2C address of the target device and the connectivity information.
在本发明实施例中,基板管理控制器通过开关控制单元控制多路选通开关连通外围设备管理组件中的基板管理控制器和N个外围设备中的一个外围设备,并从预设的I2C地址列表确定该外围设备的I2C地址,此时,根据该I2C地址以及该多路选通开关当前的连通信息即可以确定该外围设 备的管理路径。基板管理控制器根据该多路选通开关依次选通与各个外围设备之间的连接,并根据各个外围设备的I2C地址读取各个外围设备的设备信息,在此过程中只需要设置一路I2C资源即可以读取多个外围设备的设备信息,实现对多个外围设备的统一管理,不需要为每一个外围设备单独设置一路I2C资源,从而达到节约管理资源的目的。In the embodiment of the present invention, the substrate management controller controls the multi-way strobe switch to communicate with the substrate management controller and one of the N peripheral devices in the peripheral device management component through the switch control unit, and from the preset I2C address. The list determines the I2C address of the peripheral device. At this time, the peripheral device can be determined according to the I2C address and the current connectivity information of the multi-way strobe switch. The backup management path. The baseboard management controller sequentially strobes the connection with each peripheral device according to the multi-way strobe switch, and reads the device information of each peripheral device according to the I2C address of each peripheral device, and only needs to set one I2C resource in the process. That is, the device information of multiple peripheral devices can be read, and unified management of multiple peripheral devices is realized, and it is not necessary to separately set one I2C resource for each peripheral device, thereby achieving the purpose of saving management resources.
综上所述,本发明实施例提供的管理路径确定方法,通过在基板管理控制器和N个外围设备之间设置一个多路选通开关,向开关控制单元发送包含有连通信息的控制指令,以控制多路选通开关中的第一数据端和第二数据端中的一个指定的端口连通,从I2C地址列表中确定该指定的端口对应的目标设备的I2C地址,根据目标设备的I2C地址和该连通信息确定该目标设备的管理路径,基板管理控制器根据该多路选通开关依次选通与各个外围设备之间的连接,并根据各个外围设备的I2C地址读取各个外围设备的设备信息,在此过程中只需要设置一路I2C资源即可以读取多个外围设备的设备信息,实现对多个外围设备的统一管理,不需要为每一个外围设备单独设置一路I2C资源,从而达到节约管理资源的目的。In summary, the management path determining method provided by the embodiment of the present invention sends a control command including the connection information to the switch control unit by setting a multi-way strobe switch between the baseboard management controller and the N peripheral devices. The I2C address of the target device corresponding to the designated port is determined from the I2C address list by controlling the designated port of the first data end and the second data end of the multi-way switch, according to the I2C address of the target device. And the connectivity information determines a management path of the target device, and the baseboard management controller sequentially gates the connection with each peripheral device according to the multiple routing switch, and reads the devices of each peripheral device according to the I2C address of each peripheral device. Information, in this process, only need to set up one I2C resource to read the device information of multiple peripheral devices, realize unified management of multiple peripheral devices, and do not need to separately set one I2C resource for each peripheral device, thereby saving The purpose of managing resources.
请参考图4,其示出了本发明又一实施例提供的管理路径确定方法的方法流程图。本实施例可以用于在上述图3所示的外围设备管理组件中确定各个外围设备的管理路径。该管理路径确定方法可以包括:Please refer to FIG. 4, which is a flowchart of a method for determining a management path according to another embodiment of the present invention. This embodiment can be used to determine the management path of each peripheral device in the peripheral device management component shown in FIG. 3 described above. The management path determining method may include:
步骤402,基板管理控制器接收用户通过输入单元输入的各个外围设备标识,根据该各个外围设备标识确定该各个外围设备标识对应的I2C地址,根据该各个外围设备标识对应的I2C地址生成该I2C地址列表。Step 402: The substrate management controller receives the identifiers of the peripheral devices input by the user through the input unit, determines the I2C addresses corresponding to the identifiers of the respective peripheral devices according to the identifiers of the respective peripheral devices, and generates the I2C address according to the I2C address corresponding to the identifier of each peripheral device. List.
请参考图5所示的外围设备管理组件的结构示意图,其中,该外围设备管理组件除了包括基板管理控制器310、多路选通开关320、开关控制单元330以及N个外围设备340之外,还包括与该基板管理控制器电性相连的输入单元350。该输入单元350可以是一个网页(Web)操作界面,用户可以在该网页操作界面中输入待管理的外围设备的标识信息,比如外围设备的类型、型号或者I2C地址等,以便基板管理控制器根据这些外围设备的标识信息确定待管理的外围设备的I2C地址并用于后续的外围设备管理。Please refer to the structural diagram of the peripheral device management component shown in FIG. 5, wherein the peripheral device management component includes, in addition to the baseboard management controller 310, the multiplex gate switch 320, the switch control unit 330, and the N peripheral devices 340, Also included is an input unit 350 that is electrically coupled to the substrate management controller. The input unit 350 can be a webpage (Web) operation interface, where the user can input identification information of the peripheral device to be managed, such as the type, model or I2C address of the peripheral device, so that the substrate management controller can The identification information of these peripheral devices determines the I2C address of the peripheral device to be managed and is used for subsequent peripheral device management.
比如,以该方法用于对服务器主板上的多个GPU进行管理为例,服务器的管理人员通过Web操作界面向基板管理控制器输入主板上插入的各个 GPU的型号,基板管理控制器根据输入的各个GPU的型号查询各个型号的GPU的I2C地址,根据查询到的各个型号的GPU的I2C地址生成I2C地址列表。For example, in this method, for managing multiple GPUs on the server motherboard as an example, the administrator of the server inputs the respective inserted on the motherboard to the baseboard management controller through the web operation interface. The model of the GPU, the baseboard management controller queries the I2C address of each model GPU according to the input model of each GPU, and generates an I2C address list according to the I2C address of the GPU of each model that is queried.
步骤404,基板管理控制器向开关控制单元发送包含有连通信息的控制指令,该连通信息用于指示该开关控制单元控制第一数据端和N个端口中的一个指定的端口连通。Step 404: The baseboard management controller sends a control instruction including the connection information to the switch control unit, where the connection information is used to instruct the switch control unit to control the first data end to communicate with one of the N ports.
比如,该连通信息可以是多路选通开关中的第二数据端中的一个指定的端口的标识。For example, the connectivity information may be an identifier of a designated one of the second data ends of the multi-way switch.
基板管理控制器向该开关控制单元发送包含有连通信息的控制指令之前,可以接收该开关控制单元发送的设备连接信息;该设备连接信息为该开关控制单元通过各个该外围接口获取到的信息,用于指示该第二数据端中连接有外围设备的端口。基板管理控制器根据该设备连接信息发送控制指令。Before the baseboard management controller sends the control command including the connection information to the switch control unit, the device connection information sent by the switch control unit may be received; the device connection information is information obtained by the switch control unit through each of the peripheral interfaces, A port for indicating that a peripheral device is connected to the second data end. The baseboard management controller transmits a control command according to the device connection information.
请参考图5所示的外围设备管理组件的结构示意图,其中,该外围设备管理组件还包括与各个外围设备对应的外围接口342,各个外围设备340通过对应的外围接口342与主板连接。开关控制单元330与各个外围接口342电性相连。Please refer to the structural diagram of the peripheral device management component shown in FIG. 5, wherein the peripheral device management component further includes a peripheral interface 342 corresponding to each peripheral device, and each peripheral device 340 is connected to the motherboard through a corresponding peripheral interface 342. The switch control unit 330 is electrically connected to each of the peripheral interfaces 342.
开关控制单元可以是一个复杂可编程逻辑器件CPLD,该开关控制单元除了与基板管理控制器电性相连之外,还可以与主板上的各个外围设备的标准接口相连,当某一个标准接口上有外围设备连接时,该标准接口向开关控制单元发送指示信号,开关控制单元根据接收到的指示信号确定设备连接信息,该设备连接信息可以用于指示多路选通开关的第二数据端中,哪些端口对应有外围设备,比如,该设备连接信息可以包括多路选通开关的第二数据端中,与连接有外围设备的标准接口对应的端口的标识。开关控制单元将该设备连接信息发送给基板管理控制器,由基板管理控制器根据该设备连接信息发送包含有连通信息的控制指令,以控制多路选通开关连通基板管理控制器和多个外围设备中的一个。The switch control unit can be a complex programmable logic device (CPLD). The switch control unit can be connected to the standard interface of each peripheral device on the main board in addition to being electrically connected to the baseboard management controller, when there is a standard interface. When the peripheral device is connected, the standard interface sends an indication signal to the switch control unit, and the switch control unit determines the device connection information according to the received indication signal, and the device connection information may be used to indicate the second data end of the multi-way switch. Which ports correspond to peripheral devices, for example, the device connection information may include an identifier of a port corresponding to a standard interface to which the peripheral device is connected, in the second data end of the multi-way switch. The switch control unit sends the device connection information to the baseboard management controller, and the baseboard management controller sends a control command including the connection information according to the device connection information to control the multi-way switch to connect the baseboard management controller and the plurality of peripherals. One of the devices.
当多路选通开关连通基板管理控制器和多个外围设备中的一个外围设备时,基板管理控制器即可以确定该外围设备的I2C地址,其具体的确定过程请参见下面的步骤406至步骤412。When the multi-way strobe switch is connected to the substrate management controller and one of the plurality of peripheral devices, the substrate management controller can determine the I2C address of the peripheral device. For the specific determination process, refer to step 406 to the following steps. 412.
步骤406,基板管理控制器从I2C地址列表中的第一个I2C地址开始, 根据该I2C地址列表中的一个I2C地址向目标设备发送设备信息读取请求,该目标设备为该指定的端口对应的外围设备。 Step 406, the baseboard management controller starts from the first I2C address in the I2C address list. Sending a device information read request to the target device according to an I2C address in the I2C address list, where the target device is a peripheral device corresponding to the designated port.
步骤408,基板管理控制器判断该目标设备是否在预定时间内返回对该设备信息读取请求的响应,若是,进入步骤412,否则,进入步骤410。Step 408: The baseboard management controller determines whether the target device returns a response to the device information read request within a predetermined time. If yes, the process proceeds to step 412; otherwise, the process proceeds to step 410.
具体的,基板管理控制器可以读取超时计数变量time_out_count;若该超时计数变量time_out_count的数值为1,则确定该目标设备在预定时间内未返回对该设备信息读取请求的响应;若该超时计数变量time_out_count的数值为0,则确定该目标设备在预定时间内返回对该设备信息读取请求的响应。Specifically, the baseboard management controller may read the timeout count variable time_out_count; if the value of the timeout count variable time_out_count is 1, it is determined that the target device does not return a response to the device information read request within a predetermined time; When the value of the count variable time_out_count is 0, it is determined that the target device returns a response to the device information read request within a predetermined time.
基板管理控制器在根据一个I2C地址发送设备信息读取请求之后,即开始计时,若在预定时间内接收到外围设备返回的响应,则基板管理控制器内部代码中的time_out_count数值将会被设置为0,若在预定时间内未接收到外围设备返回的响应,则time_out_count数值将会被设置为1。本发明实施例所示的方案,当基板管理控制器发送一个设备信息读取请求之后,只需要读取代码中的time_out_count变量的数值即可以判断接收该请求的目标设备是否在预定时间内返回对该设备信息读取请求的响应。The baseboard management controller starts timing after transmitting the device information read request according to an I2C address, and if the response returned by the peripheral device is received within a predetermined time, the time_out_count value in the internal code of the baseboard management controller is set to 0. If the response returned by the peripheral device is not received within the predetermined time, the time_out_count value will be set to 1. In the solution shown in the embodiment of the present invention, after the substrate management controller sends a device information read request, it is only necessary to read the value of the time_out_count variable in the code to determine whether the target device receiving the request returns within a predetermined time. The device information reads the response to the request.
步骤410,基板管理控制器对该目标设备进行复位,将该目标设备的复位次数加1,并根据该I2C地址列表中的下一个I2C地址向该目标设备发送设备信息读取请求,返回步骤408。Step 410: The baseboard management controller resets the target device, adds 1 to the target device, and sends a device information read request to the target device according to the next I2C address in the I2C address list, and returns to step 408. .
若该目标设备在预定时间内未返回对该设备信息读取请求的响应,则说明该目标设备的I2C地址并不是该设备信息读取请求对应的I2C地址,此时,基板管理控制器发出复位指令,复位I2C资源,以便下一次发送I2C信号。其中,该复位指令的复位时序为9个时钟周期。If the target device does not return a response to the device information read request within a predetermined time, the I2C address of the target device is not the I2C address corresponding to the device information read request, and the baseboard management controller issues a reset. The instruction resets the I2C resource to send the I2C signal the next time. The reset timing of the reset command is 9 clock cycles.
同时,基板管理控制器还会将该目标设备的复位次数加1,并根据该I2C地址列表中的下一个I2C地址向该目标设备重新发送设备信息读取请求。At the same time, the baseboard management controller also increments the number of resets of the target device by one, and resends the device information read request to the target device according to the next I2C address in the I2C address list.
需要说明的是,在本发明实施例中,当基板管理控制器判断该目标设备在预定时间内返回对该设备信息读取请求的响应时,即不再根据该I2C地址列表中的下一个I2C地址向该目标设备发送设备信息读取请求,避免执行不必要的步骤。It should be noted that, in the embodiment of the present invention, when the baseboard management controller determines that the target device returns a response to the device information read request within a predetermined time, it is no longer based on the next I2C in the I2C address list. The address sends a device information read request to the target device to avoid performing unnecessary steps.
步骤412,基板管理控制器将该设备信息读取请求对应的I2C地址确定为该目标设备的I2C地址。 Step 412: The baseboard management controller determines the I2C address corresponding to the device information read request as the I2C address of the target device.
其中,基板管理控制器可以获取该目标设备当前的复位次数,根据该目标设备当前的复位次数确定该外围设备的I2C地址。具体的,当该目标设备的复位次数的初始值为0时,确定该目标设备的I2C地址为该I2C地址列表中的第n+1个I2C地址,n为该目标设备当前的复位次数。The baseboard management controller may acquire the current reset number of the target device, and determine an I2C address of the peripheral device according to the current reset number of the target device. Specifically, when the initial value of the number of resets of the target device is 0, it is determined that the I2C address of the target device is the n+1th I2C address in the I2C address list, and n is the current reset number of the target device.
由于内存资源和处理资源有限,为了节约内存和处理资源,在本发明实施例中,基板管理控制器并不直接存储当前发送设备信息读取请求的I2C地址与外围设备之间的对应关系,而是通过记录当前发送设备信息读取请求的I2C地址在I2C地址列表中的位置来间接指示。当基板管理控制器从I2C地址列表中的第一个I2C地址开始,依次发送设备信息读取请求时,根据步骤410中的描述,每次读取失败时,基板管理控制器会将当前连通的外围设备的复位次数加1,当某一次读取成功时,说明此次发送请求的I2C地址在I2C地址列表中的位序就是该外围设备当前的复位次数再加1。In the embodiment of the present invention, the substrate management controller does not directly store the correspondence between the I2C address of the current sending device information read request and the peripheral device, and the memory resource and the processing resource are limited. It is indirectly indicated by recording the location of the current I2C address of the device information read request in the I2C address list. When the baseboard management controller sequentially sends the device information read request from the first I2C address in the I2C address list, according to the description in step 410, the substrate management controller will be currently connected when each read fails. The number of resets of the peripheral device is increased by 1. When a certain read is successful, the bit sequence of the I2C address in the I2C address list of the request is the current reset number of the peripheral device plus one.
步骤414,基板管理控制器根据该目标设备的I2C地址和该连通信息确定该目标设备的管理路径。Step 414: The baseboard management controller determines a management path of the target device according to the I2C address of the target device and the connectivity information.
在本发明实施例中,基板管理控制器通过开关控制单元控制多路选通开关连通外围设备管理组件中的基板管理控制器和N个外围设备中的一个外围设备,并按照预设的I2C地址列表中的I2C地址依次向该外围设备读取设备信息,当根据某一个I2C地址读取设备信息时,外围设备在预定时间内成功返回设备信息,则说明该I2C地址就是该外围设备的I2C地址,进一步可以确定该外围设备的管理路径。具体的,当多路选通开关处于该连通信息所指示的状态下时,基板管理控制器与该指定的外围设备的I2C地址之间的路径就是该外围设备的管理路径。In the embodiment of the present invention, the substrate management controller controls the multi-way strobe switch to communicate with the substrate management controller and one of the N peripheral devices in the peripheral device management component through the switch control unit, and according to the preset I2C address. The I2C address in the list sequentially reads the device information to the peripheral device. When the device information is read according to an I2C address, the peripheral device successfully returns the device information within a predetermined time, indicating that the I2C address is the I2C address of the peripheral device. Further, the management path of the peripheral device can be determined. Specifically, when the multi-way switch is in the state indicated by the connectivity information, the path between the baseboard management controller and the I2C address of the designated peripheral device is the management path of the peripheral device.
基板管理控制器通过开关控制单元控制多路选通开关依次连通各个外围设备,即可以按照上述方法步骤逐一确定各个外围设备的管理路径。The baseboard management controller controls the multi-way strobe switch to sequentially connect the peripheral devices through the switch control unit, that is, the management path of each peripheral device can be determined one by one according to the above method steps.
步骤416,基板管理控制器根据该多路选通开关中的第二数据端中的N个端口分别对应的N个外围设备的管理路径,以轮询方式依次读取该N个外围设备各自的设备信息;根据该N个外围设备各自的设备信息对该N个外围设备进行管理。Step 416: The baseboard management controller sequentially reads the N peripheral devices in a polling manner according to the management paths of the N peripheral devices corresponding to the N ports in the second data terminal of the multiple routing switch. Device information; managing the N peripheral devices according to respective device information of the N peripheral devices.
基板管理控制器根据该多路选通开关依次选通与各个外围设备之间的连接,并根据各个外围设备的I2C地址读取各个外围设备的设备信息,在此过程中只需要设置一路I2C资源即可以读取多个外围设备的设备信息, 实现对多个外围设备的统一管理,不需要为每一个外围设备单独设置一路I2C资源,从而达到节约管理资源的目的。The baseboard management controller sequentially strobes the connection with each peripheral device according to the multi-way strobe switch, and reads the device information of each peripheral device according to the I2C address of each peripheral device, and only needs to set one I2C resource in the process. That is, you can read device information of multiple peripheral devices. To achieve unified management of multiple peripheral devices, it is not necessary to separately set up one I2C resource for each peripheral device, thereby achieving the purpose of saving management resources.
比如,请参考图5所示的外围设备管理组件的结构示意图,其中,该外围设备管理组件还包括与基板管理控制器电性相连的散热单元360。该设备信息可以为对应的外围设备的温度信息;基板管理控制器根据该N个外围设备各自的温度信息控制该散热单元为该N个外围设备散热。For example, please refer to the structural diagram of the peripheral device management component shown in FIG. 5, wherein the peripheral device management component further includes a heat dissipation unit 360 electrically connected to the baseboard management controller. The device information may be temperature information of the corresponding peripheral device; the baseboard management controller controls the heat dissipation unit to dissipate heat for the N peripheral devices according to respective temperature information of the N peripheral devices.
在本发明实施例所示的方案中,一个典型的应用是对多个GPU的散热进行管理,比如,当该散热单元为散热风扇时,基板管理控制器可以根据各个GPU的温度信息调整散热风扇的转速。In the solution shown in the embodiment of the present invention, a typical application is to manage heat dissipation of multiple GPUs. For example, when the heat dissipation unit is a cooling fan, the substrate management controller can adjust the cooling fan according to temperature information of each GPU. Speed.
上述方案仅以对多个GPU的散热进行管理加以说明,在实际应用中,上述外围设备不仅限于GPU,还可以是网络适配器(又称网卡)或者声卡等通过标准接口与主板相连的设备,并且,外围设备的管理也不仅限于散热。本发明实施例对于外围设备的种类和对外围设备的管理方式不做具体限定。The above solution is only described by managing the heat dissipation of a plurality of GPUs. In practical applications, the peripheral device is not limited to the GPU, but may be a device connected to the motherboard through a standard interface, such as a network adapter (also called a network card) or a sound card, and The management of peripheral devices is not limited to heat dissipation. The embodiment of the present invention does not specifically limit the types of peripheral devices and the management methods of peripheral devices.
综上所述,本发明实施例提供的管理路径确定方法,通过在基板管理控制器和N个外围设备之间设置一个多路选通开关,向开关控制单元发送包含有连通信息的控制指令,以控制多路选通开关中的第一数据端和第二数据端中的一个指定的端口连通,根据I2C地址列表中的I2C地址向该指定的端口对应的目标设备发送设备信息读取请求,若该目标设备在预定时间内返回响应,则将该请求对应的I2C地址确定为该目标设备的I2C地址,根据目标设备的I2C地址和该连通信息确定该目标设备的管理路径,基板管理控制器根据该多路选通开关依次选通与各个外围设备之间的连接,并根据各个外围设备的I2C地址读取各个外围设备的设备信息,在此过程中只需要设置一路I2C资源即可以读取多个外围设备的设备信息,实现对多个外围设备的统一管理,不需要为每一个外围设备单独设置一路I2C资源,从而达到节约管理资源的目的。In summary, the management path determining method provided by the embodiment of the present invention sends a control command including the connection information to the switch control unit by setting a multi-way strobe switch between the baseboard management controller and the N peripheral devices. Controlling, by the designated one of the first data end and the second data end of the multi-way strobe switch, sending a device information read request to the target device corresponding to the designated port according to the I2C address in the I2C address list, If the target device returns a response within a predetermined time, the I2C address corresponding to the request is determined as the I2C address of the target device, and the management path of the target device is determined according to the I2C address of the target device and the connectivity information, and the baseboard management controller According to the multi-way strobe switch, the connection with each peripheral device is sequentially strobed, and the device information of each peripheral device is read according to the I2C address of each peripheral device. In this process, only one I2C resource needs to be set to be read. Device information of multiple peripheral devices to achieve unified management of multiple peripheral devices, not required for each peripheral device Set up I2C resources separately to achieve the goal of saving management resources.
请参考图6,其示出了本发明一个实施例提供的管理路径确定装置的装置结构图。该装置用于上述图3或图5所示的外围设备管理组件的基板管理控制器中。如图6所示,该管理路径确定装置包括:Please refer to FIG. 6, which shows a device structure diagram of a management path determining apparatus according to an embodiment of the present invention. The device is used in the substrate management controller of the peripheral device management component shown in FIG. 3 or FIG. 5 described above. As shown in FIG. 6, the management path determining apparatus includes:
指令发送模块601,用于向与所述基板管理控制器电性相连的开关控制 单元发送包含有连通信息的控制指令;所述开关控制单元与多路选通开关的控制端相连,所述多路选通开关还包括第一数据端和第二数据端,所述第二数据端包含N个端口,所述基板管理控制器与所述第一数据端电性相连,所述第二数据端中的N个端口分别与N个外围设备电性相连,所述连通信息用于指示所述开关控制单元控制所述第一数据端和所述N个端口中的一个指定的端口连通;An instruction sending module 601, configured to switch to a switch electrically connected to the baseboard management controller The unit transmits a control instruction including the connection information; the switch control unit is connected to the control end of the multi-way switch, the multi-way switch further includes a first data end and a second data end, the second data The terminal includes N ports, the baseboard management controller is electrically connected to the first data end, and the N ports of the second data end are respectively electrically connected to the N peripheral devices, and the connectivity information is used for Instructing the switch control unit to control that the first data end and one of the N ports are connected to each other;
地址确定模块602,用于从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,所述目标设备为所述指定的端口对应的外围设备,所述目标设备的I2C地址用于使所述基板管理控制器在所述第一数据端和所述指定的端口连通时,从所述目标设备中成功读取设备信息;The address determining module 602 is configured to determine an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port, and the I2C address of the target device is used to enable The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
路径确定模块603,用于根据所述目标设备的I2C地址和所述连通信息确定所述目标设备的管理路径。The path determining module 603 is configured to determine a management path of the target device according to the I2C address of the target device and the connectivity information.
综上所述,本发明实施例提供的管理路径确定装置,通过向开关控制单元发送包含有连通信息的控制指令,以控制多路选通开关中的第一数据端和第二数据端中的一个指定的端口连通,从I2C地址列表中确定该指定的端口对应的目标设备的I2C地址,根据目标设备的I2C地址和该连通信息确定该目标设备的管理路径,基板管理控制器根据该多路选通开关依次选通与各个外围设备之间的连接,并根据各个外围设备的I2C地址读取各个外围设备的设备信息,在此过程中只需要设置一路I2C资源即可以读取多个外围设备的设备信息,实现对多个外围设备的统一管理,不需要为每一个外围设备单独设置一路I2C资源,从而达到节约管理资源的目的。In summary, the management path determining apparatus provided by the embodiment of the present invention controls a first data end and a second data end in the multi-way switch by transmitting a control instruction including the connection information to the switch control unit. A specified port is connected, and an I2C address of the target device corresponding to the specified port is determined from the I2C address list, and a management path of the target device is determined according to the I2C address of the target device and the connectivity information, and the baseboard management controller is configured according to the multipath The strobe switch sequentially strobes the connection with each peripheral device, and reads the device information of each peripheral device according to the I2C address of each peripheral device. In this process, only one I2C resource needs to be set to read multiple peripheral devices. The device information realizes unified management of multiple peripheral devices, and does not need to separately set one I2C resource for each peripheral device, thereby achieving the purpose of saving management resources.
请参考图7,其示出了本发明另一实施例提供的管理路径确定装置的装置结构图。该装置用于上述图3或图5所示的外围设备管理组件的基板管理控制器中。如图7所示,该管理路径确定装置包括:Please refer to FIG. 7, which is a structural diagram of a device of a management path determining apparatus according to another embodiment of the present invention. The device is used in the substrate management controller of the peripheral device management component shown in FIG. 3 or FIG. 5 described above. As shown in FIG. 7, the management path determining apparatus includes:
指令发送模块601,用于向与所述基板管理控制器电性相连的开关控制单元发送包含有连通信息的控制指令;所述开关控制单元与多路选通开关的控制端相连,所述多路选通开关还包括第一数据端和第二数据端,所述第二数据端包含N个端口,所述基板管理控制器与所述第一数据端电性相连,所述第二数据端中的N个端口分别与N个外围设备电性相连,所述连通信息用于指示所述开关控制单元控制所述第一数据端和所述N个端口中 的一个指定的端口连通;The command sending module 601 is configured to send a control command including the connection information to the switch control unit electrically connected to the baseboard management controller; the switch control unit is connected to the control end of the multi-way switch, the plurality of The path strobe switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the second data end The N ports are electrically connected to the N peripheral devices, and the connectivity information is used to indicate that the switch control unit controls the first data end and the N ports. Connected to a specified port;
地址确定模块602,用于从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,所述目标设备为所述指定的端口对应的外围设备,所述目标设备的I2C地址用于使所述基板管理控制器在所述第一数据端和所述指定的端口连通时,从所述目标设备中成功读取设备信息;The address determining module 602 is configured to determine an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port, and the I2C address of the target device is used to enable The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
路径确定模块603,用于根据所述目标设备的I2C地址和所述连通信息确定所述目标设备的管理路径。The path determining module 603 is configured to determine a management path of the target device according to the I2C address of the target device and the connectivity information.
可选的,所述地址确定模块602,包括:Optionally, the address determining module 602 includes:
请求发送子模块602a,用于从所述I2C地址列表中的第一个I2C地址开始,根据所述I2C地址列表中的I2C地址向所述目标设备发送设备信息读取请求;The request sending submodule 602a is configured to send, according to the first I2C address in the I2C address list, a device information read request to the target device according to the I2C address in the I2C address list;
判断子模块602b,用于判断所述目标设备是否在预定时间内返回对所述设备信息读取请求的响应;The determining sub-module 602b is configured to determine whether the target device returns a response to the device information read request within a predetermined time;
第一确定子模块602c,用于若所述判断子模块602b的判断结果为所述目标设备在预定时间内返回对所述设备信息读取请求的响应,则将所述设备信息读取请求对应的I2C地址确定为该目标设备的I2C地址。The first determining sub-module 602c is configured to: if the determining result of the determining sub-module 602b is that the target device returns a response to the device information reading request within a predetermined time, the device information reading request is corresponding to The I2C address is determined as the I2C address of the target device.
可选的,所述地址确定模块602还包括:Optionally, the address determining module 602 further includes:
复位子模块602d,用于若所述判断子模块602b的判断结果为所述目标设备在预定时间内未返回对所述设备信息读取请求的响应,则对所述目标设备进行复位;The reset sub-module 602d is configured to reset the target device if the determination result of the determining sub-module 602b is that the target device does not return a response to the device information read request within a predetermined time;
计数子模块602e,用于在所述复位子模块602d对所述目标设备进行复位之后,将所述目标设备的复位次数加1;a counting sub-module 602e, configured to: after the reset sub-module 602d resets the target device, increase the number of resets of the target device by one;
所述请求发送子模块602a,还用于在所述复位子模块602d对所述目标设备进行复位之后,根据所述I2C地址列表中的下一个I2C地址向所述目标设备发送设备信息读取请求。The request sending submodule 602a is further configured to: after the reset submodule 602d resets the target device, send a device information read request to the target device according to a next I2C address in the I2C address list. .
可选的,所述第一确定子模块602c,包括:Optionally, the first determining submodule 602c includes:
复位次数获取单元602c1,用于获取所述目标设备当前的复位次数;The reset number acquisition unit 602c1 is configured to acquire the current reset number of the target device;
第一确定单元602c2,用于根据所述目标设备当前的复位次数确定所述目标设备的I2C地址。The first determining unit 602c2 is configured to determine an I2C address of the target device according to the current reset number of the target device.
可选的,所述第一确定单元602c2,用于确定所述目标设备的I2C地址为所述I2C地址列表中的第n+1个I2C地址; Optionally, the first determining unit 602c2 is configured to determine that an I2C address of the target device is an n+1th I2C address in the I2C address list;
其中,n为所述目标设备当前的复位次数,且所述目标设备的复位次数的初始值为0。Where n is the current number of resets of the target device, and the initial value of the number of resets of the target device is 0.
可选的,所述判断子模块602b,包括:Optionally, the determining submodule 602b includes:
读取单元602b1,用于读取超时计数变量time_out_count;The reading unit 602b1 is configured to read the timeout count variable time_out_count;
第二确定单元602b2,用于若所述超时计数变量time_out_count的数值为1,则确定所述目标设备在预定时间内未返回对所述设备信息读取请求的响应;The second determining unit 602b2 is configured to: if the value of the timeout count variable time_out_count is 1, determine that the target device does not return a response to the device information read request within a predetermined time;
第三确定单元602b3,用于若所述超时计数变量time_out_count的数值为0,则确定所述目标设备在预定时间内返回对所述设备信息读取请求的响应。The third determining unit 602b3 is configured to: if the value of the timeout count variable time_out_count is 0, determine that the target device returns a response to the device information read request within a predetermined time.
可选的,所述地址确定模块602还包括:Optionally, the address determining module 602 further includes:
标识接收子模块602f,用于在所述请求发送子模块602a根据所述I2C地址列表中的I2C地址向所述端口对应的外围设备发送设备信息读取请求之前,接收用户通过输入单元输入的各个外围设备标识;The identifier receiving sub-module 602f is configured to receive, before the request sending sub-module 602a sends a device information reading request to the peripheral device corresponding to the port, according to the I2C address in the I2C address list, and receive each input by the user through the input unit. Peripheral device identification;
第二地址确定子模块602g,用于根据所述各个外围设备标识确定所述各个外围设备标识对应的I2C地址;a second address determining sub-module 602g, configured to determine an I2C address corresponding to each of the peripheral device identifiers according to the respective peripheral device identifiers;
列表生成子模块602h,用于根据所述各个外围设备标识对应的I2C地址生成所述I2C地址列表;The list generation sub-module 602h is configured to generate the I2C address list according to the I2C address corresponding to each of the peripheral device identifiers;
其中,所述基板管理控制器与所述输入单元电性相连。The substrate management controller is electrically connected to the input unit.
可选的,所述装置还包括:Optionally, the device further includes:
读取模块604,用于根据所述多路选通开关中的第二数据端中的N个端口分别对应的N个外围设备的管理路径,以轮询方式依次读取所述N个外围设备各自的设备信息;The reading module 604 is configured to sequentially read the N peripheral devices in a polling manner according to management paths of N peripheral devices corresponding to N ports of the second data terminals of the multiple routing switches. Separate device information;
管理模块605,用于根据所述N个外围设备各自的设备信息对所述N个外围设备进行管理。The management module 605 is configured to manage the N peripheral devices according to device information of the N peripheral devices.
可选的,所述管理模块605,用于根据所述N个外围设备各自的温度信息控制散热单元为所述N个外围设备散热;Optionally, the management module 605 is configured to control, according to temperature information of each of the N peripheral devices, the heat dissipation unit to dissipate heat for the N peripheral devices;
其中,所述设备信息为对应的外围设备的温度信息;所述外围设备管理组件还包括与所述基板管理控制器电性相连的所述散热单元。The device information is temperature information of the corresponding peripheral device; the peripheral device management component further includes the heat dissipation unit electrically connected to the substrate management controller.
可选的,所述装置还包括:连接信息接收模块606;Optionally, the device further includes: a connection information receiving module 606;
所述连接信息接收模块606,用于在所述指令发送模块601向所述开关 控制单元发送包含有连通信息的控制指令之前,接收所述开关控制单元发送的设备连接信息,所述设备连接信息为所述开关控制单元通过与所述N个外围设备各自对应的外围接口获取到的信息,所述设备连接信息用于指示所述第二数据端中连接有外围设备的端口;The connection information receiving module 606 is configured to the switch sending module 601 to the switch Receiving, by the control unit, the device connection information sent by the switch control unit, before the control unit sends the control instruction including the connection information, where the device connection information is obtained by the switch control unit by using a peripheral interface corresponding to each of the N peripheral devices Information, the device connection information is used to indicate a port in the second data end to which a peripheral device is connected;
所述指令发送模块601,用于根据所述设备连接信息发送所述控制指令;The instruction sending module 601 is configured to send the control instruction according to the device connection information;
所述开关控制单元与所述N个外围设备各自对应的外围接口电性相连。The switch control unit is electrically connected to a peripheral interface corresponding to each of the N peripheral devices.
综上所述,本发明实施例提供的基板管理控制器,通过向开关控制单元发送包含有连通信息的控制指令,以控制多路选通开关中的第一数据端和第二数据端中的一个指定的端口连通,根据I2C地址列表中的I2C地址向该指定的端口对应的目标设备发送设备信息读取请求,若该目标设备在预定时间内返回响应,则将该请求对应的I2C地址确定为该目标设备的I2C地址,根据目标设备的I2C地址和该连通信息确定该目标设备的管理路径,基板管理控制器根据该多路选通开关依次选通与各个外围设备之间的连接,并根据各个外围设备的I2C地址读取各个外围设备的设备信息,在此过程中只需要设置一路I2C资源即可以读取多个外围设备的设备信息,实现对多个外围设备的统一管理,不需要为每一个外围设备单独设置一路I2C资源,从而达到节约管理资源的目的。In summary, the substrate management controller provided by the embodiment of the present invention controls a first data end and a second data end in the multi-way switch by transmitting a control instruction including the connection information to the switch control unit. A specified port is connected, and the device information read request is sent to the target device corresponding to the designated port according to the I2C address in the I2C address list. If the target device returns a response within a predetermined time, the I2C address corresponding to the request is determined. Determining, by the I2C address of the target device, the management path of the target device according to the I2C address of the target device and the connectivity information, and the baseboard management controller sequentially strobing the connection with each peripheral device according to the multiple strobe switch, and According to the I2C address of each peripheral device, the device information of each peripheral device is read. In this process, only one I2C resource needs to be set, that is, the device information of multiple peripheral devices can be read, and unified management of multiple peripheral devices is realized. A separate I2C resource is set for each peripheral device, thereby saving management resources.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。A person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium. The storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 The above are only the preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalents, improvements, etc., which are within the spirit and scope of the present invention, should be included in the protection of the present invention. Within the scope.

Claims (18)

  1. 一种管理路径确定方法,其特征在于,所述方法包括:A management path determining method, the method comprising:
    基板管理控制器向与所述基板管理控制器电性相连的开关控制单元发送包含有连通信息的控制指令;所述开关控制单元与多路选通开关的控制端相连,所述多路选通开关还包括第一数据端和第二数据端,所述第二数据端包含N个端口,所述基板管理控制器与所述第一数据端电性相连,所述第二数据端中的N个端口分别与N个外围设备电性相连,所述连通信息用于指示所述开关控制单元控制所述第一数据端和所述N个端口中的一个指定的端口连通;The baseboard management controller sends a control command including the connection information to the switch control unit electrically connected to the baseboard management controller; the switch control unit is connected to the control end of the multi-way switch, and the multi-way gating The switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the N in the second data end Each of the ports is electrically connected to the N peripheral devices, and the connectivity information is used to instruct the switch control unit to control the designated port of the first data end and the N ports to communicate;
    所述基板管理控制器从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,所述目标设备为所述指定的端口对应的外围设备;所述目标设备的I2C地址用于使所述基板管理控制器在所述第一数据端和所述指定的端口连通时,从所述目标设备中成功读取设备信息;The baseboard management controller determines an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, the target device is a peripheral device corresponding to the designated port; and the I2C address of the target device is used to make The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
    所述基板管理控制器根据所述目标设备的I2C地址和所述连通信息确定所述目标设备的管理路径。The baseboard management controller determines a management path of the target device according to an I2C address of the target device and the connectivity information.
  2. 根据权利要求1所述的方法,其特征在于,所述基板管理控制器从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,包括:The method according to claim 1, wherein the baseboard management controller determines an I2C address of the target device from the pre-stored internal integrated circuit I2C address list, including:
    所述基板管理控制器从所述I2C地址列表中的第一个I2C地址开始,根据所述I2C地址列表中的I2C地址向所述目标设备发送设备信息读取请求;The baseboard management controller sends a device information read request to the target device according to an I2C address in the I2C address list, starting from a first I2C address in the I2C address list;
    所述基板管理控制器判断所述目标设备是否在预定时间内返回对所述设备信息读取请求的响应;The baseboard management controller determines whether the target device returns a response to the device information read request within a predetermined time;
    若判断结果为所述目标设备在预定时间内返回对所述设备信息读取请求的响应,则所述基板管理控制器将所述设备信息读取请求对应的I2C地址确定为所述目标设备的I2C地址。If the result of the determination is that the target device returns a response to the device information read request within a predetermined time, the baseboard management controller determines an I2C address corresponding to the device information read request as the target device. I2C address.
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:The method of claim 2, wherein the method further comprises:
    若判断结果为所述目标设备在预定时间内未返回对所述设备信息读取请求的响应,则所述基板管理控制器对所述目标设备进行复位,将所述目 标设备的复位次数加1,并根据所述I2C地址列表中的下一个I2C地址向所述目标设备发送设备信息读取请求。If the result of the determination is that the target device does not return a response to the device information read request within a predetermined time, the baseboard management controller resets the target device, and the target device The number of resets of the target device is incremented by 1, and a device information read request is sent to the target device according to the next I2C address in the I2C address list.
  4. 根据权利要求3所述的方法,其特征在于,所述基板管理控制器将所述设备信息读取请求对应的I2C地址确定为所述目标设备的I2C地址,包括:The method according to claim 3, wherein the baseboard management controller determines the I2C address corresponding to the device information read request as the I2C address of the target device, including:
    获取所述目标设备当前的复位次数,根据所述目标设备当前的复位次数确定所述目标设备的I2C地址。Obtaining a current reset number of the target device, and determining an I2C address of the target device according to the current reset number of the target device.
  5. 根据权利要求4所述的方法,其特征在于,所述目标设备的复位次数的初始值为0,所述根据所述目标设备当前的复位次数确定所述目标设备的I2C地址,包括:The method according to claim 4, wherein the initial value of the number of resets of the target device is 0, and determining the I2C address of the target device according to the current number of resets of the target device includes:
    确定所述目标设备的I2C地址为所述I2C地址列表中的第n+1个I2C地址,n为所述目标设备当前的复位次数。Determining that the I2C address of the target device is the n+1th I2C address in the I2C address list, where n is the current number of resets of the target device.
  6. 根据权利要求2至5任一所述的方法,其特征在于,所述基板管理控制器判断所述目标设备是否在预定时间内返回对所述设备信息读取请求的响应,包括:The method according to any one of claims 2 to 5, wherein the baseboard management controller determines whether the target device returns a response to the device information read request within a predetermined time, including:
    读取超时计数变量time_out_count;Read the timeout count variable time_out_count;
    若所述超时计数变量time_out_count的数值为1,则确定所述目标设备在预定时间内未返回对所述设备信息读取请求的响应;If the value of the timeout count variable time_out_count is 1, determining that the target device does not return a response to the device information read request within a predetermined time;
    若所述超时计数变量time_out_count的数值为0,则确定所述目标设备在预定时间内返回对所述设备信息读取请求的响应。If the value of the timeout count variable time_out_count is 0, it is determined that the target device returns a response to the device information read request within a predetermined time.
  7. 根据权利要求2至6任一所述的方法,其特征在于,所述基板管理控制器与输入单元电性相连;所述基板管理控制器根据所述I2C地址列表中的I2C地址向目标设备发送设备信息读取请求之前,所述方法还包括:The method according to any one of claims 2 to 6, wherein the baseboard management controller is electrically connected to the input unit; the baseboard management controller sends the target management device according to the I2C address in the I2C address list. Before the device information reading request, the method further includes:
    所述基板管理控制器接收用户通过所述输入单元输入的各个外围设备标识;The baseboard management controller receives respective peripheral device identifiers input by a user through the input unit;
    所述基板管理控制器根据所述各个外围设备标识确定所述各个外围设备标识对应的I2C地址; Determining, by the baseboard management controller, an I2C address corresponding to each of the peripheral device identifiers according to the respective peripheral device identifiers;
    所述基板管理控制器根据所述各个外围设备标识对应的I2C地址生成所述I2C地址列表。The baseboard management controller generates the I2C address list according to an I2C address corresponding to each of the peripheral device identifiers.
  8. 根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 7, wherein the method further comprises:
    所述基板管理控制器根据所述多路选通开关的第二数据端中的N个端口分别对应的N个外围设备的管理路径,以轮询方式依次读取所述N个外围设备各自的设备信息;The substrate management controller sequentially reads the N peripheral devices in a polling manner according to the management paths of the N peripheral devices corresponding to the N ports of the second data terminals of the multiple routing switch. Device Information;
    所述基板管理控制器根据所述N个外围设备各自的设备信息对所述N个外围设备进行管理。The baseboard management controller manages the N peripheral devices according to respective device information of the N peripheral devices.
  9. 根据权利要求1至8任一所述的方法,其特征在于,所述开关控制单元与所述N个外围设备各自对应的外围接口电性相连,所述基板管理控制器向所述开关控制单元发送包含有连通信息的控制指令之前,所述方法还包括:The method according to any one of claims 1 to 8, wherein the switch control unit is electrically connected to a peripheral interface corresponding to each of the N peripheral devices, and the substrate management controller is connected to the switch control unit. Before sending the control instruction including the connected information, the method further includes:
    所述基板管理控制器接收所述开关控制单元发送的设备连接信息;所述设备连接信息为所述开关控制单元通过各个所述外围接口获取到的信息,用于指示所述第二数据端中连接有外围设备的端口;The device management controller receives the device connection information sent by the switch control unit; the device connection information is information obtained by the switch control unit through each of the peripheral interfaces, and is used to indicate the second data end. a port to which a peripheral device is connected;
    所述基板管理控制器向所述开关控制单元发送包含有连通信息的控制指令,包括:The substrate management controller sends a control instruction including the connection information to the switch control unit, including:
    根据所述设备连接信息发送所述控制指令。And transmitting the control instruction according to the device connection information.
  10. 一种管理路径确定装置,其特征在于,用于基板管理控制器中,所述装置包括:A management path determining device, which is used in a substrate management controller, the device comprising:
    指令发送模块,用于向与所述基板管理控制器电性相连的开关控制单元发送包含有连通信息的控制指令;所述开关控制单元与多路选通开关的控制端相连,所述多路选通开关还包括第一数据端和第二数据端,所述第二数据端包含N个端口,所述基板管理控制器与所述第一数据端电性相连,所述第二数据端中的N个端口分别与N个外围设备电性相连,所述连通信息用于指示所述开关控制单元控制所述第一数据端和所述N个端口中的一个指定的端口连通; An instruction sending module, configured to send a control instruction including connection information to a switch control unit electrically connected to the baseboard management controller; the switch control unit is connected to a control end of the multi-way switch, the multi-path The strobe switch further includes a first data end and a second data end, the second data end includes N ports, the baseboard management controller is electrically connected to the first data end, and the second data end is Each of the N ports is electrically connected to the N peripheral devices, and the connectivity information is used to indicate that the switch control unit controls the designated port of the first data end and the N ports to communicate with each other;
    地址确定模块,用于从预先存储的内部整合电路I2C地址列表中确定目标设备的I2C地址,所述目标设备为所述指定的端口对应的外围设备,所述目标设备的I2C地址用于使所述基板管理控制器在所述第一数据端和所述指定的端口连通时,从所述目标设备中成功读取设备信息;An address determining module, configured to determine an I2C address of the target device from a pre-stored internal integrated circuit I2C address list, where the target device is a peripheral device corresponding to the designated port, and the I2C address of the target device is used for The baseboard management controller successfully reads device information from the target device when the first data end is in communication with the designated port;
    路径确定模块,用于根据所述目标设备的I2C地址和所述连通信息确定所述目标设备的管理路径。And a path determining module, configured to determine a management path of the target device according to the I2C address of the target device and the connectivity information.
  11. 根据权利要求10所述的装置,其特征在于,所述地址确定模块,包括:The device according to claim 10, wherein the address determining module comprises:
    请求发送子模块,用于从所述I2C地址列表中的第一个I2C地址开始,根据所述I2C地址列表中的I2C地址向所述目标设备发送设备信息读取请求;a request sending submodule, configured to send, according to the first I2C address in the I2C address list, a device information read request to the target device according to the I2C address in the I2C address list;
    判断子模块,用于判断所述目标设备是否在预定时间内返回对所述设备信息读取请求的响应;a determining submodule, configured to determine whether the target device returns a response to the device information read request within a predetermined time;
    第一确定子模块,用于若所述判断子模块的判断结果为所述目标设备在预定时间内返回对所述设备信息读取请求的响应,则将所述设备信息读取请求对应的I2C地址确定为该目标设备的I2C地址。a first determining submodule, configured to: if the judgment result of the determining submodule is that the target device returns a response to the device information read request within a predetermined time, the I2C corresponding to the device information read request is The address is determined as the I2C address of the target device.
  12. 根据权利要求11所述的装置,其特征在于,所述地址确定模块还包括:The device according to claim 11, wherein the address determining module further comprises:
    复位子模块,用于若所述判断子模块的判断结果为所述目标设备在预定时间内未返回对所述设备信息读取请求的响应,则对所述目标设备进行复位;a reset submodule, configured to reset the target device if the judgment result of the determining submodule is that the target device does not return a response to the device information read request within a predetermined time;
    计数子模块,用于在所述复位子模块对所述目标设备进行复位之后,将所述目标设备的复位次数加1;a counting submodule, configured to increase a reset number of the target device by one after the reset submodule resets the target device;
    所述请求发送子模块,还用于在所述复位子模块对所述目标设备进行复位之后,根据所述I2C地址列表中的下一个I2C地址向所述目标设备发送设备信息读取请求。The request sending submodule is further configured to: after the reset submodule resets the target device, send a device information read request to the target device according to a next I2C address in the I2C address list.
  13. 根据权利要求12所述的装置,其特征在于,所述第一确定子模块,包括: The apparatus according to claim 12, wherein the first determining submodule comprises:
    复位次数获取单元,用于获取所述目标设备当前的复位次数;a reset number acquisition unit, configured to acquire a current reset number of the target device;
    第一确定单元,用于根据所述目标设备当前的复位次数确定所述目标设备的I2C地址。The first determining unit is configured to determine an I2C address of the target device according to the current reset number of the target device.
  14. 根据权利要求13所述的装置,其特征在于,The device of claim 13 wherein:
    所述第一确定单元,用于确定所述目标设备的I2C地址为所述I2C地址列表中的第n+1个I2C地址;The first determining unit is configured to determine that an I2C address of the target device is an n+1th I2C address in the I2C address list;
    其中,n为所述目标设备当前的复位次数,且所述目标设备的复位次数的初始值为0。Where n is the current number of resets of the target device, and the initial value of the number of resets of the target device is 0.
  15. 根据权利要求11至14任一所述的装置,其特征在于,所述判断子模块,包括:The device according to any one of claims 11 to 14, wherein the determining sub-module comprises:
    读取单元,用于读取超时计数变量time_out_count;a reading unit for reading a timeout count variable time_out_count;
    第二确定单元,用于若所述超时计数变量time_out_count的数值为1,则确定所述目标设备在预定时间内未返回对所述设备信息读取请求的响应;a second determining unit, configured to: if the value of the timeout count variable time_out_count is 1, determining that the target device does not return a response to the device information read request within a predetermined time;
    第三确定单元,用于若所述超时计数变量time_out_count的数值为0,则确定所述目标设备在预定时间内返回对所述设备信息读取请求的响应。And a third determining unit, configured to: if the value of the timeout count variable time_out_count is 0, determine that the target device returns a response to the device information read request within a predetermined time.
  16. 根据权利要求11至15任一所述的装置,其特征在于,所述地址确定模块还包括:The device according to any one of claims 11 to 15, wherein the address determining module further comprises:
    标识接收子模块,用于在所述请求发送子模块根据所述I2C地址列表中的I2C地址向目标设备发送设备信息读取请求之前,接收用户通过输入单元输入的各个外围设备标识;And an identifier receiving submodule, configured to receive, before the request sending submodule sends a device information reading request to the target device according to the I2C address in the I2C address list, each peripheral device identifier input by the user through the input unit;
    第二确定子模块,用于根据所述各个外围设备标识确定所述各个外围设备标识对应的I2C地址;a second determining submodule, configured to determine an I2C address corresponding to each of the peripheral device identifiers according to the respective peripheral device identifiers;
    列表生成子模块,用于根据所述各个外围设备标识对应的I2C地址生成所述I2C地址列表;a list generation submodule, configured to generate the I2C address list according to an I2C address corresponding to each of the peripheral device identifiers;
    其中,所述基板管理控制器与所述输入单元电性相连。The substrate management controller is electrically connected to the input unit.
  17. 根据权利要求10至16任一所述的装置,其特征在于,所述装置 还包括:Apparatus according to any one of claims 10 to 16, wherein said apparatus Also includes:
    读取模块,用于根据所述多路选通开关中的第二数据端中的N个端口分别对应的N个外围设备的管理路径,以轮询方式依次读取所述N个外围设备各自的设备信息;a reading module, configured to sequentially read the N peripheral devices in a polling manner according to a management path of the N peripheral devices corresponding to N ports of the second data terminals of the multiple routing switches Device information;
    管理模块,用于根据所述N个外围设备各自的设备信息对所述N个外围设备进行管理。And a management module, configured to manage the N peripheral devices according to device information of each of the N peripheral devices.
  18. 根据权利要求10至17任一所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 10 to 17, wherein the device further comprises:
    连接信息接收模块,用于在所述指令发送模块向所述开关控制单元发送包含有连通信息的控制指令之前,接收所述开关控制单元发送的设备连接信息,所述设备连接信息为所述开关控制单元通过与所述N个外围设备各自对应的外围接口获取到的信息,所述设备连接信息用于指示所述第二数据端中连接有外围设备的端口;a connection information receiving module, configured to receive device connection information sent by the switch control unit before the command sending module sends a control instruction including the connection information to the switch control unit, where the device connection information is the switch And the information obtained by the control unit by using a peripheral interface corresponding to each of the N peripheral devices, where the device connection information is used to indicate a port of the second data end to which the peripheral device is connected;
    所述指令发送模块,用于根据所述设备连接信息发送所述控制指令;The instruction sending module is configured to send the control instruction according to the device connection information;
    所述开关控制单元与所述N个外围设备各自对应的外围接口电性相连。 The switch control unit is electrically connected to a peripheral interface corresponding to each of the N peripheral devices.
PCT/CN2015/081079 2014-11-25 2015-06-09 Management path determination method and device WO2016082522A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410692726.6 2014-11-25
CN201410692726.6A CN104516838B (en) 2014-11-25 2014-11-25 Manage determining method of path and device

Publications (1)

Publication Number Publication Date
WO2016082522A1 true WO2016082522A1 (en) 2016-06-02

Family

ID=52792170

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/081079 WO2016082522A1 (en) 2014-11-25 2015-06-09 Management path determination method and device

Country Status (2)

Country Link
CN (1) CN104516838B (en)
WO (1) WO2016082522A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835516A (en) * 2021-01-14 2021-05-25 浪潮电子信息产业股份有限公司 RAID card monitoring and management method, system and device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516838B (en) * 2014-11-25 2018-02-09 华为技术有限公司 Manage determining method of path and device
US10210110B2 (en) * 2016-09-14 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Associating data buses and management bus connections for peripheral devices
CN110532196B (en) * 2019-08-30 2021-10-01 英业达科技有限公司 Complex programmable logic device with multi-address response and operation method
CN112463691B (en) * 2020-12-04 2024-04-02 威创集团股份有限公司 I2C-based line switching circuit and communication system
TWI764481B (en) * 2020-12-28 2022-05-11 技嘉科技股份有限公司 Chassis management control device and chassis management control system
CN112527718B (en) * 2020-12-28 2023-04-14 西安易朴通讯技术有限公司 Control method and device of multi-way selection switch, electronic equipment and storage medium
CN113238114B (en) * 2021-07-12 2021-10-22 深圳市永达电子信息股份有限公司 Universal automatic detection device and method for touch screen

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103069771A (en) * 2010-08-18 2013-04-24 英特尔公司 A method, apparatus, and system for manageability and secure routing and endpoint access
CN103312525A (en) * 2012-03-06 2013-09-18 百度在线网络技术(北京)有限公司 Mixed deployment system for business network and management network of server, server and switch
CN103345407A (en) * 2013-06-21 2013-10-09 华为技术有限公司 Control circuit, connectivity controller, connectivity control method and main board
CN104516838A (en) * 2014-11-25 2015-04-15 华为技术有限公司 Management path determining method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195821A (en) * 2005-01-14 2006-07-27 Fujitsu Ltd Method for controlling information processing system, information processing system, direct memory access controller, and program
CN104123260A (en) * 2013-04-29 2014-10-29 鸿富锦精密工业(深圳)有限公司 BMC read-only memory (ROM) control system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103069771A (en) * 2010-08-18 2013-04-24 英特尔公司 A method, apparatus, and system for manageability and secure routing and endpoint access
CN103312525A (en) * 2012-03-06 2013-09-18 百度在线网络技术(北京)有限公司 Mixed deployment system for business network and management network of server, server and switch
CN103345407A (en) * 2013-06-21 2013-10-09 华为技术有限公司 Control circuit, connectivity controller, connectivity control method and main board
CN104516838A (en) * 2014-11-25 2015-04-15 华为技术有限公司 Management path determining method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835516A (en) * 2021-01-14 2021-05-25 浪潮电子信息产业股份有限公司 RAID card monitoring and management method, system and device
CN112835516B (en) * 2021-01-14 2023-05-23 浪潮电子信息产业股份有限公司 RAID card monitoring management method, system and device

Also Published As

Publication number Publication date
CN104516838A (en) 2015-04-15
CN104516838B (en) 2018-02-09

Similar Documents

Publication Publication Date Title
WO2016082522A1 (en) Management path determination method and device
US10846160B2 (en) System and method for remote system recovery
CN107346292B (en) Server system and computer-implemented method thereof
WO2016037503A1 (en) Configuration method and device of pcie topology
US8972615B2 (en) Communication with input/output system devices
US10127170B2 (en) High density serial over LAN management system
WO2016037501A1 (en) Device management method and apparatus
US7694029B2 (en) Detecting miscabling in a storage area network
TW201903561A (en) System operable when the standby power supply of the power supply unit fails and its computer implementation method, non-transitory computer readable storage medium
TWI665390B (en) Method of controlling a plurality of cooling fan modules, server system and non-transitory computer-readable storage medium
WO2017032112A1 (en) Method for communicating with board having no central processing unit and communication device
WO2020233435A1 (en) Data processing method, apparatus, and system
US10969844B2 (en) Method and apparatus of controlling network node by providing a virtual power distribution unit
US20110093574A1 (en) Multi-blade interconnector
US9319313B2 (en) System and method of forwarding IPMI message packets based on logical unit number (LUN)
EP3442166B1 (en) Composing by network attributes
CN111835559A (en) Automatic configuration method, device, equipment and machine readable storage medium
CN107506323B (en) Hot plug processing method and device
US8924597B2 (en) Domain management processor
CN104407714A (en) Main board and use method thereof for remote multi-computer switching
US8832341B2 (en) Dynamically determining a primary or slave assignment based on receiving a power signal from the cable at the port of a device
US8051153B2 (en) Switch apparatus for a remote boot sequence of a network device
US11604602B2 (en) Control device, execution device and device management method
CN114610663B (en) Device and server for supporting multiple boards
EP3441868B1 (en) High availability storage pool compose mechanism

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: 15863651

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15863651

Country of ref document: EP

Kind code of ref document: A1