WO2023030275A1 - Monitoring device address management method and apparatus, baseboard management controller, and device - Google Patents

Monitoring device address management method and apparatus, baseboard management controller, and device Download PDF

Info

Publication number
WO2023030275A1
WO2023030275A1 PCT/CN2022/115631 CN2022115631W WO2023030275A1 WO 2023030275 A1 WO2023030275 A1 WO 2023030275A1 CN 2022115631 W CN2022115631 W CN 2022115631W WO 2023030275 A1 WO2023030275 A1 WO 2023030275A1
Authority
WO
WIPO (PCT)
Prior art keywords
monitoring device
board
identification code
enumeration
address
Prior art date
Application number
PCT/CN2022/115631
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 WO2023030275A1 publication Critical patent/WO2023030275A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3031Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card

Definitions

  • Embodiments of the present disclosure relate to a monitoring device address management method and device, a baseboard management controller, and electronic equipment.
  • Computers or servers usually support the expansion of peripherals through the slots on the motherboard, such as network cards, audio cards, sampling cards, password cards, etc. These expansion peripherals are usually designed in the form of boards. The boards can be inserted into the slots provided by the computer or server. By establishing a communication connection between the board and the control components of the computer or server, the computer or server can use the board to provide hardware resources to achieve hardware expansion.
  • At least one embodiment of the present disclosure provides a monitoring device address management method, which is used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus.
  • the method includes: obtaining an enumeration of the board time: based on the enumeration time, generate an identification code of the monitoring device to be used for address coding of the monitoring device.
  • generating the identification code of the monitoring device based on the enumeration time includes: acquiring monitoring data of each monitoring device in the at least one monitoring device; The monitoring device generates an identification code of the monitoring device according to the monitoring data and the enumeration time of the board.
  • generating the identification code of the monitoring device according to the monitoring data and the enumeration time of the board includes: converting the monitoring data to and the enumeration time as input, use a hash algorithm to calculate and obtain a calculation result, and use the calculation result as the identification code of the monitoring device.
  • the monitoring data includes at least one of a voltage parameter and a temperature parameter.
  • the board includes a plurality of monitoring devices, and for each monitoring device in the plurality of monitoring devices, the parameters of the monitoring data used for the calculation are of the same type .
  • each monitoring device in the plurality of monitoring devices corresponds to a different identification code.
  • the board includes a monitoring device
  • generating the identification code of the monitoring device based on the enumeration time includes: taking the enumeration time of the board as Input, use the hash algorithm to calculate and obtain the calculation result, and use the calculation result as the identification code of the monitoring device.
  • the method provided by an embodiment of the present disclosure further includes: sending the identification code of the monitoring device to a baseboard management controller that manages the board through the system management bus, so that the baseboard management controller Address encoding is performed on the identification code to generate the address of the monitoring device.
  • the board includes a peripheral component interconnection board or a peripheral component interconnection high-speed board.
  • the board is connected to the host, and the enumeration time is that the board is passed by the host based on the peripheral component interconnection bus or the peripheral component interconnection high-speed bus. Enumeration time.
  • the monitoring device includes a sensor configured to sense a parameter reflecting an operating state of the board.
  • At least one embodiment of the present disclosure provides a monitoring device address management method for a baseboard management controller, wherein the baseboard management controller is configured to manage at least one monitoring device located on at least one board based on a system management bus , the method includes: receiving the identification code of the monitoring device, wherein the identification code is generated based on the enumeration time of the board to which the monitoring device belongs; and based on the identification code, performing address encoding to generate the Monitor the address of the device.
  • receiving the identification code of the monitoring device includes: receiving the identification code of the monitoring device through the system management bus.
  • the at least one board is a plurality of boards, and each board in the plurality of boards corresponds to a different enumeration time.
  • At least one embodiment of the present disclosure provides a monitoring device address management device, which is used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus.
  • the device includes: an enumeration time acquisition unit configured to Obtaining the enumeration time of the board; an identification code generation unit configured to generate an identification code of the monitoring device based on the enumeration time, to be used for address coding of the monitoring device.
  • At least one embodiment of the present disclosure provides a baseboard management controller configured to manage at least one monitoring device located on at least one board based on a system management bus, wherein the baseboard management controller includes: an identification code acquisition unit, It is configured to receive the identification code of the monitoring device, wherein the identification code is generated based on the enumeration time of the board to which the monitoring device belongs; and the address generating unit is configured to perform address encoding based on the identification code and generate The address of the monitoring device.
  • At least one embodiment of the present disclosure provides an electronic device, including the monitoring device address management device or the baseboard management controller provided by any embodiment of the present disclosure.
  • At least one embodiment of the present disclosure provides an electronic device, including a baseboard management controller and at least one board, wherein the baseboard management controller is communicatively connected to the at least one board, and each board includes a microprocessor and At least one monitoring device; the microprocessor is configured to obtain the enumeration time of the board, and generate an identification code of the monitoring device based on the enumeration time; the monitoring device is configured to reflect the board
  • the baseboard management controller is configured to receive the identification code of the monitoring device, perform address encoding based on the identification code, and generate the address of the monitoring device.
  • Fig. 1 is a schematic block diagram of an electronic device
  • FIG. 2 is a schematic flowchart of a monitoring device address management method provided by some embodiments of the present disclosure
  • FIG. 3 is an exemplary flowchart of step S120 in FIG. 2;
  • FIG. 4 is a schematic flowchart of another monitoring device address management method provided by some embodiments of the present disclosure.
  • FIG. 5A is one of the application flowcharts of the monitoring device address management method provided by some embodiments of the present disclosure.
  • FIG. 5B is the second application flowchart of the monitoring device address management method provided by some embodiments of the present disclosure.
  • FIG. 6 is a schematic flowchart of a monitoring device address management method provided by some embodiments of the present disclosure.
  • Fig. 7 is a schematic block diagram of a monitoring device address management device provided by some embodiments of the present disclosure.
  • Fig. 8 is a schematic block diagram of a baseboard management controller provided by some embodiments of the present disclosure.
  • Fig. 9 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure.
  • Fig. 10 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure.
  • PCI Peripheral Component Interconnect
  • PCI-e Peripheral Component Interconnect Express
  • One or more monitoring devices can be set on the PCI board or the PCI-e board, and these monitoring devices can monitor the running status of the boards, so as to facilitate computer management of these boards.
  • Fig. 1 is a schematic block diagram of an electronic device.
  • a host 01 is connected to multiple PCI-e boards.
  • the host 01 may be a common computer or server, which provides multiple slots for easy connection with PCI-e boards, so as to realize hardware expansion.
  • a plurality of boards PCI-e-1, PCI-e-2, ..., PCI-e-n communicate with the host 01 through a PCI-e bridge (PCI-e Bridge).
  • the PCI-e bridge can usually be integrated in the south bridge chip or the north bridge chip of the host 01.
  • Board cards PCI-e-1, PCI-e-2,..., PCI-e-n perform data transmission between the host 01 and the PCI-e bus.
  • PCI-e board as an example, those skilled in the art can understand that a PCI board can also be used, which is not limited in the embodiments of the present disclosure.
  • one or more monitoring devices can be set on the board cards PCI-e-1, PCI-e-2, ..., PCI-e-n, and these monitoring devices can monitor the board cards PCI-e-1, PCI-e-2, ..., PCI-e-n running status monitoring, in order to manage board PCI-e-1, PCI-e-2, ..., PCI-e-n.
  • the monitoring device can be called a PVT (Process, Voltage and Temperature) device, which can sense parameters such as voltage and temperature of the board.
  • PVT Process, Voltage and Temperature
  • a monitoring device is set on each board, for example, the monitoring device PVT-1 is set on the board PCI-e-1, and the monitoring device PVT is set on the board PCI-e-2 -2, and so on, the board card PCI-e-n is provided with a monitoring device PVT-n.
  • the embodiments of the present disclosure are not limited thereto, and multiple monitoring devices may also be set on each board, which may be determined according to actual needs.
  • the monitoring devices PVT-1, PVT-2, ..., PVT-n communicate with the host 01 through the system management bus (System Management Bus, SMbus), for example, in the baseboard management controller (Baseboard Management Controller, BMC) of the host 01 Deployed SMbus controller communication.
  • SMbus System Management Bus
  • BMC Baseboard Management Controller
  • SMBus is a bus protocol widely used by BMC.
  • the host 01 when the host 01 is connected to multiple boards and at least some of the boards are of the same type, in order to identify and distinguish the monitoring devices on each board, it is necessary to encode the addresses of each monitoring device, that is, assign each monitoring device address.
  • hardware addressing may be used to determine the address. For example, configure different pull-up and pull-down resistors for different PCI-e slots on the backplane of the main chassis. After the board is inserted into the PCI-e slot, the electrical connection is made due to the hardware contact, so that the address of the monitoring device can be determined.
  • this method requires additional consideration in hardware design, which increases the hardware cost, and because it relies on the electrical connection between the board and the slot, the number of devices that can be supported by this method is limited by factors such as physical size and board manufacturing process. limits.
  • the address may be determined by means of software dynamic allocation.
  • the address encoding can be implemented according to the Address Resolution Protocol (Address Resolution Protocol, ARP) in the SMbus protocol.
  • ARP Address Resolution Protocol
  • each monitoring device needs to provide a unique identification code (UDID) by itself, and after the identification code of each monitoring device is determined, an address is generated according to the identification code.
  • ARP protocol requires each monitoring device to provide a unique identification code, and in a symmetric multi-device system, even if a pseudo-random number is used as a seed, there is a certain probability that "code collision" will occur (that is, different monitoring devices with the same identification code).
  • this method requires the microprocessor (Microprocessor Unit) on the board to have a random number generation function, which requires relatively high hardware requirements for the board.
  • At least one embodiment of the present disclosure provides a monitoring device address management method and device, a baseboard management controller, and electronic equipment.
  • the method can dynamically generate the identification code of the monitoring device without modifying the hardware and without the random number generation function of the microprocessor on the board, which can effectively reduce the probability of code collision and reduce the product cost.
  • At least one embodiment of the present disclosure provides a monitoring device address management method.
  • the monitoring device address management method is used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus.
  • the method includes: obtaining the enumeration time of the board; and generating the identification code of the monitoring device based on the enumeration time, which is used for the address code of the monitoring device.
  • Fig. 2 is a schematic flowchart of a monitoring device address management method provided by some embodiments of the present disclosure. As shown in Fig. 2, in some embodiments, the method includes the following operations.
  • Step S110 Obtain the enumeration time of the board
  • Step S120 Based on the enumeration time, an identification code of the monitoring device is generated for address coding of the monitoring device.
  • the method can be applied to a board including at least one monitoring device, and the monitoring device is managed based on a system management bus.
  • the method can be applied to various PCI-e boards as shown in FIG. 1 and electronic equipment including these PCI-e boards.
  • the microprocessor on the board can acquire the enumeration time of the board.
  • the board when the board is connected to the host 01, that is, when the board is inserted into the slot provided by the host 01, if the board is a PCI board or a PCI-e board, the board will be based on PCI bus or PCI-e bus is enumerated by host01.
  • the enumeration time refers to the time when the board is enumerated by the host 01 based on the PCI bus or PCI-e bus, that is, the corresponding moment in the system time run by the time module in the host 01 when performing enumeration.
  • MSI_CAPABILITY_REGISTER and MSI_CONTROL_REGISTER can be used to achieve enumeration. After the enumeration is completed, the enumeration time can be determined by querying the changes in registers such as PCI-e MSI_CAPABILITY_REGISTER. For specific instructions on the enumeration of PCI boards or PCI-e boards, reference may be made to conventional designs, which will not be described in detail here.
  • an identification code of the monitoring device may be generated according to the enumeration time, and the identification code may be used for address coding of the subsequent monitoring device. Since each board is enumerated sequentially on the PCI bus or PCI-e bus, not at the same time, each board corresponds to a unique enumeration time, which is related to the specific enumeration time of the board. The corresponding relationship, so that the identification code of the monitoring device can be generated by using the enumeration time, so that the correspondingly generated identification code has a specific corresponding relationship with the monitoring device on the board, so that the identification code of the monitoring device is unique.
  • step S120 may further include the following operations.
  • Step S121 Obtain monitoring data of each monitoring device in at least one monitoring device
  • Step S122 For each monitoring device, an identification code of the monitoring device is generated according to the monitoring data and the enumeration time of the board.
  • the monitoring device may be a PVT device provided on the board, and the monitoring device may collect at least one of voltage parameters and temperature parameters of the board to which it belongs.
  • the monitoring data of the monitoring device refers to the data collected by the monitoring device, which can also be called PVT data.
  • the monitoring data includes at least one of voltage parameters and temperature parameters. Therefore, the monitoring data can be voltage values, temperature values, etc. .
  • the monitoring device is a sensor configured to sense parameters reflecting the operating state of the board, and the parameters reflecting the operating state of the board include at least one of a voltage parameter and a temperature parameter.
  • the monitoring data of the monitoring device can be obtained by the microprocessor on the board.
  • each monitoring device can be a different type of monitoring device for obtaining different types of monitoring data, or each monitoring device can be the same type of monitoring device for targeting Different parts of the board or different signal paths are monitored.
  • an identification code of the monitoring device may be generated according to the monitoring data of the monitoring device and the enumeration time of the board to which the monitoring device belongs.
  • the identification code may be a binary number with preset digits, for example, 64 digits, 32 digits, 16 digits, 8 digits, or other arbitrary digits, which is not limited in the embodiments of the present disclosure.
  • the identification code may be represented by any type of data such as integer type, character type, floating point type, etc., which is not limited in the embodiments of the present disclosure.
  • step S122 may include: taking monitoring data and enumeration time as input, performing calculation by hash algorithm to obtain a calculation result, and using the calculation result as the identification code of the monitoring device.
  • the hash algorithm can also be called a hash algorithm, which can transform an input of any length into a fixed-length output through hash calculation. Since the monitoring data measured by each monitoring device itself is different, and the enumeration time of different boards is also different, therefore, the data set composed of monitoring data and enumeration time is unique for each monitoring device. Using the monitoring data and enumeration time as seeds, that is, as the input of the hash operation, a globally unique identification code can be obtained.
  • each of the multiple monitoring devices corresponds to a different identification code.
  • the hash operation may be performed by a microprocessor provided on the board to generate the identification code.
  • the embodiments of the present disclosure are not limited thereto, and the hash operation may also be performed by other applicable firmware or hardware on the board.
  • monitoring data can be expressed as D0, D1,...,Dn, where D0, D1,...,Dn can represent multiple values obtained by multiple sampling for the same type of parameters, or can refer to different types of parameters
  • D0, D1,...,Dn can represent multiple values obtained by multiple sampling for the same type of parameters, or can refer to different types of parameters
  • the numerical values obtained by sampling separately may be determined according to actual requirements, which is not limited in the embodiments of the present disclosure.
  • UDID Hash( ⁇ T, D0, D1, . . . , Dn ⁇ ).
  • the parameter types of the monitoring data used for calculation are the same. That is, assuming that multiple monitoring devices include a first monitoring device and a second monitoring device, if the voltage value measured by the first monitoring device is used when calculating the identification code of the first monitoring device, then the identification code of the second monitoring device is calculated The voltage value measured by the second monitoring device also needs to be used; if the temperature value measured by the first monitoring device is used when calculating the identification code of the first monitoring device, the second monitoring device also needs to be used when calculating the identification code of the second monitoring device. The temperature value measured by the device. Therefore, the calculation results for different monitoring devices can have the same or similar precision and accuracy.
  • the monitoring data is not limited to voltage parameters and temperature parameters, and can also be other types of parameters, such as power parameters, frequency parameters, current parameters, etc., and the usual PVT data can be used as monitoring data , which is not limited by the embodiments of the present disclosure.
  • the algorithm used to calculate the identification code is not limited to the hash algorithm, and other types of algorithms can also be used, as long as the corresponding code can be generated based on the monitoring data and enumeration time as the identification code, which can be determined according to actual needs. Embodiments of the present disclosure do not limit this.
  • the above step S120 may include: taking the enumeration time of the board as input, performing calculations using a hash algorithm to obtain a calculation result, and using the calculation result as an identification code of the monitoring device. Since there is only one monitoring device on the board, there is no need to distinguish multiple monitoring devices within the board, so the enumeration time of the board is unique to the monitoring device. Using the enumeration time as the seed, that is, as the input of the hash operation, a globally unique identification code can be obtained for subsequent address encoding.
  • Fig. 4 is a schematic flowchart of another monitoring device address management method provided by some embodiments of the present disclosure. As shown in FIG. 4, in some embodiments, in addition to steps S110 and S120, the method may further include step S130. Steps S110 and S120 in the method provided in this embodiment are basically the same as steps S110 and S120 in the method shown in FIG. 2 , and will not be repeated here.
  • Step S130 Send the identification code of the monitoring device to the BMC of the management board through the system management bus, so that the BMC performs address encoding based on the identification code to generate the address of the monitoring device.
  • the identification code may be sent to the baseboard management controller that manages the board to which the monitoring device belongs via the SMbus.
  • the baseboard management controller can address the identification code according to the ARP protocol in the SMbus protocol to obtain the address of the monitoring device.
  • the SMbus-based communication mode between the monitoring device and the BMC, the specific addressing mode based on the ARP protocol, etc. can refer to conventional designs, and will not be repeated here.
  • the identification code of the monitoring device can be dynamically generated. This method does not need to modify the hardware, and does not need to set additional pull-up and pull-down resistors. Moreover, the identification code is not obtained based on the random number generation function, so the microprocessor on the board is not required to have the random number generation function.
  • the identification code of the monitoring device is processed and generated, which can effectively reduce the probability of code collision and reduce product costs.
  • FIG. 5A is one of the application flowcharts of the monitoring device address management method provided by some embodiments of the present disclosure.
  • the application process for generating an identification code based on enumeration time and monitoring data will be briefly described below in conjunction with FIG. 5A .
  • the electronic device is powered on, that is, power is supplied to the electronic device to start working.
  • the PCI-e board or PCI board
  • the microprocessor on the board determines if the enumeration is complete. If the enumeration is completed, record the enumeration time T1. If the enumeration is not completed, continue to wait and continue to judge whether to complete the enumeration after a predetermined time interval.
  • FIG. 5B is the second application flowchart of the monitoring device address management method provided by some embodiments of the present disclosure.
  • the application flow of generating an identification code based on the enumeration time will be briefly described below in conjunction with FIG. 5B .
  • the electronic device is powered on, that is, power is supplied to the electronic device to start working.
  • the PCI-e board or PCI board
  • the microprocessor on the board determines if the enumeration is complete. If the enumeration is completed, record the enumeration time T2. If the enumeration is not completed, continue to wait and continue to judge whether to complete the enumeration after a predetermined time interval.
  • FIG. 5A and FIG. 5B is only exemplary and not restrictive. In actual operation, other operation steps can also be added to the process, or the execution of the operation process can be adjusted. The sequence may be determined according to actual requirements, which is not limited in the embodiments of the present disclosure.
  • At least one embodiment of the present disclosure further provides a monitoring device address management method for a baseboard management controller.
  • the baseboard management controller is configured to manage at least one monitoring device located on at least one board based on the system management bus.
  • the method is for example used in the electronic equipment shown in FIG. 1 , and the baseboard management controller implements the method by running the SMbus controller.
  • the method includes the following operations.
  • Step S210 receiving the identification code of the monitoring device, the identification code is generated based on the enumeration time of the board to which the monitoring device belongs;
  • Step S220 Based on the identification code, perform address encoding to generate the address of the monitoring device.
  • the identification code of the monitoring device may be received through a bus protocol between the monitoring device and the baseboard management controller.
  • the identification code may be obtained through the methods shown in FIGS. 2 to 4 , that is, based on the enumeration time of the board, or based on the enumeration time and monitoring data of the monitoring device.
  • the above step S210 may include: receiving the identification code of the monitoring device through a system management bus (SMbus). Since the baseboard management controller manages the monitoring device based on the SMbus, receiving the identification code based on the SMbus can improve efficiency. For example, when the baseboard management controller manages multiple boards, since the boards are enumerated sequentially, each board in the multiple boards corresponds to a different enumeration time, so that based on the enumeration The identification codes generated at different times can be different from each other.
  • SMbus system management bus
  • step S220 after receiving the identification code, the baseboard management controller performs address encoding according to the identification code, so as to generate the address of the corresponding monitoring device.
  • the baseboard management controller may perform address encoding on the identification code according to the ARP protocol in the SMbus protocol.
  • the BMC can manage and operate the monitoring device according to the address.
  • an identification code of the monitoring device can be generated and an address of the monitoring device can be generated based on the identification code.
  • the method provided by the embodiment of the present disclosure does not need to modify the hardware, does not need to set additional pull-up and pull-down resistors, and does not require the microprocessor on the board to have a random number. number generation function.
  • the method can be used in a symmetrical multi-device system, and can effectively reduce the probability of code collision and reduce product costs.
  • At least one embodiment of the present disclosure further provides a monitoring device address management device.
  • the device can dynamically generate the identification code of the monitoring device without modifying the hardware and without the random number generation function of the microprocessor on the board, which can effectively reduce the probability of code collision and reduce product cost.
  • Fig. 7 is a schematic block diagram of a monitoring device address management device provided by some embodiments of the present disclosure.
  • the monitoring device address management apparatus 10 may be used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus.
  • the monitoring device address management device 10 includes an enumeration time acquisition unit 11 and an identification code generation unit 12 .
  • the enumeration time acquiring unit 11 is configured to acquire the enumeration time of the board. For example, the enumeration time acquiring unit 11 may execute step S110 of the monitoring device address management method as shown in FIG. 2 and FIG. 4 .
  • the identification code generation unit 12 is configured to generate an identification code of the monitoring device based on the enumeration time, so as to be used for address coding of the monitoring device. For example, the identification code generating unit 12 may execute step S120 of the monitoring device address management method shown in FIG. 2 and FIG. 4 .
  • the enumeration time acquisition unit 11 and the identification code generation unit 12 can be implemented as a microprocessor or a thread in the microprocessor, and the microprocessor is arranged on the board, so that the monitoring device on the board can be obtained through the above operations the identification code for .
  • the enumeration time obtaining unit 11 and the identification code generating unit 12 may be hardware, software, firmware and any feasible combination thereof.
  • the enumeration time obtaining unit 11 and the identification code generating unit 12 may be dedicated or general-purpose circuits, chips or devices, or may be a combination of a processor and a memory. Embodiments of the present disclosure do not limit the specific implementation forms of the enumeration time acquisition unit 11 and the identification code generation unit 12 .
  • each unit of the monitoring device address management device 10 corresponds to each step of the aforementioned monitoring device address management method, and the specific functions of the monitoring device address management device 10 can refer to the above monitoring The related description of the device address management method will not be repeated here.
  • the components and structure of the monitoring device address management apparatus 10 shown in FIG. 7 are exemplary rather than limiting.
  • the monitoring device address management apparatus 10 may also include other components and structures as required.
  • At least one embodiment of the present disclosure further provides a baseboard management controller.
  • the baseboard management controller can perform address coding according to the identification code generated by using the enumeration time of the board, without modifying the hardware, and without requiring the microprocessor on the board to have a random number generation function, which can effectively reduce the probability of code collision and reduce the Product Cost.
  • Fig. 8 is a schematic block diagram of a baseboard management controller provided by some embodiments of the present disclosure.
  • the baseboard management controller 20 is configured to manage at least one monitoring device located on at least one board based on the system management bus.
  • the baseboard management controller 20 includes an identification code acquisition unit 21 and an address generation unit 22 .
  • the identification code obtaining unit 21 is configured to receive the identification code of the monitoring device. For example, the identification code is generated based on the enumeration time of the board to which the monitoring device belongs. For example, the identification code acquiring unit 21 may execute step S210 of the monitoring device address management method shown in FIG. 6 .
  • the address generating unit 22 is configured to perform address encoding based on the identification code, and generate the address of the monitoring device. For example, the address generating unit 22 may execute step S220 of the monitoring device address management method shown in FIG. 6 .
  • the identification code acquisition unit 21 and the address generation unit 22 can be implemented as modules or threads in the baseboard management controller 20, and the baseboard management controller 20 can be a BMC and deployed in electronic devices including boards, so that through the above operations, The address of the monitoring device on the board.
  • the identification code obtaining unit 21 and the address generating unit 22 may be hardware, software, firmware and any feasible combination thereof.
  • the identification code obtaining unit 21 and the address generating unit 22 may be dedicated or general-purpose circuits, chips or devices, or may be a combination of a processor and a memory.
  • the embodiment of the present disclosure does not limit it.
  • each unit of the baseboard management controller 20 corresponds to each step of the aforementioned monitoring device address management method.
  • the specific functions of the baseboard management controller 20 please refer to the above-mentioned monitoring device address The related description of the management method will not be repeated here.
  • the components and structures of the baseboard management controller 20 shown in FIG. 8 are exemplary rather than limiting, and the baseboard management controller 20 may also include other components and structures as required.
  • At least one embodiment of the present disclosure further provides an electronic device, the electronic device includes the above monitoring device address management device or the above baseboard management controller.
  • the electronic device can dynamically generate the identification code of the monitoring device, and perform address coding according to the identification code, without modifying the hardware and without the random number generation function of the microprocessor on the board, which can effectively reduce the probability of code collision and reduce the cost of the product. cost.
  • Fig. 9 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure.
  • the electronic device 30 may include a monitoring device address management device 31 or a baseboard management controller 32 .
  • the monitoring device address management device 31 may be the monitoring device address management device 10 shown in FIG. 7
  • the baseboard management controller 32 may be the baseboard management controller 20 shown in FIG. 8 .
  • the electronic device 30 may include a monitoring device address management device 31 and a baseboard management controller 32 at the same time, so as to generate an identification code of the monitoring device and perform address coding according to the identification code.
  • Fig. 10 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure.
  • an electronic device 40 includes a baseboard management controller 41 and at least one board.
  • multiple board cards PCI-e-1, PCI-e-2, ..., PCI-e-n are shown in the figure, but this does not constitute a limitation to the embodiment of the present disclosure.
  • the electronic device 40 can also Only one board is included.
  • the board included in the electronic device 40 may be a PCI-e board, a PCI board, or a board of other bus types.
  • the baseboard management controller 41 is in communication connection with at least one board.
  • the baseboard management controller 41 may be a BMC, and communicates with the board based on a system management bus (SMbus), for example, communicates with a monitoring device (PVT device) provided on the board.
  • SMbus system management bus
  • PVT device monitoring device
  • each board includes a microprocessor and at least one monitoring device.
  • board PCI-e-1 includes microprocessor MPU1 and monitoring device PVT-1
  • board card PCI-e-2 includes microprocessor MPU2 and monitoring device PVT-2
  • the board PCI-e-n includes a microprocessor MPUn and a monitoring device PVT-n.
  • the monitoring device is configured to sense a parameter reflecting the operating state of the board.
  • the monitoring device PVT-1 senses the parameter reflecting the running state of the board PCI-e-1
  • the monitoring device PVT-2 senses the parameter reflecting the running state of the board PCI-e-2
  • the parameters are sensed, and so on, the monitoring device PVT-n senses the parameters reflecting the running state of the board card PCI-e-n. These parameters may include voltage parameters and/or temperature parameters.
  • the microprocessor is configured to obtain the enumeration time of the board and generate an identification code of the monitoring device based on the enumeration time.
  • microprocessor MPU1 is configured to obtain the enumeration time of board PCI-e-1, and generates the identification code of monitoring device PVT-1 based on enumeration time
  • Microprocessor MPU2 configuration In order to obtain the enumeration time of the board PCI-e-2, and generate the identification code of the monitoring device PVT-2 based on the enumeration time
  • the microprocessor MPUn is configured to obtain the enumeration time of the board PCI-e-n, and based on the enumeration time Time generates the identification code of the monitoring device PVT-n.
  • the enumeration time can be used as the input of the hash operation, and the result of the hash operation can be used as the identification code.
  • the data set composed of the enumeration time and the monitoring data of the monitoring device may also be used as the input of the hash operation, and the result of the hash operation may be used as the identification code.
  • the parameter types of the monitoring data used for calculation of each board are the same.
  • the monitoring data includes voltage parameters and/or temperature parameters, that is, when the monitoring data includes voltage values and/or temperature values
  • a plurality of boards include a first board and a second board, if the calculation of the first board
  • the voltage value measured by the monitoring device is used when the identification code of a monitoring device on the second board is used, and the voltage value measured by the monitoring device is also used when calculating the identification code of a monitoring device on the second board;
  • the temperature value measured by the monitoring device is used for the identification code of a monitoring device on a board, and the temperature value measured by the monitoring device is also used when calculating the identification code of a monitoring device on the second board. Therefore, the calculation results for the monitoring devices on different boards can have the same or similar precision and accuracy.
  • the parameter types of the monitoring data used for calculation are also the same.
  • the baseboard management controller 41 is configured to receive the identification code of the monitoring device, and perform address encoding based on the identification code to generate the address of the monitoring device.
  • the baseboard management controller 41 can perform address encoding on the identification code according to the ARP protocol in the SMbus protocol, so as to obtain the addresses of each monitoring device PVT-1, PVT-2, . . . , PVT-n.
  • the components and structures of the electronic device 40 are only exemplary rather than limiting, and the electronic device 40 may also include other components and structures as required.
  • the electronic device 40 may also include other components and structures as required.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A monitoring device address management method and apparatus, a baseboard management controller, and an electronic device. The monitoring device address management method is used for a board comprising at least one monitoring device. The monitoring device manages on the basis of a system management bus. The method comprises: obtaining an enumeration time of the board; and generating an identification code of the monitoring device on the basis of the enumeration time for address geocoding of the monitoring device. According to the method, the identification code of the monitoring device can be dynamically generated, hardware does not need to be modified, a microprocessor on the board does not need to have a random number generation function, the code overlapping probability can be effectively reduced, and the product cost is reduced.

Description

监测器件地址管理方法及装置、基板管理控制器、设备Monitoring device address management method and device, substrate management controller, and equipment 技术领域technical field
本公开的实施例涉及一种监测器件地址管理方法及装置、基板管理控制器、电子设备。Embodiments of the present disclosure relate to a monitoring device address management method and device, a baseboard management controller, and electronic equipment.
背景技术Background technique
计算机或服务器通常支持通过主板自带的插槽扩展外设,例如网卡、音频卡、采样卡、密码卡等。这些扩展外设通常设计为板卡的形式,板卡可以被插入计算机或服务器提供的插槽中,通过使板卡与计算机或服务器的控制部件建立通信连接,可以使计算机或服务器使用板卡提供的硬件资源,从而实现硬件扩展。Computers or servers usually support the expansion of peripherals through the slots on the motherboard, such as network cards, audio cards, sampling cards, password cards, etc. These expansion peripherals are usually designed in the form of boards. The boards can be inserted into the slots provided by the computer or server. By establishing a communication connection between the board and the control components of the computer or server, the computer or server can use the board to provide hardware resources to achieve hardware expansion.
发明内容Contents of the invention
本公开至少一个实施例提供一种监测器件地址管理方法,用于包括至少一个监测器件的板卡,所述监测器件基于系统管理总线进行管理,所述方法包括:获取所述板卡的枚举时间;基于所述枚举时间,生成所述监测器件的标识码,以用于所述监测器件的地址编码。At least one embodiment of the present disclosure provides a monitoring device address management method, which is used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus. The method includes: obtaining an enumeration of the board time: based on the enumeration time, generate an identification code of the monitoring device to be used for address coding of the monitoring device.
例如,在本公开一实施例提供的方法中,基于所述枚举时间,生成所述监测器件的标识码,包括:获取所述至少一个监测器件中每个监测器件的监测数据;对于每个监测器件,根据所述监测数据和所述板卡的枚举时间,生成所述监测器件的标识码。For example, in the method provided in an embodiment of the present disclosure, generating the identification code of the monitoring device based on the enumeration time includes: acquiring monitoring data of each monitoring device in the at least one monitoring device; The monitoring device generates an identification code of the monitoring device according to the monitoring data and the enumeration time of the board.
例如,在本公开一实施例提供的方法中,对于每个监测器件,根据所述监测数据和所述板卡的枚举时间,生成所述监测器件的标识码,包括:将所述监测数据和所述枚举时间作为输入,采用哈希算法进行计算并得到计算结果,将所述计算结果作为所述监测器件的标识码。For example, in the method provided in an embodiment of the present disclosure, for each monitoring device, generating the identification code of the monitoring device according to the monitoring data and the enumeration time of the board includes: converting the monitoring data to and the enumeration time as input, use a hash algorithm to calculate and obtain a calculation result, and use the calculation result as the identification code of the monitoring device.
例如,在本公开一实施例提供的方法中,所述监测数据包括电压参数和温度参数中的至少一种。For example, in the method provided by an embodiment of the present disclosure, the monitoring data includes at least one of a voltage parameter and a temperature parameter.
例如,在本公开一实施例提供的方法中,所述板卡包括多个监测器件,针对所述多个监测器件中的每一个监测器件,进行所述计算所采用的监测数 据的参数类型相同。For example, in the method provided in an embodiment of the present disclosure, the board includes a plurality of monitoring devices, and for each monitoring device in the plurality of monitoring devices, the parameters of the monitoring data used for the calculation are of the same type .
例如,在本公开一实施例提供的方法中,所述多个监测器件中的每一个监测器件分别对应于不同的标识码。For example, in the method provided in an embodiment of the present disclosure, each monitoring device in the plurality of monitoring devices corresponds to a different identification code.
例如,在本公开一实施例提供的方法中,所述板卡包括一个监测器件,基于所述枚举时间,生成所述监测器件的标识码,包括:将所述板卡的枚举时间作为输入,采用哈希算法进行计算并得到计算结果,将所述计算结果作为所述监测器件的标识码。For example, in the method provided in an embodiment of the present disclosure, the board includes a monitoring device, and generating the identification code of the monitoring device based on the enumeration time includes: taking the enumeration time of the board as Input, use the hash algorithm to calculate and obtain the calculation result, and use the calculation result as the identification code of the monitoring device.
例如,本公开一实施例提供的方法还包括:将所述监测器件的标识码通过所述系统管理总线发送至管理所述板卡的基板管理控制器,以使所述基板管理控制器基于所述标识码进行地址编码而生成所述监测器件的地址。For example, the method provided by an embodiment of the present disclosure further includes: sending the identification code of the monitoring device to a baseboard management controller that manages the board through the system management bus, so that the baseboard management controller Address encoding is performed on the identification code to generate the address of the monitoring device.
例如,在本公开一实施例提供的方法中,所述板卡包括外设部件互连板卡或外设部件互连高速板卡。For example, in the method provided in an embodiment of the present disclosure, the board includes a peripheral component interconnection board or a peripheral component interconnection high-speed board.
例如,在本公开一实施例提供的方法中,所述板卡连接至主机,所述枚举时间为所述板卡基于外设部件互连总线或外设部件互连高速总线被所述主机枚举的时间。For example, in the method provided in an embodiment of the present disclosure, the board is connected to the host, and the enumeration time is that the board is passed by the host based on the peripheral component interconnection bus or the peripheral component interconnection high-speed bus. Enumeration time.
例如,在本公开一实施例提供的方法中,所述监测器件包括传感器,所述传感器配置为对反映所述板卡的运行状态的参数进行感测。For example, in the method provided in an embodiment of the present disclosure, the monitoring device includes a sensor configured to sense a parameter reflecting an operating state of the board.
本公开至少一个实施例提供一种监测器件地址管理方法,用于基板管理控制器,其中,所述基板管理控制器配置为基于系统管理总线对位于至少一个板卡上的至少一个监测器件进行管理,所述方法包括:接收所述监测器件的标识码,其中,所述标识码基于所述监测器件所属的板卡的枚举时间生成;以及基于所述标识码,进行地址编码,生成所述监测器件的地址。At least one embodiment of the present disclosure provides a monitoring device address management method for a baseboard management controller, wherein the baseboard management controller is configured to manage at least one monitoring device located on at least one board based on a system management bus , the method includes: receiving the identification code of the monitoring device, wherein the identification code is generated based on the enumeration time of the board to which the monitoring device belongs; and based on the identification code, performing address encoding to generate the Monitor the address of the device.
例如,在本公开一实施例提供的方法中,接收所述监测器件的标识码包括:通过所述系统管理总线接收所述监测器件的标识码。For example, in the method provided in an embodiment of the present disclosure, receiving the identification code of the monitoring device includes: receiving the identification code of the monitoring device through the system management bus.
例如,在本公开一实施例提供的方法中,所述至少一个板卡为多个板卡,所述多个板卡中的每一个板卡分别对应于不同的枚举时间。For example, in the method provided in an embodiment of the present disclosure, the at least one board is a plurality of boards, and each board in the plurality of boards corresponds to a different enumeration time.
本公开至少一个实施例提供一种监测器件地址管理装置,用于包括至少一个监测器件的板卡,所述监测器件基于系统管理总线进行管理,所述装置包括:枚举时间获取单元,配置为获取所述板卡的枚举时间;标识码生成单元,配置为基于所述枚举时间,生成所述监测器件的标识码,以用于所述监测器件的地址编码。At least one embodiment of the present disclosure provides a monitoring device address management device, which is used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus. The device includes: an enumeration time acquisition unit configured to Obtaining the enumeration time of the board; an identification code generation unit configured to generate an identification code of the monitoring device based on the enumeration time, to be used for address coding of the monitoring device.
本公开至少一个实施例提供一种基板管理控制器,配置为基于系统管理总线对位于至少一个板卡上的至少一个监测器件进行管理,其中,所述基板管理控制器包括:标识码获取单元,配置为接收所述监测器件的标识码,其中,所述标识码基于所述监测器件所属的板卡的枚举时间生成;以及地址生成单元,配置为基于所述标识码,进行地址编码,生成所述监测器件的地址。At least one embodiment of the present disclosure provides a baseboard management controller configured to manage at least one monitoring device located on at least one board based on a system management bus, wherein the baseboard management controller includes: an identification code acquisition unit, It is configured to receive the identification code of the monitoring device, wherein the identification code is generated based on the enumeration time of the board to which the monitoring device belongs; and the address generating unit is configured to perform address encoding based on the identification code and generate The address of the monitoring device.
本公开至少一个实施例提供一种电子设备,包括本公开任一实施例提供的监测器件地址管理装置或基板管理控制器。At least one embodiment of the present disclosure provides an electronic device, including the monitoring device address management device or the baseboard management controller provided by any embodiment of the present disclosure.
本公开至少一个实施例提供一种电子设备,包括基板管理控制器和至少一个板卡,其中,所述基板管理控制器与所述至少一个板卡通信连接,每个板卡包括微处理器和至少一个监测器件;所述微处理器配置为获取所述板卡的枚举时间,并基于所述枚举时间生成所述监测器件的标识码;所述监测器件配置为对反映所述板卡的运行状态的参数进行感测;所述基板管理控制器配置为接收所述监测器件的标识码,并基于所述标识码进行地址编码,生成所述监测器件的地址。At least one embodiment of the present disclosure provides an electronic device, including a baseboard management controller and at least one board, wherein the baseboard management controller is communicatively connected to the at least one board, and each board includes a microprocessor and At least one monitoring device; the microprocessor is configured to obtain the enumeration time of the board, and generate an identification code of the monitoring device based on the enumeration time; the monitoring device is configured to reflect the board The baseboard management controller is configured to receive the identification code of the monitoring device, perform address encoding based on the identification code, and generate the address of the monitoring device.
附图说明Description of drawings
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。In order to illustrate the technical solutions of the embodiments of the present disclosure more clearly, the accompanying drawings of the embodiments will be briefly introduced below. Obviously, the accompanying drawings in the following description only relate to some embodiments of the present disclosure, rather than limiting the present disclosure .
图1为一种电子设备的示意框图;Fig. 1 is a schematic block diagram of an electronic device;
图2为本公开一些实施例提供的一种监测器件地址管理方法的流程示意图;FIG. 2 is a schematic flowchart of a monitoring device address management method provided by some embodiments of the present disclosure;
图3为图2中步骤S120的示例性流程图;FIG. 3 is an exemplary flowchart of step S120 in FIG. 2;
图4为本公开一些实施例提供的另一种监测器件地址管理方法的流程示意图;FIG. 4 is a schematic flowchart of another monitoring device address management method provided by some embodiments of the present disclosure;
图5A为本公开一些实施例提供的监测器件地址管理方法的应用流程图之一;FIG. 5A is one of the application flowcharts of the monitoring device address management method provided by some embodiments of the present disclosure;
图5B为本公开一些实施例提供的监测器件地址管理方法的应用流程图之二;FIG. 5B is the second application flowchart of the monitoring device address management method provided by some embodiments of the present disclosure;
图6为本公开一些实施例提供的一种监测器件地址管理方法的流程示意图;FIG. 6 is a schematic flowchart of a monitoring device address management method provided by some embodiments of the present disclosure;
图7为本公开一些实施例提供的一种监测器件地址管理装置的示意框图;Fig. 7 is a schematic block diagram of a monitoring device address management device provided by some embodiments of the present disclosure;
图8为本公开一些实施例提供的一种基板管理控制器的示意框图;Fig. 8 is a schematic block diagram of a baseboard management controller provided by some embodiments of the present disclosure;
图9为本公开一些实施例提供的一种电子设备的示意框图;以及Fig. 9 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure; and
图10为本公开一些实施例提供的另一种电子设备的示意框图。Fig. 10 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure.
具体实施方式Detailed ways
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present disclosure. Apparently, the described embodiments are some of the embodiments of the present disclosure, not all of them. Based on the described embodiments of the present disclosure, all other embodiments obtained by persons of ordinary skill in the art without creative effort fall within the protection scope of the present disclosure.
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。Unless otherwise defined, the technical terms or scientific terms used in the present disclosure shall have the usual meanings understood by those skilled in the art to which the present disclosure belongs. "First", "second" and similar words used in the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. Likewise, words like "a", "an" or "the" do not denote a limitation of quantity, but mean that there is at least one. "Comprising" or "comprising" and similar words mean that the elements or items appearing before the word include the elements or items listed after the word and their equivalents, without excluding other elements or items. Words such as "connected" or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "Down", "Left", "Right" and so on are only used to indicate the relative positional relationship. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
板卡作为计算机外设的附加硬件设备,广泛应用于计算机领域。板卡采用总线协议与计算机通信,以便于接收计算机发出的控制信号、控制命令等,并且向计算机发出反馈信息。比较常用的用于板卡的总线协议包括外设部件互连(Peripheral Component Interconnect,PCI)总线和外设部件互连高速(Peripheral Component Interconnect Express,PCI-e)总线,相应的板卡被称为PCI板卡、PCI-e板卡。在PCI板卡、PCI-e板卡上可以设置一个或多个监测器件,这些监测器件可以对板卡的运行状态进行监控,从而便于计算机管理这些板卡。As an additional hardware device for computer peripherals, boards are widely used in the computer field. The board uses the bus protocol to communicate with the computer, so as to receive control signals and control commands from the computer, and send feedback information to the computer. The more commonly used bus protocols for boards include Peripheral Component Interconnect (PCI) bus and Peripheral Component Interconnect Express (PCI-e) bus, and the corresponding boards are called PCI board, PCI-e board. One or more monitoring devices can be set on the PCI board or the PCI-e board, and these monitoring devices can monitor the running status of the boards, so as to facilitate computer management of these boards.
图1为一种电子设备的示意框图。如图1所示,在该电子设备中,主机01与多个PCI-e板卡连接。例如,主机01可以为通常的计算机或服务器, 其提供多个插槽以便于与PCI-e板卡连接,从而实现硬件扩展。在该示例中,多个板卡PCI-e-1、PCI-e-2、…、PCI-e-n通过PCI-e桥(PCI-e Bridge)与主机01通信连接。PCI-e桥通常可以集成在主机01的南桥芯片或北桥芯片中。板卡PCI-e-1、PCI-e-2、…、PCI-e-n基于PCI-e总线与主机01之间进行数据传输。需要说明的是,虽然该示例以PCI-e板卡为例进行说明,本领域技术人员可以理解,也可以采用PCI板卡,本公开的实施例对此不作限制。Fig. 1 is a schematic block diagram of an electronic device. As shown in FIG. 1 , in the electronic device, a host 01 is connected to multiple PCI-e boards. For example, the host 01 may be a common computer or server, which provides multiple slots for easy connection with PCI-e boards, so as to realize hardware expansion. In this example, a plurality of boards PCI-e-1, PCI-e-2, ..., PCI-e-n communicate with the host 01 through a PCI-e bridge (PCI-e Bridge). The PCI-e bridge can usually be integrated in the south bridge chip or the north bridge chip of the host 01. Board cards PCI-e-1, PCI-e-2,..., PCI-e-n perform data transmission between the host 01 and the PCI-e bus. It should be noted that although this example uses a PCI-e board as an example, those skilled in the art can understand that a PCI board can also be used, which is not limited in the embodiments of the present disclosure.
例如,板卡PCI-e-1、PCI-e-2、…、PCI-e-n上可以设置一个或多个监测器件,这些监测器件可以对板卡PCI-e-1、PCI-e-2、…、PCI-e-n的运行状态进行监控,以便于管理板卡PCI-e-1、PCI-e-2、…、PCI-e-n。例如,监测器件可以被称为PVT(Process,Voltage and Temperature)器件,可以感测板卡的电压、温度等参数。在图1所示的示例中,每个板卡上设置一个监测器件,例如,板卡PCI-e-1上设置有监测器件PVT-1,板卡PCI-e-2上设置有监测器件PVT-2,以此类推,板卡PCI-e-n上设置有监测器件PVT-n。当然,本公开的实施例不限于此,每个板卡上也可以设置多个监测器件,这可以根据实际需求而定。For example, one or more monitoring devices can be set on the board cards PCI-e-1, PCI-e-2, ..., PCI-e-n, and these monitoring devices can monitor the board cards PCI-e-1, PCI-e-2, ..., PCI-e-n running status monitoring, in order to manage board PCI-e-1, PCI-e-2, ..., PCI-e-n. For example, the monitoring device can be called a PVT (Process, Voltage and Temperature) device, which can sense parameters such as voltage and temperature of the board. In the example shown in Figure 1, a monitoring device is set on each board, for example, the monitoring device PVT-1 is set on the board PCI-e-1, and the monitoring device PVT is set on the board PCI-e-2 -2, and so on, the board card PCI-e-n is provided with a monitoring device PVT-n. Of course, the embodiments of the present disclosure are not limited thereto, and multiple monitoring devices may also be set on each board, which may be determined according to actual needs.
例如,监测器件PVT-1、PVT-2、…、PVT-n通过系统管理总线(System Management Bus,SMbus)与主机01通信,例如与主机01的基板管理控制器(Baseboard Management Controller,BMC)中部署的SMbus控制器通信。例如,监测器件PVT-1、PVT-2、…、PVT-n可以通过SMbus接收来自BMC的控制命令或控制信号,并且将测量得到的数据传输给BMC。SMBus是BMC所广泛采用的总线协议,通常计算机系统中存在多个PCI板卡或PCI-e板卡,其上又包括一个或多个基于SMbus管理的监测器件,以对计算机电源、附件等运行状态进行监控。For example, the monitoring devices PVT-1, PVT-2, ..., PVT-n communicate with the host 01 through the system management bus (System Management Bus, SMbus), for example, in the baseboard management controller (Baseboard Management Controller, BMC) of the host 01 Deployed SMbus controller communication. For example, the monitoring devices PVT-1, PVT-2, . SMBus is a bus protocol widely used by BMC. Usually there are multiple PCI boards or PCI-e boards in the computer system, which also includes one or more monitoring devices based on SMbus management to monitor the computer power supply, accessories, etc. Status is monitored.
例如,当主机01与多个板卡连接且至少部分板卡的类型相同时,为了识别并区分各个板卡上的监测器件,需要对各个监测器件进行地址编码,也即,为各个监测器件分配地址。For example, when the host 01 is connected to multiple boards and at least some of the boards are of the same type, in order to identify and distinguish the monitoring devices on each board, it is necessary to encode the addresses of each monitoring device, that is, assign each monitoring device address.
例如,在一些示例中,可以采用硬件定址的方式来确定地址。例如,在主机箱背板上针对不同PCI-e插槽配置不同的上下拉电阻。在将板卡插入PCI-e插槽后,由于硬件接触而产生电气连接,从而可以确定监测器件的地址。然而,这种方式需要在硬件设计上进行额外考虑,提高了硬件成本,并且,由于依赖于板卡与插槽的电气连接,这种方式可以支持的设备数目受到 物理尺寸、板卡制程等因素的限制。For example, in some examples, hardware addressing may be used to determine the address. For example, configure different pull-up and pull-down resistors for different PCI-e slots on the backplane of the main chassis. After the board is inserted into the PCI-e slot, the electrical connection is made due to the hardware contact, so that the address of the monitoring device can be determined. However, this method requires additional consideration in hardware design, which increases the hardware cost, and because it relies on the electrical connection between the board and the slot, the number of devices that can be supported by this method is limited by factors such as physical size and board manufacturing process. limits.
例如,在另一些示例中,可以采用软件动态分配的方式来确定地址。例如,可以根据SMbus协议中的地址解析协议(Address Resolution Protocol,ARP)来实现地址编码。此时,需要各个监测器件自行提供唯一的标识码(UDID),在确定各个监测器件的标识码之后,根据该标识码来生成地址。然而,ARP协议要求每个监测器件各自提供唯一的标识码,而在对称多设备系统中,即便是采用伪随机数做种子,也有一定概率会出现“撞码”(也即,不同的监测器件的标识码相同)。而且,该方式需要板卡上的微处理器(Microprocessor Unit)具有随机数产生功能,这对板卡的硬件要求较高。For example, in some other examples, the address may be determined by means of software dynamic allocation. For example, the address encoding can be implemented according to the Address Resolution Protocol (Address Resolution Protocol, ARP) in the SMbus protocol. At this time, each monitoring device needs to provide a unique identification code (UDID) by itself, and after the identification code of each monitoring device is determined, an address is generated according to the identification code. However, the ARP protocol requires each monitoring device to provide a unique identification code, and in a symmetric multi-device system, even if a pseudo-random number is used as a seed, there is a certain probability that "code collision" will occur (that is, different monitoring devices with the same identification code). Moreover, this method requires the microprocessor (Microprocessor Unit) on the board to have a random number generation function, which requires relatively high hardware requirements for the board.
上述编址方式,无论是硬件定址的方式,还是基于随机数的软件动态分配方式,都存在局限性,对包含板卡的设备的性能、结构、成本等带来不利影响,无法满足日益增长的需求。The above-mentioned addressing methods, whether it is hardware addressing or random number-based software dynamic allocation, have limitations, which will have adverse effects on the performance, structure, and cost of devices including boards, and cannot meet the growing demands. need.
本公开至少一个实施例提供一种监测器件地址管理方法及装置、基板管理控制器、电子设备。该方法可以动态生成监测器件的标识码,无需对硬件进行修改,无需板卡上的微处理器具备随机数生成功能,可以有效降低撞码概率,降低产品成本。At least one embodiment of the present disclosure provides a monitoring device address management method and device, a baseboard management controller, and electronic equipment. The method can dynamically generate the identification code of the monitoring device without modifying the hardware and without the random number generation function of the microprocessor on the board, which can effectively reduce the probability of code collision and reduce the product cost.
下面,将参考附图详细地说明本公开的实施例。应当注意的是,不同的附图中相同的附图标记将用于指代已描述的相同的元件。Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. It should be noted that the same reference numerals will be used in different drawings to refer to the same elements already described.
本公开至少一个实施例提供一种监测器件地址管理方法。该监测器件地址管理方法用于包括至少一个监测器件的板卡,监测器件基于系统管理总线进行管理。该方法包括:获取板卡的枚举时间;基于枚举时间,生成监测器件的标识码,以用于监测器件的地址编码。At least one embodiment of the present disclosure provides a monitoring device address management method. The monitoring device address management method is used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus. The method includes: obtaining the enumeration time of the board; and generating the identification code of the monitoring device based on the enumeration time, which is used for the address code of the monitoring device.
图2为本公开一些实施例提供的一种监测器件地址管理方法的流程示意图。如图2所示,在一些实施例中,该方法包括如下操作。Fig. 2 is a schematic flowchart of a monitoring device address management method provided by some embodiments of the present disclosure. As shown in Fig. 2, in some embodiments, the method includes the following operations.
步骤S110:获取板卡的枚举时间;Step S110: Obtain the enumeration time of the board;
步骤S120:基于枚举时间,生成监测器件的标识码,以用于监测器件的地址编码。Step S120: Based on the enumeration time, an identification code of the monitoring device is generated for address coding of the monitoring device.
例如,该方法可以用于包括至少一个监测器件的板卡,监测器件基于系统管理总线进行管理。例如,该方法可以用于如图1所示的各个PCI-e板卡以及包含这些PCI-e板卡的电子设备。For example, the method can be applied to a board including at least one monitoring device, and the monitoring device is managed based on a system management bus. For example, the method can be applied to various PCI-e boards as shown in FIG. 1 and electronic equipment including these PCI-e boards.
例如,在步骤S110中,板卡上的微处理器可以获取该板卡的枚举时间。 例如,当该板卡连接至主机01时,也即,该板卡被插入主机01提供的插槽时,若该板卡为PCI板卡或PCI-e板卡,则该板卡会基于PCI总线或PCI-e总线被主机01枚举。这里,枚举时间是指该板卡基于PCI总线或PCI-e总线被主机01枚举的时间,也即进行枚举时主机01中的时间模块所运行的系统时间中对应的时刻。例如,可以采用MSI_CAPABILITY_REGISTER和MSI_CONTROL_REGISTER来实现枚举。在完成枚举之后,可以通过查询PCI-e MSI_CAPABILITY_REGISTER等寄存器的变化来确定枚举时间。关于PCI板卡或PCI-e板卡枚举的具体说明可参考常规设计,此处不再详述。For example, in step S110, the microprocessor on the board can acquire the enumeration time of the board. For example, when the board is connected to the host 01, that is, when the board is inserted into the slot provided by the host 01, if the board is a PCI board or a PCI-e board, the board will be based on PCI bus or PCI-e bus is enumerated by host01. Here, the enumeration time refers to the time when the board is enumerated by the host 01 based on the PCI bus or PCI-e bus, that is, the corresponding moment in the system time run by the time module in the host 01 when performing enumeration. For example, MSI_CAPABILITY_REGISTER and MSI_CONTROL_REGISTER can be used to achieve enumeration. After the enumeration is completed, the enumeration time can be determined by querying the changes in registers such as PCI-e MSI_CAPABILITY_REGISTER. For specific instructions on the enumeration of PCI boards or PCI-e boards, reference may be made to conventional designs, which will not be described in detail here.
例如,在步骤S120中,可以根据枚举时间来生成监测器件的标识码,该标识码可以用于后续监测器件的地址编码。由于各个板卡在PCI总线或PCI-e总线上是依序进行枚举的,并非同时进行枚举,因此每个板卡对应于一个唯一的枚举时间,该枚举时间与板卡具有特定的对应关系,从而可以利用枚举时间来生成监测器件的标识码,使得相应生成的标识码与该板卡上的监测器件具有特定的对应关系,从而使得监测器件的标识码具有唯一性。For example, in step S120, an identification code of the monitoring device may be generated according to the enumeration time, and the identification code may be used for address coding of the subsequent monitoring device. Since each board is enumerated sequentially on the PCI bus or PCI-e bus, not at the same time, each board corresponds to a unique enumeration time, which is related to the specific enumeration time of the board. The corresponding relationship, so that the identification code of the monitoring device can be generated by using the enumeration time, so that the correspondingly generated identification code has a specific corresponding relationship with the monitoring device on the board, so that the identification code of the monitoring device is unique.
例如,在一些示例中,如图3所示,上述步骤S120可以进一步包括如下操作。For example, in some examples, as shown in FIG. 3 , the above step S120 may further include the following operations.
步骤S121:获取至少一个监测器件中每个监测器件的监测数据;Step S121: Obtain monitoring data of each monitoring device in at least one monitoring device;
步骤S122:对于每个监测器件,根据监测数据和板卡的枚举时间,生成监测器件的标识码。Step S122: For each monitoring device, an identification code of the monitoring device is generated according to the monitoring data and the enumeration time of the board.
例如,在步骤S121中,监测器件可以为设置在板卡上的PVT器件,监测器件可以采集得到所属板卡的电压参数和温度参数中的至少一种。监测器件的监测数据是指监测器件采集得到的数据,也可称为PVT数据,相应地,监测数据包括电压参数和温度参数中的至少一种,因此,监测数据可以是电压值、温度值等。例如,在一些示例中,监测器件为传感器,该传感器配置为对反映板卡的运行状态的参数进行感测,这些反映板卡的运行状态的参数包括电压参数和温度参数中的至少一种。例如,可以由板卡上的微处理器来获取监测器件的监测数据。For example, in step S121, the monitoring device may be a PVT device provided on the board, and the monitoring device may collect at least one of voltage parameters and temperature parameters of the board to which it belongs. The monitoring data of the monitoring device refers to the data collected by the monitoring device, which can also be called PVT data. Correspondingly, the monitoring data includes at least one of voltage parameters and temperature parameters. Therefore, the monitoring data can be voltage values, temperature values, etc. . For example, in some examples, the monitoring device is a sensor configured to sense parameters reflecting the operating state of the board, and the parameters reflecting the operating state of the board include at least one of a voltage parameter and a temperature parameter. For example, the monitoring data of the monitoring device can be obtained by the microprocessor on the board.
例如,当板卡上设置一个监测器件时,需要获取该监测器件的监测数据;当板卡上设置有多个监测器件时,需要获取每个监测器件的监测数据。当板卡上设置有多个监测器件时,各个监测器件可以为不同类型的监测器件,以用于得到不同类型的监测数据,或者,各个监测器件可以为相同类型的监测 器件,以用于针对板卡的不同部位或不同信号路径进行监测。For example, when one monitoring device is set on the board, the monitoring data of the monitoring device needs to be obtained; when multiple monitoring devices are set on the board, the monitoring data of each monitoring device needs to be obtained. When multiple monitoring devices are set on the board, each monitoring device can be a different type of monitoring device for obtaining different types of monitoring data, or each monitoring device can be the same type of monitoring device for targeting Different parts of the board or different signal paths are monitored.
例如,在步骤S122中,对于每个监测器件,根据该监测器件的监测数据以及该监测器件所属的板卡的枚举时间,可以生成该监测器件的标识码。例如,标识码可以为预设位数的二进制数,例如,64位、32位、16位、8位或其他任意位数等,本公开的实施例对此不作限制。例如,标识码可以采用整数型、字符型、浮点型等任意类型的数据形式表示,本公开的实施例对此不作限制。For example, in step S122, for each monitoring device, an identification code of the monitoring device may be generated according to the monitoring data of the monitoring device and the enumeration time of the board to which the monitoring device belongs. For example, the identification code may be a binary number with preset digits, for example, 64 digits, 32 digits, 16 digits, 8 digits, or other arbitrary digits, which is not limited in the embodiments of the present disclosure. For example, the identification code may be represented by any type of data such as integer type, character type, floating point type, etc., which is not limited in the embodiments of the present disclosure.
例如,在一个示例中,步骤S122可以包括:将监测数据和枚举时间作为输入,采用哈希算法进行计算并得到计算结果,将计算结果作为监测器件的标识码。哈希算法也可称为散列算法,可以把任意长度的输入通过散列计算变换成固定长度的输出。由于各个监测器件本身测量的监测数据有差异,且不同板卡的枚举时间也有差异,因此,监测数据及枚举时间所组成的数据集合对于每个监测器件而言是唯一的。将监测数据及枚举时间作为种子,也即,作为哈希运算的输入,可以得到全局唯一的标识码。由此使得不同的监测器件对应于不同的标识码,便于后续进行地址编码。当存在多个监测器件时,多个监测器件中的每一个监测器件分别对应于不同的标识码。例如,可以由设置在板卡上的微处理器来进行哈希运算并生成标识码。当然,本公开的实施例不限于此,也可以由板卡上的其他适用的固件或硬件来执行哈希运算。For example, in one example, step S122 may include: taking monitoring data and enumeration time as input, performing calculation by hash algorithm to obtain a calculation result, and using the calculation result as the identification code of the monitoring device. The hash algorithm can also be called a hash algorithm, which can transform an input of any length into a fixed-length output through hash calculation. Since the monitoring data measured by each monitoring device itself is different, and the enumeration time of different boards is also different, therefore, the data set composed of monitoring data and enumeration time is unique for each monitoring device. Using the monitoring data and enumeration time as seeds, that is, as the input of the hash operation, a globally unique identification code can be obtained. As a result, different monitoring devices correspond to different identification codes, which facilitates subsequent address coding. When there are multiple monitoring devices, each of the multiple monitoring devices corresponds to a different identification code. For example, the hash operation may be performed by a microprocessor provided on the board to generate the identification code. Of course, the embodiments of the present disclosure are not limited thereto, and the hash operation may also be performed by other applicable firmware or hardware on the board.
例如,监测数据可以表示为D0,D1,…,Dn,其中,D0,D1,…,Dn可以表示针对同一类型的参数进行多次采样而得到的多个数值,也可以指对于不同类型的参数分别采样而得到的数值,这可以根据实际需求而定,本公开的实施例对此不作限制。For example, monitoring data can be expressed as D0, D1,...,Dn, where D0, D1,...,Dn can represent multiple values obtained by multiple sampling for the same type of parameters, or can refer to different types of parameters The numerical values obtained by sampling separately may be determined according to actual requirements, which is not limited in the embodiments of the present disclosure.
假设枚举时间表示为T,标识码表示为UDID,则哈希运算可以表示为UDID=Hash({T,D0,D1,…,Dn})。需要说明的是,当进行哈希运算时,可以使用D0,D1,…,Dn中的任意一个或多个数值,而不限于使用D0,D1,…,Dn的全部数值,例如UDID=Hash({T,D0}),UDID=Hash({T,D0,D1}),UDID=Hash({T,D1}),UDID=Hash({T,D2,…,Dn})等,这可以根据实际需求而定,本公开的实施例对此不作限制。Assuming that the enumeration time is denoted as T and the identification code is denoted as UDID, then the hash operation can be denoted as UDID=Hash({T, D0, D1, . . . , Dn}). It should be noted that when performing hash operations, any one or more values in D0, D1, ..., Dn can be used, not limited to using all values of D0, D1, ..., Dn, for example, UDID=Hash( {T,D0}), UDID=Hash({T,D0,D1}), UDID=Hash({T,D1}), UDID=Hash({T,D2,...,Dn}), etc., which can be based on It depends on actual requirements, which is not limited in the embodiments of the present disclosure.
例如,当存在多个监测器件时,针对多个监测器件中的每一个监测器件,进行计算所采用的监测数据的参数类型相同。也即是,假设多个监测器件包括第一监测器件和第二监测器件,若计算第一监测器件的标识码时采用了第 一监测器件测量的电压值,则计算第二监测器件的标识码时也需采用第二监测器件测量的电压值;若计算第一监测器件的标识码时采用了第一监测器件测量的温度值,则计算第二监测器件的标识码时也需采用第二监测器件测量的温度值。由此,可以使针对不同监测器件的计算结果具有相同或相近的精度和准确度。For example, when there are multiple monitoring devices, for each of the multiple monitoring devices, the parameter types of the monitoring data used for calculation are the same. That is, assuming that multiple monitoring devices include a first monitoring device and a second monitoring device, if the voltage value measured by the first monitoring device is used when calculating the identification code of the first monitoring device, then the identification code of the second monitoring device is calculated The voltage value measured by the second monitoring device also needs to be used; if the temperature value measured by the first monitoring device is used when calculating the identification code of the first monitoring device, the second monitoring device also needs to be used when calculating the identification code of the second monitoring device. The temperature value measured by the device. Therefore, the calculation results for different monitoring devices can have the same or similar precision and accuracy.
需要说明的是,本公开的实施例中,监测数据不限于电压参数和温度参数,也可以为其他类型的参数,例如功率参数、频率参数、电流参数等,通常的PVT数据均可以作为监测数据,本公开的实施例对此不作限制。用于计算标识码的算法不限于哈希算法,也可以采用其他类型的算法,只需要能够基于监测数据和枚举时间生成相应的编码以作为标识码即可,这可以根据实际需求而定,本公开的实施例对此不作限制。It should be noted that in the embodiments of the present disclosure, the monitoring data is not limited to voltage parameters and temperature parameters, and can also be other types of parameters, such as power parameters, frequency parameters, current parameters, etc., and the usual PVT data can be used as monitoring data , which is not limited by the embodiments of the present disclosure. The algorithm used to calculate the identification code is not limited to the hash algorithm, and other types of algorithms can also be used, as long as the corresponding code can be generated based on the monitoring data and enumeration time as the identification code, which can be determined according to actual needs. Embodiments of the present disclosure do not limit this.
例如,在一些示例中,若板卡上仅设置有一个监测器件,则可以只采用该板卡的枚举时间进行哈希运算,而无需使用该监测器件的监测数据。例如,上述步骤S120可以包括:将板卡的枚举时间作为输入,采用哈希算法进行计算并得到计算结果,将计算结果作为监测器件的标识码。由于板卡上仅有一个监测器件,无需在板卡内对多个监测器件进行区分,因此板卡的枚举时间对于该监测器件而言是唯一的。将枚举时间作为种子,也即,作为哈希运算的输入,可以得到全局唯一的标识码,以便于后续进行地址编码。仍然将枚举时间表示为T,标识码表示为UDID,则哈希运算可以表示为UDID=Hash({T})。通过这种方式,可以简化操作,省略获取监测数据的步骤,从而提高处理效率。For example, in some examples, if only one monitoring device is set on the board, only the enumeration time of the board can be used to perform the hash operation without using the monitoring data of the monitoring device. For example, the above step S120 may include: taking the enumeration time of the board as input, performing calculations using a hash algorithm to obtain a calculation result, and using the calculation result as an identification code of the monitoring device. Since there is only one monitoring device on the board, there is no need to distinguish multiple monitoring devices within the board, so the enumeration time of the board is unique to the monitoring device. Using the enumeration time as the seed, that is, as the input of the hash operation, a globally unique identification code can be obtained for subsequent address encoding. Still denoting the enumeration time as T and the identification code as UDID, the hash operation can be expressed as UDID=Hash({T}). In this way, the operation can be simplified, and the step of acquiring monitoring data can be omitted, thereby improving the processing efficiency.
图4为本公开一些实施例提供的另一种监测器件地址管理方法的流程示意图。如图4所示,在一些实施例中,除了包括步骤S110和S120,该方法还可以包括步骤S130。该实施例提供的方法中的步骤S110和S120与图2所示的方法中的步骤S110和S120基本相同,此处不再赘述。Fig. 4 is a schematic flowchart of another monitoring device address management method provided by some embodiments of the present disclosure. As shown in FIG. 4, in some embodiments, in addition to steps S110 and S120, the method may further include step S130. Steps S110 and S120 in the method provided in this embodiment are basically the same as steps S110 and S120 in the method shown in FIG. 2 , and will not be repeated here.
步骤S130:将监测器件的标识码通过系统管理总线发送至管理板卡的基板管理控制器,以使基板管理控制器基于标识码进行地址编码而生成监测器件的地址。Step S130: Send the identification code of the monitoring device to the BMC of the management board through the system management bus, so that the BMC performs address encoding based on the identification code to generate the address of the monitoring device.
例如,在步骤S130中,由于监测器件基于系统管理总线(SMbus)进行管理,因此可以通过SMbus将标识码发送至管理该监测器件所属板卡的基板管理控制器。基板管理控制器可以根据SMbus协议中的ARP协议来对标识 码进行地址编码,以得到监测器件的地址。例如,监测器件与基板管理控制器之间基于SMbus进行通信的方式、基于ARP协议的具体编址方式等可以参考常规设计,此处不再赘述。For example, in step S130, since the monitoring device is managed based on the system management bus (SMbus), the identification code may be sent to the baseboard management controller that manages the board to which the monitoring device belongs via the SMbus. The baseboard management controller can address the identification code according to the ARP protocol in the SMbus protocol to obtain the address of the monitoring device. For example, the SMbus-based communication mode between the monitoring device and the BMC, the specific addressing mode based on the ARP protocol, etc. can refer to conventional designs, and will not be repeated here.
在本公开的实施例中,通过使用枚举时间或枚举时间与监测数据的数据集合,可以动态生成监测器件的标识码。这种方式不需要对硬件进行修改,不需要额外设置上下拉电阻。而且,标识码并非基于随机数生成功能得到,因此无需板卡上的微处理器具备随机数生成功能。通过将枚举时间或枚举时间与监测数据的数据集合作为种子,加工生成监测器件的标识码,可以有效降低撞码概率,降低产品成本。In the embodiments of the present disclosure, by using the enumeration time or the data set of the enumeration time and the monitoring data, the identification code of the monitoring device can be dynamically generated. This method does not need to modify the hardware, and does not need to set additional pull-up and pull-down resistors. Moreover, the identification code is not obtained based on the random number generation function, so the microprocessor on the board is not required to have the random number generation function. By using the enumeration time or the data set of enumeration time and monitoring data as a seed, the identification code of the monitoring device is processed and generated, which can effectively reduce the probability of code collision and reduce product costs.
图5A为本公开一些实施例提供的监测器件地址管理方法的应用流程图之一。下面结合图5A对基于枚举时间和监测数据生成标识码的应用流程进行简要说明。FIG. 5A is one of the application flowcharts of the monitoring device address management method provided by some embodiments of the present disclosure. The application process for generating an identification code based on enumeration time and monitoring data will be briefly described below in conjunction with FIG. 5A .
首先,使电子设备上电,也即,向电子设备供电以使其开始工作。接着,等待PCI-e板卡(也可以是PCI板卡)被与之连接的主机枚举。然后,板卡上的微处理器判断枚举是否完成。若完成枚举,则记录枚举时间T1。若未完成枚举,则继续等待并在预定时间间隔后继续判断是否完成枚举。First, the electronic device is powered on, that is, power is supplied to the electronic device to start working. Next, wait for the PCI-e board (or PCI board) to be enumerated by the host connected to it. The microprocessor on the board then determines if the enumeration is complete. If the enumeration is completed, record the enumeration time T1. If the enumeration is not completed, continue to wait and continue to judge whether to complete the enumeration after a predetermined time interval.
在完成枚举且记录了枚举时间T1之后,微处理器读取板卡上的监测器件的监测数据(PVT数据)D0,D1,…,Dn。然后,微处理器根据枚举时间T1和监测数据D0,D1,…,Dn进行哈希运算,也即,UDID=Hash({T1,D0,D1,…,Dn}),由此得到该监测器件的标识码UDID。After the enumeration is completed and the enumeration time T1 is recorded, the microprocessor reads the monitoring data (PVT data) D0, D1, . . . , Dn of the monitoring devices on the board. Then, the microprocessor performs a hash operation according to the enumeration time T1 and the monitoring data D0, D1, ..., Dn, that is, UDID=Hash({T1, D0, D1, ..., Dn}), thus obtaining the monitoring Device identification code UDID.
图5B为本公开一些实施例提供的监测器件地址管理方法的应用流程图之二。下面结合图5B对基于枚举时间生成标识码的应用流程进行简要说明。FIG. 5B is the second application flowchart of the monitoring device address management method provided by some embodiments of the present disclosure. The application flow of generating an identification code based on the enumeration time will be briefly described below in conjunction with FIG. 5B .
首先,使电子设备上电,也即,向电子设备供电以使其开始工作。接着,等待PCI-e板卡(也可以是PCI板卡)被与之连接的主机枚举。然后,板卡上的微处理器判断枚举是否完成。若完成枚举,则记录枚举时间T2。若未完成枚举,则继续等待并在预定时间间隔后继续判断是否完成枚举。在完成枚举且记录了枚举时间T2之后,微处理器根据枚举时间T2进行哈希运算,也即,UDID=Hash({T2}),由此得到该监测器件的标识码UDID。First, the electronic device is powered on, that is, power is supplied to the electronic device to start working. Next, wait for the PCI-e board (or PCI board) to be enumerated by the host connected to it. The microprocessor on the board then determines if the enumeration is complete. If the enumeration is completed, record the enumeration time T2. If the enumeration is not completed, continue to wait and continue to judge whether to complete the enumeration after a predetermined time interval. After the enumeration is completed and the enumeration time T2 is recorded, the microprocessor performs a hash operation according to the enumeration time T2, that is, UDID=Hash({T2}), thereby obtaining the identification code UDID of the monitoring device.
需要说明的是,图5A和图5B所示的应用流程仅为示例性的,而非限制性的,在实际操作时,还可以在该流程中加入其它操作步骤,或者调整该操作流程的执行顺序,这可以根据实际需求而定,本公开的实施例对此不作限 制。It should be noted that the application process shown in FIG. 5A and FIG. 5B is only exemplary and not restrictive. In actual operation, other operation steps can also be added to the process, or the execution of the operation process can be adjusted. The sequence may be determined according to actual requirements, which is not limited in the embodiments of the present disclosure.
本公开至少一个实施例还提供一种监测器件地址管理方法,用于基板管理控制器。例如,基板管理控制器配置为基于系统管理总线对位于至少一个板卡上的至少一个监测器件进行管理。该方法例如用于如图1所示的电子设备,基板管理控制器通过运行SMbus控制器来实施该方法。At least one embodiment of the present disclosure further provides a monitoring device address management method for a baseboard management controller. For example, the baseboard management controller is configured to manage at least one monitoring device located on at least one board based on the system management bus. The method is for example used in the electronic equipment shown in FIG. 1 , and the baseboard management controller implements the method by running the SMbus controller.
如图6所示,在一些实施例中,该方法包括如下操作。As shown in Fig. 6, in some embodiments, the method includes the following operations.
步骤S210:接收监测器件的标识码,该标识码基于监测器件所属的板卡的枚举时间生成;Step S210: receiving the identification code of the monitoring device, the identification code is generated based on the enumeration time of the board to which the monitoring device belongs;
步骤S220:基于标识码,进行地址编码,生成监测器件的地址。Step S220: Based on the identification code, perform address encoding to generate the address of the monitoring device.
例如,在步骤S210中,可以通过监测器件与基板管理控制器之间的总线协议来接收监测器件的标识码。该标识码可以是通过如图2至图4所示的方法得到的,也即,基于板卡的枚举时间得到的,或者,基于枚举时间与监测器件的监测数据得到的。For example, in step S210, the identification code of the monitoring device may be received through a bus protocol between the monitoring device and the baseboard management controller. The identification code may be obtained through the methods shown in FIGS. 2 to 4 , that is, based on the enumeration time of the board, or based on the enumeration time and monitoring data of the monitoring device.
例如,上述步骤S210可以包括:通过系统管理总线(SMbus)接收监测器件的标识码。由于基板管理控制器基于SMbus对监测器件进行管理,因此基于SMbus接收标识码可以提高效率。例如,当基板管理控制器对多个板卡进行管理时,由于板卡是依序进行枚举的,因此多个板卡中的每一个板卡分别对应于不同的枚举时间,使得基于枚举时间生成的标识码可以彼此不同。For example, the above step S210 may include: receiving the identification code of the monitoring device through a system management bus (SMbus). Since the baseboard management controller manages the monitoring device based on the SMbus, receiving the identification code based on the SMbus can improve efficiency. For example, when the baseboard management controller manages multiple boards, since the boards are enumerated sequentially, each board in the multiple boards corresponds to a different enumeration time, so that based on the enumeration The identification codes generated at different times can be different from each other.
例如,在步骤S220中,在接收到标识码之后,根据该标识码,基板管理控制器进行地址编码,从而生成相应的监测器件的地址。例如,基板管理控制器可以根据SMbus协议中的ARP协议来对标识码进行地址编码。在得到监测器件的地址之后,基板管理控制器可以根据该地址来对监测器件进行管理和操作。For example, in step S220, after receiving the identification code, the baseboard management controller performs address encoding according to the identification code, so as to generate the address of the corresponding monitoring device. For example, the baseboard management controller may perform address encoding on the identification code according to the ARP protocol in the SMbus protocol. After obtaining the address of the monitoring device, the BMC can manage and operate the monitoring device according to the address.
通过图6所示的方法与图2至图4所示的方法相互配合,可以生成监测器件的标识码并基于该标识码生成监测器件的地址。相比于硬件定址的方式和基于随机数的软件动态分配方式,本公开实施例提供的方法不需要对硬件进行修改,不需要额外设置上下拉电阻,并且无需板卡上的微处理器具备随机数生成功能。该方法可以用于对称多设备系统中,能够有效降低撞码概率,降低产品成本。Through the cooperation of the method shown in FIG. 6 and the methods shown in FIGS. 2 to 4 , an identification code of the monitoring device can be generated and an address of the monitoring device can be generated based on the identification code. Compared with the hardware addressing method and the random number-based software dynamic allocation method, the method provided by the embodiment of the present disclosure does not need to modify the hardware, does not need to set additional pull-up and pull-down resistors, and does not require the microprocessor on the board to have a random number. number generation function. The method can be used in a symmetrical multi-device system, and can effectively reduce the probability of code collision and reduce product costs.
本公开至少一个实施例还提供一种监测器件地址管理装置。该装置可以动态生成监测器件的标识码,无需对硬件进行修改,无需板卡上的微处理器 具备随机数生成功能,可以有效降低撞码概率,降低产品成本。At least one embodiment of the present disclosure further provides a monitoring device address management device. The device can dynamically generate the identification code of the monitoring device without modifying the hardware and without the random number generation function of the microprocessor on the board, which can effectively reduce the probability of code collision and reduce product cost.
图7为本公开一些实施例提供的一种监测器件地址管理装置的示意框图。如图7所示,监测器件地址管理装置10可以用于包括至少一个监测器件的板卡,该监测器件基于系统管理总线进行管理。例如,监测器件地址管理装置10包括枚举时间获取单元11和标识码生成单元12。Fig. 7 is a schematic block diagram of a monitoring device address management device provided by some embodiments of the present disclosure. As shown in FIG. 7 , the monitoring device address management apparatus 10 may be used for a board including at least one monitoring device, and the monitoring device is managed based on a system management bus. For example, the monitoring device address management device 10 includes an enumeration time acquisition unit 11 and an identification code generation unit 12 .
枚举时间获取单元11配置为获取板卡的枚举时间。例如,枚举时间获取单元11可以执行如图2、图4所示的监测器件地址管理方法的步骤S110。标识码生成单元12配置为基于枚举时间,生成监测器件的标识码,以用于监测器件的地址编码。例如,标识码生成单元12可以执行如图2、图4所示的监测器件地址管理方法的步骤S120。The enumeration time acquiring unit 11 is configured to acquire the enumeration time of the board. For example, the enumeration time acquiring unit 11 may execute step S110 of the monitoring device address management method as shown in FIG. 2 and FIG. 4 . The identification code generation unit 12 is configured to generate an identification code of the monitoring device based on the enumeration time, so as to be used for address coding of the monitoring device. For example, the identification code generating unit 12 may execute step S120 of the monitoring device address management method shown in FIG. 2 and FIG. 4 .
例如,枚举时间获取单元11和标识码生成单元12可以实现为微处理器或者微处理器中的线程,该微处理器设置在板卡上,从而通过上述操作得到该板卡上的监测器件的标识码。需要说明的是,枚举时间获取单元11和标识码生成单元12可以为硬件、软件、固件以及它们的任意可行的组合。例如,枚举时间获取单元11和标识码生成单元12可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于枚举时间获取单元11和标识码生成单元12的具体实现形式,本公开的实施例对此不作限制。For example, the enumeration time acquisition unit 11 and the identification code generation unit 12 can be implemented as a microprocessor or a thread in the microprocessor, and the microprocessor is arranged on the board, so that the monitoring device on the board can be obtained through the above operations the identification code for . It should be noted that the enumeration time obtaining unit 11 and the identification code generating unit 12 may be hardware, software, firmware and any feasible combination thereof. For example, the enumeration time obtaining unit 11 and the identification code generating unit 12 may be dedicated or general-purpose circuits, chips or devices, or may be a combination of a processor and a memory. Embodiments of the present disclosure do not limit the specific implementation forms of the enumeration time acquisition unit 11 and the identification code generation unit 12 .
需要说明的是,本公开的实施例中,监测器件地址管理装置10的各个单元与前述的监测器件地址管理方法的各个步骤对应,关于该监测器件地址管理装置10的具体功能可以参考上文中监测器件地址管理方法的相关描述,此处不再赘述。图7所示的监测器件地址管理装置10的组件和结构只是示例性的,而非限制性的,根据需要,该监测器件地址管理装置10还可以包括其他组件和结构。It should be noted that, in the embodiment of the present disclosure, each unit of the monitoring device address management device 10 corresponds to each step of the aforementioned monitoring device address management method, and the specific functions of the monitoring device address management device 10 can refer to the above monitoring The related description of the device address management method will not be repeated here. The components and structure of the monitoring device address management apparatus 10 shown in FIG. 7 are exemplary rather than limiting. The monitoring device address management apparatus 10 may also include other components and structures as required.
本公开至少一个实施例还提供一种基板管理控制器。该基板管理控制器可以根据利用板卡的枚举时间生成的标识码进行地址编码,无需对硬件进行修改,无需板卡上的微处理器具备随机数生成功能,可以有效降低撞码概率,降低产品成本。At least one embodiment of the present disclosure further provides a baseboard management controller. The baseboard management controller can perform address coding according to the identification code generated by using the enumeration time of the board, without modifying the hardware, and without requiring the microprocessor on the board to have a random number generation function, which can effectively reduce the probability of code collision and reduce the Product Cost.
图8为本公开一些实施例提供的一种基板管理控制器的示意框图。如图8所示,基板管理控制器20配置为基于系统管理总线对位于至少一个板卡上的至少一个监测器件进行管理。例如,基板管理控制器20包括标识码获取单元21和地址生成单元22。Fig. 8 is a schematic block diagram of a baseboard management controller provided by some embodiments of the present disclosure. As shown in FIG. 8 , the baseboard management controller 20 is configured to manage at least one monitoring device located on at least one board based on the system management bus. For example, the baseboard management controller 20 includes an identification code acquisition unit 21 and an address generation unit 22 .
标识码获取单元21配置为接收监测器件的标识码。例如,标识码基于监测器件所属的板卡的枚举时间生成。例如,标识码获取单元21可以执行如图6所示的监测器件地址管理方法的步骤S210。地址生成单元22配置为基于标识码,进行地址编码,生成监测器件的地址。例如,地址生成单元22可以执行如图6所示的监测器件地址管理方法的步骤S220。The identification code obtaining unit 21 is configured to receive the identification code of the monitoring device. For example, the identification code is generated based on the enumeration time of the board to which the monitoring device belongs. For example, the identification code acquiring unit 21 may execute step S210 of the monitoring device address management method shown in FIG. 6 . The address generating unit 22 is configured to perform address encoding based on the identification code, and generate the address of the monitoring device. For example, the address generating unit 22 may execute step S220 of the monitoring device address management method shown in FIG. 6 .
例如,标识码获取单元21和地址生成单元22可以实现为基板管理控制器20中的模块或线程,基板管理控制器20可以为BMC并且部署在包括板卡的电子设备中,从而通过上述操作得到板卡上的监测器件的地址。需要说明的是,标识码获取单元21和地址生成单元22可以为硬件、软件、固件以及它们的任意可行的组合。例如,标识码获取单元21和地址生成单元22可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于标识码获取单元21和地址生成单元22的具体实现形式,本公开的实施例对此不作限制。For example, the identification code acquisition unit 21 and the address generation unit 22 can be implemented as modules or threads in the baseboard management controller 20, and the baseboard management controller 20 can be a BMC and deployed in electronic devices including boards, so that through the above operations, The address of the monitoring device on the board. It should be noted that the identification code obtaining unit 21 and the address generating unit 22 may be hardware, software, firmware and any feasible combination thereof. For example, the identification code obtaining unit 21 and the address generating unit 22 may be dedicated or general-purpose circuits, chips or devices, or may be a combination of a processor and a memory. Regarding the specific implementation forms of the identification code obtaining unit 21 and the address generating unit 22, the embodiment of the present disclosure does not limit it.
需要说明的是,本公开的实施例中,基板管理控制器20的各个单元与前述的监测器件地址管理方法的各个步骤对应,关于该基板管理控制器20的具体功能可以参考上文中监测器件地址管理方法的相关描述,此处不再赘述。图8所示的基板管理控制器20的组件和结构只是示例性的,而非限制性的,根据需要,该基板管理控制器20还可以包括其他组件和结构。It should be noted that, in the embodiment of the present disclosure, each unit of the baseboard management controller 20 corresponds to each step of the aforementioned monitoring device address management method. For the specific functions of the baseboard management controller 20, please refer to the above-mentioned monitoring device address The related description of the management method will not be repeated here. The components and structures of the baseboard management controller 20 shown in FIG. 8 are exemplary rather than limiting, and the baseboard management controller 20 may also include other components and structures as required.
本公开至少一个实施例还提供一种电子设备,该电子设备包括上述监测器件地址管理装置或上述基板管理控制器。该电子设备可以动态生成监测器件的标识码,并根据该标识码进行地址编码,无需对硬件进行修改,无需板卡上的微处理器具备随机数生成功能,可以有效降低撞码概率,降低产品成本。At least one embodiment of the present disclosure further provides an electronic device, the electronic device includes the above monitoring device address management device or the above baseboard management controller. The electronic device can dynamically generate the identification code of the monitoring device, and perform address coding according to the identification code, without modifying the hardware and without the random number generation function of the microprocessor on the board, which can effectively reduce the probability of code collision and reduce the cost of the product. cost.
图9为本公开一些实施例提供的一种电子设备的示意框图。如图9所示,电子设备30可以包括监测器件地址管理装置31或基板管理控制器32。例如,监测器件地址管理装置31可以为图7所示的监测器件地址管理装置10,基板管理控制器32可以为图8所示的基板管理控制器20。例如,在一些示例中,电子设备30可以同时包括监测器件地址管理装置31和基板管理控制器32,以生成监测器件的标识码并根据该标识码进行地址编码。关于该电子设备30的相关说明可参考上文中关于监测器件地址管理装置10和基板管理控制器20的描述,此处不再赘述。Fig. 9 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure. As shown in FIG. 9 , the electronic device 30 may include a monitoring device address management device 31 or a baseboard management controller 32 . For example, the monitoring device address management device 31 may be the monitoring device address management device 10 shown in FIG. 7 , and the baseboard management controller 32 may be the baseboard management controller 20 shown in FIG. 8 . For example, in some examples, the electronic device 30 may include a monitoring device address management device 31 and a baseboard management controller 32 at the same time, so as to generate an identification code of the monitoring device and perform address coding according to the identification code. For related descriptions about the electronic device 30 , reference may be made to the above descriptions about the monitoring device address management device 10 and the baseboard management controller 20 , which will not be repeated here.
图10为本公开一些实施例提供的另一种电子设备的示意框图。如图10所示,电子设备40包括基板管理控制器41和至少一个板卡。例如,图中示出多个板卡PCI-e-1、PCI-e-2、…、PCI-e-n,但这并不构成对本公开实施例的限制,在一些示例中,电子设备40也可以仅包括一个板卡。电子设备40所包含的板卡可以为PCI-e板卡,也可以为PCI板卡,或者为其他总线类型的板卡。Fig. 10 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure. As shown in FIG. 10 , an electronic device 40 includes a baseboard management controller 41 and at least one board. For example, multiple board cards PCI-e-1, PCI-e-2, ..., PCI-e-n are shown in the figure, but this does not constitute a limitation to the embodiment of the present disclosure. In some examples, the electronic device 40 can also Only one board is included. The board included in the electronic device 40 may be a PCI-e board, a PCI board, or a board of other bus types.
例如,基板管理控制器41与至少一个板卡通信连接。基板管理控制器41可以为BMC,并且基于系统管理总线(SMbus)与板卡通信连接,例如与板卡上设置的监测器件(PVT器件)通信连接。For example, the baseboard management controller 41 is in communication connection with at least one board. The baseboard management controller 41 may be a BMC, and communicates with the board based on a system management bus (SMbus), for example, communicates with a monitoring device (PVT device) provided on the board.
例如,每个板卡包括微处理器和至少一个监测器件。在图10所示的示例中,板卡PCI-e-1包括微处理器MPU1和监测器件PVT-1,板卡PCI-e-2包括微处理器MPU2和监测器件PVT-2,以此类推,板卡PCI-e-n包括微处理器MPUn和监测器件PVT-n。For example, each board includes a microprocessor and at least one monitoring device. In the example shown in Figure 10, board PCI-e-1 includes microprocessor MPU1 and monitoring device PVT-1, board card PCI-e-2 includes microprocessor MPU2 and monitoring device PVT-2, and so on , the board PCI-e-n includes a microprocessor MPUn and a monitoring device PVT-n.
例如,监测器件配置为对反映板卡的运行状态的参数进行感测。在图10所示的示例中,监测器件PVT-1对反映板卡PCI-e-1的运行状态的参数进行感测,监测器件PVT-2对反映板卡PCI-e-2的运行状态的参数进行感测,以此类推,监测器件PVT-n对反映板卡PCI-e-n的运行状态的参数进行感测。这些参数可以包括电压参数和/或温度参数。For example, the monitoring device is configured to sense a parameter reflecting the operating state of the board. In the example shown in Figure 10, the monitoring device PVT-1 senses the parameter reflecting the running state of the board PCI-e-1, and the monitoring device PVT-2 senses the parameter reflecting the running state of the board PCI-e-2 The parameters are sensed, and so on, the monitoring device PVT-n senses the parameters reflecting the running state of the board card PCI-e-n. These parameters may include voltage parameters and/or temperature parameters.
例如,微处理器配置为获取板卡的枚举时间,并基于枚举时间生成监测器件的标识码。例如,在图10所示的示例中,微处理器MPU1配置为获取板卡PCI-e-1的枚举时间,并基于枚举时间生成监测器件PVT-1的标识码;微处理器MPU2配置为获取板卡PCI-e-2的枚举时间,并基于枚举时间生成监测器件PVT-2的标识码;微处理器MPUn配置为获取板卡PCI-e-n的枚举时间,并基于枚举时间生成监测器件PVT-n的标识码。例如,可以将枚举时间作为哈希运算的输入,将哈希运算的结果作为标识码。或者,也可以将枚举时间与监测器件的监测数据所组成的数据集合作为哈希运算的输入,将哈希运算的结果作为标识码。For example, the microprocessor is configured to obtain the enumeration time of the board and generate an identification code of the monitoring device based on the enumeration time. For example, in the example shown in Figure 10, microprocessor MPU1 is configured to obtain the enumeration time of board PCI-e-1, and generates the identification code of monitoring device PVT-1 based on enumeration time; Microprocessor MPU2 configuration In order to obtain the enumeration time of the board PCI-e-2, and generate the identification code of the monitoring device PVT-2 based on the enumeration time; the microprocessor MPUn is configured to obtain the enumeration time of the board PCI-e-n, and based on the enumeration time Time generates the identification code of the monitoring device PVT-n. For example, the enumeration time can be used as the input of the hash operation, and the result of the hash operation can be used as the identification code. Alternatively, the data set composed of the enumeration time and the monitoring data of the monitoring device may also be used as the input of the hash operation, and the result of the hash operation may be used as the identification code.
例如,当存在多个板卡时,针对每一个板卡进行计算所采用的监测数据的参数类型相同。在监测数据包括电压参数和/或温度参数时,也即,监测数据包括电压值和/或温度值时,假设多个板卡包括第一板卡和第二板卡,若计算第一板卡上的某一监测器件的标识码时采用了该监测器件测量的电压值, 则计算第二板卡上的某一监测器件的标识码时也需采用该监测器件测量的电压值;若计算第一板卡上的某一监测器件的标识码时采用了该监测器件测量的温度值,则计算第二板卡上的某一监测器件的标识码时也需采用该监测器件测量的温度值。由此,可以使针对不同板卡上的监测器件的计算结果具有相同或相近的精度和准确度。当然,在该情形中,对于同一板卡上的不同监测器件,进行计算所采用的监测数据的参数类型也相同。For example, when there are multiple boards, the parameter types of the monitoring data used for calculation of each board are the same. When the monitoring data includes voltage parameters and/or temperature parameters, that is, when the monitoring data includes voltage values and/or temperature values, it is assumed that a plurality of boards include a first board and a second board, if the calculation of the first board The voltage value measured by the monitoring device is used when the identification code of a monitoring device on the second board is used, and the voltage value measured by the monitoring device is also used when calculating the identification code of a monitoring device on the second board; The temperature value measured by the monitoring device is used for the identification code of a monitoring device on a board, and the temperature value measured by the monitoring device is also used when calculating the identification code of a monitoring device on the second board. Therefore, the calculation results for the monitoring devices on different boards can have the same or similar precision and accuracy. Of course, in this case, for different monitoring devices on the same board, the parameter types of the monitoring data used for calculation are also the same.
例如,基板管理控制器41配置为接收监测器件的标识码,并基于标识码进行地址编码,生成监测器件的地址。例如,基板管理控制器41可以根据SMbus协议中的ARP协议来对标识码进行地址编码,以得到各个监测器件PVT-1、PVT-2、…、PVT-n的地址。For example, the baseboard management controller 41 is configured to receive the identification code of the monitoring device, and perform address encoding based on the identification code to generate the address of the monitoring device. For example, the baseboard management controller 41 can perform address encoding on the identification code according to the ARP protocol in the SMbus protocol, so as to obtain the addresses of each monitoring device PVT-1, PVT-2, . . . , PVT-n.
需要说明的是,本公开的实施例中,电子设备40的组件和结构只是示例性的,而非限制性的,根据需要,该电子设备40还可以包括其他组件和结构。关于该电子设备40的详细说明和技术效果可以参考上文中关于监测器件地址管理方法的描述,此处不再赘述。It should be noted that, in the embodiments of the present disclosure, the components and structures of the electronic device 40 are only exemplary rather than limiting, and the electronic device 40 may also include other components and structures as required. For the detailed description and technical effect of the electronic device 40, reference may be made to the above description of the monitoring device address management method, which will not be repeated here.
有以下几点需要说明:The following points need to be explained:
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。(1) Embodiments of the present disclosure The drawings only relate to the structures involved in the embodiments of the present disclosure, and other structures may refer to common designs.
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。(2) In the case of no conflict, the embodiments of the present disclosure and the features in the embodiments can be combined with each other to obtain new embodiments.
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。The above description is only a specific implementation manner of the present disclosure, but the protection scope of the present disclosure is not limited thereto, and the protection scope of the present disclosure should be based on the protection scope of the claims.

Claims (18)

  1. 一种监测器件地址管理方法,用于包括至少一个监测器件的板卡,所述监测器件基于系统管理总线进行管理,所述方法包括:A monitoring device address management method, used for a board including at least one monitoring device, where the monitoring device is managed based on a system management bus, the method comprising:
    获取所述板卡的枚举时间,其中,所述枚举时间为所述板卡被与所述板卡连接的主机枚举的时间;以及Obtaining the enumeration time of the board, wherein the enumeration time is the time when the board is enumerated by a host connected to the board; and
    基于所述枚举时间,生成所述监测器件的标识码,以用于所述监测器件的地址编码。Based on the enumeration time, an identification code of the monitoring device is generated for address encoding of the monitoring device.
  2. 根据权利要求1所述的方法,其中,基于所述枚举时间,生成所述监测器件的标识码,包括:The method according to claim 1, wherein, based on the enumeration time, generating the identification code of the monitoring device comprises:
    获取所述至少一个监测器件中每个监测器件的监测数据;obtaining monitoring data of each monitoring device in the at least one monitoring device;
    对于每个监测器件,根据所述监测数据和所述板卡的枚举时间,生成所述监测器件的标识码。For each monitoring device, an identification code of the monitoring device is generated according to the monitoring data and the enumeration time of the board.
  3. 根据权利要求2所述的方法,其中,对于每个监测器件,根据所述监测数据和所述板卡的枚举时间,生成所述监测器件的标识码,包括:The method according to claim 2, wherein, for each monitoring device, generating the identification code of the monitoring device according to the monitoring data and the enumeration time of the board includes:
    将所述监测数据和所述枚举时间作为输入,采用哈希算法进行计算并得到计算结果,将所述计算结果作为所述监测器件的标识码。The monitoring data and the enumeration time are used as input, a hash algorithm is used for calculation and a calculation result is obtained, and the calculation result is used as the identification code of the monitoring device.
  4. 根据权利要求2所述的方法,其中,所述监测数据包括电压参数和温度参数中的至少一种。The method of claim 2, wherein the monitoring data includes at least one of a voltage parameter and a temperature parameter.
  5. 根据权利要求3所述的方法,其中,所述板卡包括多个监测器件,The method according to claim 3, wherein the board includes a plurality of monitoring devices,
    针对所述多个监测器件中的每一个监测器件,进行所述计算所采用的监测数据的参数类型相同。For each monitoring device in the plurality of monitoring devices, the parameter types of the monitoring data used for the calculation are the same.
  6. 根据权利要求5所述的方法,其中,所述多个监测器件中的每一个监测器件分别对应于不同的标识码。The method according to claim 5, wherein each of the plurality of monitoring devices corresponds to a different identification code.
  7. 根据权利要求1所述的方法,其中,所述板卡包括一个监测器件,The method of claim 1, wherein said board includes a monitoring device,
    基于所述枚举时间,生成所述监测器件的标识码,包括:Based on the enumeration time, generate the identification code of the monitoring device, including:
    将所述板卡的枚举时间作为输入,采用哈希算法进行计算并得到计算结果,将所述计算结果作为所述监测器件的标识码。The enumeration time of the board is used as an input, a hash algorithm is used for calculation and a calculation result is obtained, and the calculation result is used as the identification code of the monitoring device.
  8. 根据权利要求1所述的方法,还包括:The method according to claim 1, further comprising:
    将所述监测器件的标识码通过所述系统管理总线发送至管理所述板卡的基板管理控制器,以使所述基板管理控制器基于所述标识码进行地址编码 而生成所述监测器件的地址。sending the identification code of the monitoring device to the baseboard management controller that manages the board through the system management bus, so that the baseboard management controller performs address encoding based on the identification code to generate an ID of the monitoring device. address.
  9. 根据权利要求1-8任一项所述的方法,其中,所述板卡包括外设部件互连板卡或外设部件互连高速板卡。The method according to any one of claims 1-8, wherein the board includes a peripheral component interconnection board or a peripheral component interconnection high-speed board.
  10. 根据权利要求9所述的方法,其中,所述板卡连接至所述主机,所述枚举时间为所述板卡基于外设部件互连总线或外设部件互连高速总线被所述主机枚举的时间。The method according to claim 9 , wherein the board is connected to the host, and the enumeration time is that the board is controlled by the host based on a peripheral component interconnection bus or a peripheral component interconnection high-speed bus Enumeration time.
  11. 根据权利要求1-8任一项所述的方法,其中,所述监测器件包括传感器,所述传感器配置为对反映所述板卡的运行状态的参数进行感测。The method according to any one of claims 1-8, wherein the monitoring device comprises a sensor configured to sense a parameter reflecting an operating state of the board.
  12. 一种监测器件地址管理方法,用于基板管理控制器,其中,所述基板管理控制器配置为基于系统管理总线对位于至少一个板卡上的至少一个监测器件进行管理,A monitoring device address management method for a baseboard management controller, wherein the baseboard management controller is configured to manage at least one monitoring device located on at least one board based on a system management bus,
    所述方法包括:The methods include:
    接收所述监测器件的标识码,其中,所述标识码基于所述监测器件所属的板卡的枚举时间生成,所述枚举时间为所述板卡被与所述板卡连接的主机枚举的时间;以及receiving the identification code of the monitoring device, wherein the identification code is generated based on the enumeration time of the board to which the monitoring device belongs, and the enumeration time is when the board is enumerated by the host connected to the board the time of lifting; and
    基于所述标识码,进行地址编码,生成所述监测器件的地址。Based on the identification code, address encoding is performed to generate the address of the monitoring device.
  13. 根据权利要求12所述的方法,其中,接收所述监测器件的标识码包括:The method of claim 12, wherein receiving the monitoring device identification code comprises:
    通过所述系统管理总线接收所述监测器件的标识码。An identification code for the monitoring device is received over the system management bus.
  14. 根据权利要求12所述的方法,其中,所述至少一个板卡为多个板卡,所述多个板卡中的每一个板卡分别对应于不同的枚举时间。The method according to claim 12, wherein the at least one board is a plurality of boards, and each of the boards in the plurality of boards corresponds to a different enumeration time.
  15. 一种监测器件地址管理装置,用于包括至少一个监测器件的板卡,所述监测器件基于系统管理总线进行管理,所述装置包括:A monitoring device address management device, used for a board including at least one monitoring device, the monitoring device is managed based on a system management bus, the device includes:
    枚举时间获取单元,配置为获取所述板卡的枚举时间,其中,所述枚举时间为所述板卡被与所述板卡连接的主机枚举的时间;The enumeration time obtaining unit is configured to obtain the enumeration time of the board, wherein the enumeration time is the time when the board is enumerated by the host connected to the board;
    标识码生成单元,配置为基于所述枚举时间,生成所述监测器件的标识码,以用于所述监测器件的地址编码。The identification code generating unit is configured to generate the identification code of the monitoring device based on the enumeration time, to be used for address coding of the monitoring device.
  16. 一种基板管理控制器,配置为基于系统管理总线对位于至少一个板卡上的至少一个监测器件进行管理,其中,A baseboard management controller configured to manage at least one monitoring device located on at least one board based on a system management bus, wherein,
    所述基板管理控制器包括:The baseboard management controller includes:
    标识码获取单元,配置为接收所述监测器件的标识码,其中,所述 标识码基于所述监测器件所属的板卡的枚举时间生成,所述枚举时间为所述板卡被与所述板卡连接的主机枚举的时间;以及An identification code acquisition unit configured to receive the identification code of the monitoring device, wherein the identification code is generated based on the enumeration time of the board to which the monitoring device belongs, and the enumeration time is when the board is connected to the the timing of host enumeration to which the board is connected; and
    地址生成单元,配置为基于所述标识码,进行地址编码,生成所述监测器件的地址。The address generating unit is configured to perform address encoding based on the identification code, and generate the address of the monitoring device.
  17. 一种电子设备,包括如权利要求15所述的监测器件地址管理装置或如权利要求16所述的基板管理控制器。An electronic device, comprising the monitoring device address management device according to claim 15 or the baseboard management controller according to claim 16.
  18. 一种电子设备,包括基板管理控制器和至少一个板卡,其中,所述基板管理控制器与所述至少一个板卡通信连接,每个板卡包括微处理器和至少一个监测器件;An electronic device, comprising a baseboard management controller and at least one board, wherein the baseboard management controller is communicatively connected to the at least one board, and each board includes a microprocessor and at least one monitoring device;
    所述微处理器配置为获取所述板卡的枚举时间,并基于所述枚举时间生成所述监测器件的标识码,其中,所述枚举时间为所述板卡被与所述板卡连接的主机枚举的时间;The microprocessor is configured to obtain the enumeration time of the board, and generate the identification code of the monitoring device based on the enumeration time, wherein the enumeration time is when the board is connected to the board The time at which the card is connected to the host enumeration;
    所述监测器件配置为对反映所述板卡的运行状态的参数进行感测;The monitoring device is configured to sense parameters reflecting the operating state of the board;
    所述基板管理控制器配置为接收所述监测器件的标识码,并基于所述标识码进行地址编码,生成所述监测器件的地址。The baseboard management controller is configured to receive the identification code of the monitoring device, and perform address encoding based on the identification code to generate the address of the monitoring device.
PCT/CN2022/115631 2021-09-03 2022-08-29 Monitoring device address management method and apparatus, baseboard management controller, and device WO2023030275A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111030311.9A CN113468027B (en) 2021-09-03 2021-09-03 Monitoring device address management method and device, substrate management controller and equipment
CN202111030311.9 2021-09-03

Publications (1)

Publication Number Publication Date
WO2023030275A1 true WO2023030275A1 (en) 2023-03-09

Family

ID=77867344

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/115631 WO2023030275A1 (en) 2021-09-03 2022-08-29 Monitoring device address management method and apparatus, baseboard management controller, and device

Country Status (2)

Country Link
CN (1) CN113468027B (en)
WO (1) WO2023030275A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468027B (en) * 2021-09-03 2021-11-19 北京壁仞科技开发有限公司 Monitoring device address management method and device, substrate management controller and equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595591A (en) * 2013-11-29 2014-02-19 迈普通信技术股份有限公司 Method and system for monitoring board cards of multi-board-card equipment
CN106027548A (en) * 2016-06-28 2016-10-12 武汉斗鱼网络科技有限公司 System and method for generating white list based on page heartbeat event of a live broadcast website
CN106161662A (en) * 2015-03-24 2016-11-23 中兴通讯股份有限公司 A kind of method and apparatus generating internet protocol address prefix
CN108563462A (en) * 2018-04-25 2018-09-21 珠海全志科技股份有限公司 Data processing method, device, computer equipment and computer storage media
US20190042498A1 (en) * 2017-05-22 2019-02-07 Intel Corporation Enumerated per device addressability for memory subsystems
CN113468027A (en) * 2021-09-03 2021-10-01 北京壁仞科技开发有限公司 Monitoring device address management method and device, substrate management controller and equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102725749B (en) * 2011-08-22 2013-11-06 华为技术有限公司 Method and device for enumerating input/output devices
US20130080754A1 (en) * 2011-09-22 2013-03-28 Cisco Technology, Inc. Service Profile Based Peripheral Component Interconnect Device Enumeration And Option ROM Loading
US9026712B2 (en) * 2012-06-25 2015-05-05 Intel Corporation USB device control using endpoint type detection during enumeration
CN103530254B (en) * 2013-10-11 2016-11-23 杭州华为数字技术有限公司 The peripheral Component Interconnect enumeration of multi-node system and device
CN110858184B (en) * 2018-08-24 2021-07-20 龙芯中科(北京)信息技术有限公司 PCI bus device enumeration method and device
CN111008379B (en) * 2019-11-22 2023-02-28 腾讯科技(深圳)有限公司 Firmware safety detection method of electronic equipment and related equipment
CN112131011B (en) * 2020-11-26 2021-02-26 北京壁仞科技开发有限公司 Method, computing device, and computer-readable storage medium for managing resources
CN113127302B (en) * 2021-04-16 2023-05-26 山东英信计算机技术有限公司 Board GPIO monitoring method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595591A (en) * 2013-11-29 2014-02-19 迈普通信技术股份有限公司 Method and system for monitoring board cards of multi-board-card equipment
CN106161662A (en) * 2015-03-24 2016-11-23 中兴通讯股份有限公司 A kind of method and apparatus generating internet protocol address prefix
CN106027548A (en) * 2016-06-28 2016-10-12 武汉斗鱼网络科技有限公司 System and method for generating white list based on page heartbeat event of a live broadcast website
US20190042498A1 (en) * 2017-05-22 2019-02-07 Intel Corporation Enumerated per device addressability for memory subsystems
CN108563462A (en) * 2018-04-25 2018-09-21 珠海全志科技股份有限公司 Data processing method, device, computer equipment and computer storage media
CN113468027A (en) * 2021-09-03 2021-10-01 北京壁仞科技开发有限公司 Monitoring device address management method and device, substrate management controller and equipment

Also Published As

Publication number Publication date
CN113468027A (en) 2021-10-01
CN113468027B (en) 2021-11-19

Similar Documents

Publication Publication Date Title
US10140242B2 (en) General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network
JP6360588B2 (en) Dynamic PCIE switch relocation system and method
US10127170B2 (en) High density serial over LAN management system
US8898358B2 (en) Multi-protocol communication on an I2C bus
US7412544B2 (en) Reconfigurable USB I/O device persona
US10372639B2 (en) System and method to avoid SMBus address conflicts via a baseboard management controller
US20080034122A1 (en) Apparatus and Method to Detect Miscabling in a Storage Area Network
US10783109B2 (en) Device management messaging protocol proxy
WO2016082522A1 (en) Management path determination method and device
US11741039B2 (en) Peripheral component interconnect express device and method of operating the same
TWI604304B (en) Electronic apparatus and detection method using the same
US20170153660A1 (en) Automatic clock configuration system
WO2023030275A1 (en) Monitoring device address management method and apparatus, baseboard management controller, and device
US10963419B1 (en) System and method for handling in-band interrupts on inactive I3C channels
WO2023030249A1 (en) Device management method and apparatus for computing device, and computing device and medium
WO2024113767A1 (en) Power-on method and power-on apparatus for smart network interface cards
CN117687944A (en) Topology generation method, expansion board card and server
CN109542198B (en) Method and equipment for controlling power-on of PCIE card
CN112564924B (en) Computer expansion card and block chain terminal equipment
US11061838B1 (en) System and method for graphics processing unit management infrastructure for real time data collection
CN114564327A (en) Server multi-card control system based on SMBUS
US10360167B1 (en) Systems and methods for using a bus exchange switch to control processor affinity
CN102902647B (en) Be arranged on I2C from the asic chip of machine printed circuit board (PCB) and printed circuit board (PCB)
US11803493B2 (en) Systems and methods for management controller co-processor host to variable subsystem proxy
US11847089B2 (en) Electronic device and method for sharing data lanes of a network interface device between two or more computing devices

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

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

Country of ref document: EP

Kind code of ref document: A1