Communication method, electronic device, storage medium and program product
By generating target serial numbers and updating device link addresses in the server cluster, a unique identifier is assigned to PCIe devices, which solves the problem of device unique identification conflict, and realizes efficient device management and monitoring to adapt to the needs of future technological development.
Patent Information
- Application Number
- CN202510725130.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2045-05-30
AI Technical Summary
In a server cluster, how to set device unique identification for multiple PCIe devices to ensure that I2C bus and MCTP can communicate normally with multiple PCIe devices and avoid device unique identification conflicts.
When the controller is electrically connected to the target device, the target sequence number is generated based on the sequence number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module, and the sequence number is used to update the multiple first predetermined fields in the actual hardware link address of the target device to obtain the target link address, and finally generate a device unique identifier based on the multiple second predetermined fields in the target link address.
Ensure the uniqueness of the unique identification of the equipment of each target device, realize normal communication between the controller and the target device, improve management efficiency, enhance equipment monitoring capabilities, support remote management, adapt to the needs of future technological development, and reduce the failure rate and downtime probability.
Smart Images

Figure CN120234281A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a communication method, an electronic device, a storage medium, and a program product. Background Art
[0002] With the development of information technology, the functions of servers have been continuously enhanced, and the internal structure has become increasingly complex, integrating multiple devices that communicate with the server based on the Peripheral Component Interconnect express (PCIe) bus, hereinafter referred to as PCIe devices.
[0003] By monitoring PCIe devices in a server cluster through the Inter-Integrated Circuit (I2C) bus and the Management Component Transport Protocol (MCTP), it is possible to uniformly manage various types of PCIe devices in the server cluster. However, due to the large number of PCIe devices in the server cluster, how to set a unique device identifier for multiple PCIe devices to ensure normal communication with multiple PCIe devices based on the I2C bus and MCTP has become a technical problem that urgently needs to be solved. Summary of the Invention
[0004] In view of this, this application provides a communication method, an electronic device, a storage medium, and a program product.
[0005] According to one aspect of this application, a communication method is provided, including: when it is determined that a controller is electrically connected to a target device based on an integrated circuit bus and an integrated circuit conversion module and the target device is not configured with a unique device identifier, obtaining a target serial number according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module; updating a plurality of first predetermined fields in the actual hardware link address of the target device by using the target serial number to obtain a target link address; obtaining the unique device identifier of the target device according to a plurality of second predetermined fields in the target link address, so that the controller can communicate with the target device according to the unique device identifier and the actual hardware link address, where the plurality of second predetermined fields includes the plurality of first predetermined fields.
[0006] According to another aspect of this application, an electronic device is provided, including: a controller and an integrated circuit conversion module electrically connected based on an integrated circuit bus; the controller is used to communicate with a target device based on the above communication method.
[0007] According to another aspect of the present application, there is provided a computer-readable storage medium, on which a computer program or instruction is stored, and when the computer program or instruction is executed by a processor, the steps according to the above method are implemented.
[0008] According to another aspect of the present application, there is provided a computer program product, including a computer program or instruction, and when the computer program or instruction is executed by a processor, the steps according to the above method are implemented.
[0009] According to the embodiments of the present application, when it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, and the target device is not configured with a device unique identifier, the target serial number is obtained according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module, so that the target serial numbers of each target device in the server cluster are different from each other and are all greater than the maximum number of channels of the integrated circuit conversion module. Furthermore, by using the target serial number to update multiple first predetermined fields in the actual hardware link address of the target device, the target link address is obtained, so that the target link addresses of each target device are different from each other, and the values represented by the multiple first predetermined fields in the target link address are greater than the maximum number of channels of the integrated circuit conversion module. According to multiple second predetermined fields in the target link address, the device unique identifier of the target device is obtained, and the multiple second predetermined fields include the multiple first predetermined fields, which can make the device unique identifiers of each target device different from each other, and the values represented by the multiple first predetermined fields in the device unique identifier are greater than the maximum number of channels of the integrated circuit conversion module, so that the device unique identifiers of each target device will not be the same as the identifiers of the devices that directly use the multiple second predetermined fields of the actual hardware link address as the device unique identifier, ensuring the uniqueness of the device unique identifier of each target device. Furthermore, it is ensured that the controller can communicate with the target device normally according to the device unique identifier and the actual hardware link address. Description of the Drawings
[0010] Through the following description of the embodiments of the present application with reference to the drawings, the above and other objects, features and advantages of the present application will become clearer.
[0011] Figure 1 An exemplary system architecture to which the communication method according to the embodiments of the present application can be applied is shown.
[0012] Figure 2 A flowchart of the communication method according to an embodiment of the present application is shown.
[0013] Figure 3 A flowchart of the communication method according to another embodiment of the present application is shown.
[0014] Figure 4The structural schematic diagram of an electronic device according to an embodiment of the present application is shown.
[0015] Figure 5 The structural schematic diagram of an electronic device according to another embodiment of the present application is shown. Detailed implementation manners
[0016] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present application. In the following detailed description, for the sake of explanation, many specific details are set forth to provide a thorough understanding of the embodiments of the present application. However, obviously, one or more embodiments can also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily obscuring the concepts of the present application.
[0017] The terms used herein are merely for describing specific embodiments and are not intended to limit the present application. The terms "including", "comprising", etc. used herein indicate the presence of the described features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0018] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those of ordinary skill in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0019] In cases where expressions similar to "at least one of A, B, and C, etc." are used, generally, it should be interpreted according to the meaning commonly understood by those of ordinary skill in the art (for example, "a system having at least one of A, B, and C" should include, but is not limited to, a system having only A, having only B, having only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.).
[0020] In the related art, the PCIe devices in a server are managed based on the Intelligent Platform Management Interface (IPMI). For example, components such as sensors for PCIe devices in the server are connected through IPMI and the System Management Bus (SMBus) or the I2C bus. By monitoring the sensor data, the relevant PCIe devices are monitored and managed. However, this monitoring method has a low bandwidth (100 kHz), is difficult to expand complex functions, and only supports limited device monitoring and management functions, making it difficult to meet the requirements for in-depth and comprehensive monitoring of PCIe devices. It can be seen that the traditional monitoring method is difficult to meet the needs for effective management and monitoring of these PCIe devices.
[0021] Monitoring the PCIe devices in a server based on the I2C bus and MCTP can uniformly manage various types of PCIe devices in the server. When communicating with the PCIe device based on the I2C bus and MCTP, the lower 16-bit field of the actual hardware link address corresponding to the PCIe device is intercepted to obtain the unique device identifier of the PCIe device. Since there are a large number of PCIe devices in the server system, this method of obtaining the unique device identifier of the PCIe device will result in the same unique device identifier for multiple PCIe devices, causing a conflict problem. Therefore, how to set unique device identifiers for multiple PCIe devices to ensure normal communication between the I2C bus and MCTP and multiple PCIe devices has become a technical problem that urgently needs to be solved.
[0022] In view of this, embodiments of the present application provide a communication method, an electronic device, a storage medium, and a program product, which can be applied to the field of communication technologies.
[0023] Embodiments of the present application provide a communication method, including: when it is determined that a controller is electrically connected to a target device based on an integrated circuit bus and an integrated circuit conversion module and the target device is not configured with a unique device identifier, obtaining a target serial number according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module; updating a plurality of first predetermined fields in the actual hardware link address of the target device by using the target serial number to obtain a target link address; and obtaining the unique device identifier of the target device according to a plurality of second predetermined fields in the target link address, so that the controller can communicate with the target device according to the unique device identifier and the actual hardware link address, where the plurality of second predetermined fields include the plurality of first predetermined fields.
[0024] Figure 1 Illustrates an exemplary system architecture to which the communication method according to an embodiment of the present application can be applied. It should be noted thatFigure 1 The figure shown is only an example of the system architecture to which the embodiments of the present application can be applied, to help those skilled in the art understand the technical content of the present application, but it does not mean that the embodiments of the present application cannot be used in other devices, systems, environments or scenarios.
[0025] As Figure 1 shown, the system architecture 100 according to this embodiment may include a controller 101, a hardware link 102, and various types of PCIe devices in a server cluster. The multiple PCIe devices may include a first device D1, a second device D2, …, an Mth device D M , where M is an integer greater than 2. The types of the first device D1, the second device D2, …, the Mth device D M may be completely the same, completely different, or partially the same.
[0026] The hardware link 102 is a medium that provides a communication link between the first device D1, the second device D2, …, the Mth device D M and the controller 101. The hardware link 102 may include an integrated circuit conversion module for each PCIe device. It should be noted that the hardware link 102 may also include other modules for expanding the I2C bus, not limited to the integrated circuit conversion module.
[0027] The controller 101 can be electrically connected to the first device D1, the second device D2, …, the Mth device D M respectively based on the I2C bus, the integrated bus management component transmission protocol, and the hardware link 102. The controller 101 can communicate with the first device D1, the second device D2, …, the Mth device D M respectively based on the communication method provided by the present application, so as to monitor and manage the first device D1, the second device D2, …, the Mth device D M respectively.
[0028] It should be understood that Figure 1 the numbers of the controller 101, the hardware link 102, and various types of PCIe devices in the server cluster are only illustrative and can be set according to actual needs.
[0029] Figure 2 shows a flowchart of a communication method according to an embodiment of the present application.
[0030] As Figure 2 shown, this communication method includes operations S201 to S203.
[0031] In operation S201, when it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, and the target device is not configured with a device unique identifier, a target serial number is obtained according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module.
[0032] For example, the controller can be a Baseboard Management Controller (BMC). The integrated circuit conversion module can be an integrated circuit conversion circuit board. For example, the integrated circuit conversion circuit board can be a 9548 I2C Switch.
[0033] According to an embodiment of the present application, the BMC is a management controller designed specifically for servers and other hardware devices. The BMC is part of the Intelligent Platform Management Interface (IPMI) and can monitor and control the hardware status of the server through an independent management network. The BMC is usually integrated on the motherboard of the server, has its own processor, memory, and storage space, and runs an independent management software system.
[0034] According to an embodiment of the application, as the management core of the entire system, the BMC is responsible for monitoring and managing all devices connected to the BMC, including the target device. The BMC can communicate with all devices connected to the BMC through the I2C bus, obtain the status information of the devices, such as temperature and / or voltage, etc., and send control instructions to adjust the operating status of the devices.
[0035] According to an embodiment of the present application, the integrated circuit conversion module can be an I2C multiplexer with multiple channels. Each integrated circuit conversion module can have different I2C addresses, such as 0x71 and 0x72, etc. The BMC can select to communicate with different integrated circuit conversion modules through these I2C addresses. Each integrated circuit conversion module can connect multiple target devices through different channels.
[0036] According to an embodiment of the present application, the target device can be a device that communicates with the server based on PCIe in the server cluster, that is, the target device can be a PCIe device.
[0037] For example, the target device can be a Graphics Processing Unit (GPU), a network card, and a storage controller, etc. in the service cluster.
[0038] According to an embodiment of the present application, the GPU is the main computing device in the server cluster. GPUs of the same type have the same address on the I2C bus, such as 0x67. However, since multiple GPUs of the same type are connected to different 9548 I2C Switches or different channels of the same 9548 I2C Switch, the BMC can communicate with the corresponding GPU by first selecting the 9548 I2C Switch and then selecting the channel.
[0039] According to an embodiment of the present application, the multiple serial numbers corresponding to the multiple target devices increase sequentially in the order in which the multiple target devices are recognized by the controller.
[0040] For example, the target serial number can be obtained based on the sum of the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module. Among them, the value represented by the 12th to 16th bit fields in the target serial number is the sum of the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module.
[0041] In operation S202, multiple first predetermined fields in the actual hardware link address of the target device are updated using the target serial number to obtain the target link address.
[0042] For example, the multiple first predetermined fields in the actual hardware link address can be the data at the 12th to 16th bits in the actual hardware link address.
[0043] For example, the multiple first predetermined fields in the target serial number can be replaced with the multiple first predetermined fields in the actual hardware link address to obtain the target link address.
[0044] In operation S203, the device unique identifier of the target device is obtained based on multiple second predetermined fields in the target link address, so that the controller can communicate with the target device based on the device unique identifier and the actual hardware link address. Among them, the multiple second predetermined fields include the multiple first predetermined fields.
[0045] For example, the multiple second predetermined fields in the target link address can be the data at the lower 16 bits in the target link address, that is, the data at the 0th to 15th bits in the target link address.
[0046] For example, the multiple second predetermined fields in the target link address can be intercepted to obtain the device unique identifier of the target device.
[0047] According to an embodiment of the present application, when it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, and the target device is not configured with a device unique identifier, the target serial number is obtained according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module, so that the target serial numbers of each target device in the server cluster are different from each other and are all greater than the maximum number of channels of the integrated circuit conversion module. Furthermore, by using the target serial number to update multiple first predetermined fields in the actual hardware link address of the target device, the target link address is obtained, so that the target link addresses of each target device are different from each other, and the values represented by the multiple first predetermined fields in the target link address are greater than the maximum number of channels of the integrated circuit conversion module. According to multiple second predetermined fields in the target link address, the device unique identifier of the target device is obtained. The multiple second predetermined fields include the multiple first predetermined fields, which can make the device unique identifiers of each target device different from each other, and the values represented by the multiple first predetermined fields in the device unique identifier are greater than the maximum number of channels of the integrated circuit conversion module, so that the device unique identifiers of each target device are not the same as the identifiers of the devices that directly use the multiple second predetermined fields of the actual hardware link address as the device unique identifier, ensuring the uniqueness of the device unique identifier of each target device. Furthermore, it is ensured that the controller can communicate with the target device normally according to the device unique identifier and the actual hardware link address.
[0048] According to an embodiment of the present application, after obtaining the device unique identifier of the target device, the controller can communicate with the target device normally based on the I2C bus and MCTP according to the device unique identifier and the actual hardware link address, so as to realize the monitoring of PCIe devices in the server based on the I2C bus and MCTP.
[0049] According to an embodiment of the present application, when monitoring PCIe devices in the server based on the I2C bus and MCTP, different types and different manufacturers' PCIe devices can be incorporated into a unified monitoring system. The controller can monitor, configure and manage multiple PCIe devices through a single management interface, improving the management efficiency.
[0050] For example, monitoring PCIe devices in the server based on the I2C bus and MCTP can enhance the device monitoring ability. Monitoring PCIe devices based on the I2C bus and MCTP can obtain various status information of PCIe devices in real time, such as temperature, voltage, fan speed and working frequency, etc., and can also monitor the working status and error information of PCIe devices, etc., which helps to detect PCIe device failures and potential problems in time, take measures in advance for maintenance and repair, and reduce the failure rate and downtime probability of PCIe devices.
[0051] For example, monitoring PCIe devices in a server based on the I2C bus and MCTP can improve system reliability. Monitoring PCIe devices based on the I2C bus and MCTP can, through real-time monitoring and management of PCIe devices, promptly detect and resolve compatibility issues and resource conflict issues between PCIe devices, etc., ensuring the stability and reliability of the system. Meanwhile, when a PCIe device fails, the faulty device can be quickly located, facilitating troubleshooting and repair and improving the availability of the system.
[0052] For example, monitoring PCIe devices in a server based on the I2C bus and MCTP can support remote management. Monitoring PCIe devices based on the I2C bus and MCTP can cooperate with the out-of-band management function of the server to achieve remote monitoring and management of PCIe devices. Without directly accessing the server, operations and maintenance of PCIe devices can be performed, facilitating the management of servers in environments such as remote data centers and computer rooms.
[0053] For example, monitoring PCIe devices in a server based on the I2C bus and MCTP can adapt to future technological developments. With the continuous development of server technologies such as heterogeneous computing and high-speed networks, the requirements for the management and monitoring of PCIe devices are also constantly increasing. Monitoring PCIe devices in a server based on the I2C bus and MCTP, as a flexible and scalable management method, can meet the needs of future technological developments and provide strong support for the upgrade and expansion of server systems.
[0054] According to an embodiment of the present application, for the operation S201 as Figure 2 shown, obtaining a target serial number based on the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module may include the following operations: processing the sum of the serial number and the maximum number of channels using the least significant bit in a plurality of first predetermined fields to obtain the target serial number.
[0055] For example, in the case where the plurality of first predetermined fields are data at the 12th to 16th bits, the least significant bit in the plurality of first predetermined fields is the 12th bit. The sum of the serial number and the maximum number of channels can be shifted left by 12 bits to obtain the target serial number, so that the values represented by the 12th to 16th bit fields in the target serial number are the sum of the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module.
[0056] According to an embodiment of the present application, by using the least significant bits in a plurality of first predetermined fields to process the sum of the serial number and the maximum number of channels, a target serial number is obtained, which can make the target serial numbers of each target device in the server cluster different from each other and all greater than the maximum number of channels of the integrated circuit conversion module. At the same time, the values represented by the plurality of first predetermined fields of the target serial number are the sum of the serial number and the maximum number of channels, so that the plurality of first predetermined fields in the actual hardware link address of the target device can be quickly modified based on the plurality of first predetermined fields of the target serial number in the subsequent process.
[0057] According to an embodiment of the present application, for the operation S202 as shown in Figure 2 updating a plurality of first predetermined fields in the actual hardware link address of the target device by using the target serial number to obtain a target link address may include the following operations: performing an AND operation on the actual hardware link address and a first predetermined value to obtain an adjusted address, so as to extract other fields in the actual hardware link address except the plurality of first predetermined fields based on the adjusted address, wherein a plurality of bits of the first predetermined value are 0. Performing an OR operation on the adjusted address and the target serial number to obtain the target link address.
[0058] For example, a plurality of first predetermined fields of the first predetermined value may all be 0, and other fields in the first predetermined value except the plurality of first predetermined fields may all be 1.
[0059] According to an embodiment of the present application, by performing an AND operation on the actual hardware link address and the first predetermined value to obtain an adjusted address, so as to extract other fields in the actual hardware link address except the plurality of first predetermined fields based on the adjusted address, it is ensured that other fields in the adjusted address except the plurality of first predetermined fields are consistent with the corresponding fields in the actual hardware link address. By performing an OR operation on the adjusted address and the target serial number to obtain the target link address, it can be ensured that a plurality of first predetermined fields in the target link address are the same as a plurality of first predetermined fields in the target serial number, and at the same time, it is ensured that other fields in the target link address except the plurality of first predetermined fields are consistent with the corresponding fields in the actual hardware link address. Since the target serial numbers of each target device are different from each other and all greater than the maximum number of channels of the integrated circuit conversion module, therefore, the target link addresses of each target device are different from each other, and the values represented by the plurality of first predetermined fields in the target link address are greater than the maximum number of channels of the integrated circuit conversion module. Realize dynamically allocating target link addresses for each target device.
[0060] According to an embodiment of the present application, since the value represented by the plurality of first predetermined fields in the target link address is greater than the maximum number of channels of the integrated circuit conversion module, it can be ensured that the target link address is not the same as the actual hardware link address.
[0061] According to an embodiment of the present application, in a server cluster, since a large number of different types of PCIe devices need to be integrated, the hardware link becomes complex. In order to efficiently and accurately allocate a unique device identifier to each PCIe device, a strategy of automatic allocation by the BMC according to the hardware link design of different projects can be adopted. For example, for service clusters used in different projects, a hardware link table can be configured for each project's service cluster. The hardware link table can include the actual hardware link addresses of all PCIe devices in the server cluster, which are stored in a specific encoding method to facilitate the subsequent identification of target devices and the allocation of unique device identifiers by calling the corresponding hardware link table when using different projects.
[0062] For example, in the case where the controller communicates with multiple PCIe devices through the I2C bus and manages and controls the multiple PCIe devices, the controller can be electrically connected to each PCIe device through a bus multiplexer, a riser card, and an integrated circuit conversion module in sequence. Among them, the bus multiplexer can be a PCA9641 circuit board, the riser card can be a Riser card, and the integrated circuit conversion module can be an integrated circuit conversion circuit board 9548 I2C Switch. There can be multiple riser cards. One 9548 I2C Switch can be equipped on each Riser card to further expand the I2C channel.
[0063] As a transfer device between the controller and the riser card, the bus multiplexer plays roles such as signal enhancement, level conversion, or protocol adaptation to ensure that the I2C signal can be stably transmitted to the riser card. The riser card provides additional physical interfaces and electrical connections for expanding the functions of the system and connecting more devices. For example, three riser cards can be used to be electrically connected to the bus multiplexer, and an integrated circuit conversion module is configured on each riser card.
[0064] The actual hardware link address of the target device can include, in sequence: the address of the bus multiplexer, the address of the integrated circuit conversion module, the channel number of the integrated circuit conversion module, the number of the integrated circuit bus, and the device address parameter of the target device.
[0065] According to an embodiment of the present application, the actual hardware link address of the target device includes, in sequence: the address of the bus multiplexer, the address of the integrated circuit conversion module, the channel number of the integrated circuit conversion module, the number of the integrated circuit bus, and the device address parameter of the target device. The actual hardware link address of the target device can be a 32-bit integer, and different levels of hardware address information can be extracted through bit operations to facilitate communication based on different levels of hardware address information.
[0066] For example, when performing an AND operation on the actual hardware link address of the target device with multiple fields of "0xff000000", the address of the bus multiplexer can be extracted from the actual hardware link address of the target device. This address is 7 bits and is used to uniquely identify the position of the bus multiplexer on the I2C bus.
[0067] When performing an AND operation on the actual hardware link address of the target device with multiple fields of "0x00ff0000", the address of the integrated circuit conversion module can be extracted from the actual hardware link address of the target device. This address is 7 bits and is used to locate the position of the integrated circuit conversion module on the I2C bus.
[0068] When performing an AND operation on the actual hardware link address of the target device with multiple fields of "0x0000f000", the number of channels of the integrated circuit conversion module can be extracted from the actual hardware link address of the target device.
[0069] When performing an AND operation on the actual hardware link address of the target device with multiple fields of "0x00000f00", the number of the integrated circuit bus can be extracted from the actual hardware link address of the target device. This integrated circuit bus number is used to distinguish different integrated circuit buses.
[0070] When performing an AND operation on the actual hardware link address of the target device with multiple fields of "0x000000ff", the device address of the target device can be extracted from the actual hardware link address of the target device. This address is 7 bits and is used to precisely identify the position of the specific target device on the I2C bus.
[0071] The hardware link table can include the link addresses of the devices supported by each channel of each integrated circuit conversion module. Each channel supports multiple types of target devices. The link addresses of the devices supported by each channel include the actual hardware link addresses of different types of target devices supported by each channel.
[0072] The hardware link table for the current project can be loaded into a global variable, which facilitates accessing and using this hardware link information at any time during the process of allocating the unique device identifier of the target device. The use of the global variable ensures that the hardware link table can be quickly called throughout the program execution, improving the data processing efficiency.
[0073] When performing the in-place inspection operation of the device, the controller will sequentially traverse each link address stored in the global variable. For each link address, the controller will, according to the encoding rules, sequentially parse out the address of the corresponding bus multiplexer, the address of the integrated circuit conversion module, the number of channels of the integrated circuit conversion module, the number of the integrated circuit bus, and the device address parameter of the target device. Then, based on the I2C protocol, the controller will attempt to communicate with the target device through these address information. When the target device can normally respond to the communication request of the controller, it indicates that the target device is in place, the controller is electrically connected to the target device, and a unique device identifier needs to be assigned to it. If the target device does not respond, that is, the access fails, it indicates that the controller is not electrically connected to the target device, the target device is not in place, then this address is ignored and the next actual hardware link address is continued to be processed.
[0074] According to an embodiment of the present application, for the communication method as Figure 2 shown, the following operations may further be included: sequentially sending communication requests to the target device using multiple preset addresses, where the multiple preset addresses are the link addresses of the devices supported by the channels electrically connected to the target device in the integrated circuit conversion module; in response to receiving the response information of the target device for any one of the preset addresses, determining that the controller is electrically connected to the target device based on any one of the preset addresses.
[0075] For example, the multiple preset addresses may be the link addresses corresponding to the channels electrically connected to the target device stored in the hardware link table.
[0076] According to an embodiment of the present application, by in response to receiving the response information of the target device for any one of the preset addresses, determining that the controller is electrically connected to the target device based on any one of the preset addresses, it is determined that the target device is in place, and at the same time, it can be determined that the target device is the device type corresponding to any one of the preset addresses.
[0077] According to an embodiment of the present application, by sequentially sending communication requests to the target device using multiple preset addresses, where the multiple preset addresses are the link addresses of the devices supported by the channels electrically connected to the target device in the integrated circuit conversion module, and in response to receiving the response information of the target device for any one of the preset addresses, determining that the controller is electrically connected to the target device based on any one of the preset addresses, the technical means can determine that the target device is in place and at the same time determine that the target device is the device type corresponding to any one of the preset addresses, thereby enabling the corresponding channels in the integrated circuit conversion module to connect different types of target devices and not necessarily connecting fixed-type devices.
[0078] According to an embodiment of the present application, for the communication method as Figure 2 shown, the following may further be included: generating a serial number of the target device according to the order of the target device among the multiple target devices electrically connected to the controller.
[0079] For example, the serial number of the (j + 1)-th in-place device recognized can be obtained by adding 1 to the serial number of the j-th in-place device recognized. j is a positive integer. The in-place recognition time of the j-th in-place device is earlier than that of the (j + 1)-th in-place device.
[0080] According to the embodiments of the present application, by generating the serial number of the target device according to the order of the target device in the multiple target devices electrically connected to the controller, the serial numbers of the respective target devices in the server cluster can be dynamically allocated, while ensuring that the serial numbers of the respective target devices in the server cluster are different from each other, preparing for determining the unique device identifier of each target device that is different from each other.
[0081] According to the embodiments of the present application, for the communication method as Figure 2 shown, the following operations may further be included: repeatedly execute the operation of determining whether the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module until it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, or the number of repeated executions reaches a predetermined value.
[0082] For example, repeatedly executing the operation of determining whether the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module includes repeatedly executing the following in-place device recognition operation for a predetermined number of times: the controller sequentially traverses each link address stored in the global variable. For each link address, the controller communicates with the target device based on the I2C protocol through this address information. When the target device can respond to the communication request of the controller, it indicates that the target device is in place, and the controller is electrically connected to the target device, and a unique device identifier is assigned to the target device. If the target device does not respond, that is, the access fails, it indicates that the controller is not electrically connected to the target device, and the target device is not in place, then this address is ignored and the next link address is continued to be processed.
[0083] For example, repeatedly executing the operation of determining whether the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module includes repeatedly executing the following operations until it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, or the number of repeated executions reaches a predetermined value: for the multiple link addresses corresponding to each channel of each integrated circuit conversion module stored in the global variable, sequentially send communication requests to the target device corresponding to the channel using the multiple link addresses; within a preset time period, if no response information from the target device for any link address is received, return to the operation of sequentially sending communication requests to the target device corresponding to the channel using the multiple link addresses; in response to receiving the response information from the target device for any link address, determine that the controller is electrically connected to the target device based on any link address.
[0084] According to an embodiment of the present application, since many devices in the server cluster are connected to the controller based on the same I2C bus, and at the same time, the controller processes data of different tasks in a multi-process and multi-threaded concurrent manner, when performing device presence detection, sometimes the I2C bus is occupied by other tasks other than the device presence detection task, resulting in some PCIe devices being present, but the presence recognition fails.
[0085] According to an embodiment of the present application, by repeatedly performing the operation of determining whether the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module until it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, or the number of repetitions reaches a predetermined value, the target device presence recognition can be performed multiple times, an additional retry mechanism can be added, and it can be avoided that when performing presence recognition on the target device, the I2C bus is occupied by other tasks other than the device presence detection task, resulting in the target device being present but the presence recognition failing. Furthermore, the accuracy of the target device presence recognition can be improved.
[0086] According to an embodiment of the present application, for Figure 2 the communication method shown, the following operations may further be included: when it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, determine the actual hardware link address of the target device according to any preset address; match the actual hardware link address of the target device with multiple first addresses in the first address set, where the first address set includes the actual hardware link addresses of the target devices configured with device unique identifiers; when the actual hardware link address of the target device does not match any of the multiple first addresses, determine that the target device is not configured with a device unique identifier.
[0087] According to an embodiment of the present application, by, when it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, determining the actual hardware link address of the target device according to any preset address, matching the actual hardware link address of the target device with multiple first addresses in the first address set, where the first address set includes the actual hardware link addresses of the target devices configured with device unique identifiers, and when the actual hardware link address of the target device does not match any of the multiple first addresses, determining that the target device is not configured with a device unique identifier, it is possible to accurately recognize that the target device is not configured with a device unique identifier when the actual hardware link address of the target device does not match the actual hardware link addresses of the target devices configured with device unique identifiers included in the first address set, so as to subsequently configure a device unique identifier only for the target devices not configured with a device unique identifier, and avoid subsequently repeatedly configuring a device unique identifier for the target devices configured with a device unique identifier, ensuring that the device unique identifiers of each target device do not conflict.
[0088] According to an embodiment of the present application, for a target device that needs to be assigned a unique device identifier, a linked list node pointer can be assigned to the target device, and based on the linked list node pointer, a new linked list node can be created for the target device. The linked list node can include the address information of the target device and the device identifier information of the target device.
[0089] According to an embodiment of the present application, for the operation S203 as Figure 2 shown, obtaining the unique device identifier of the target device according to multiple second predetermined fields in the target link address may include the following operations: obtaining the linked list node stored in the linked list according to the linked list node pointer for the target device, where the linked list node includes the address information of the target device and the device identifier information of the target device; updating the address information of the target device in the linked list node according to the target link address; extracting multiple second predetermined fields in the address information of the target device to obtain the unique device identifier of the target device; and updating the device identifier information of the target device in the linked list node according to the unique device identifier of the target device.
[0090] According to an embodiment of the present application, by means of obtaining the linked list node stored in the linked list according to the linked list node pointer for the target device, where the linked list node includes the address information of the target device and the device identifier information of the target device, updating the address information of the target device in the linked list node according to the target link address, extracting multiple second predetermined fields in the address information of the target device to obtain the unique device identifier of the target device, and updating the device identifier information of the target device in the linked list node according to the unique device identifier of the target device, while dynamically assigning a unique device identifier to the target device, the unique device identifier of the target device and the target link address can be stored in the linked list, so that the unique device identifier of the target device stored in the linked list can be quickly called at any time for normal communication with the target device, improving the monitoring efficiency.
[0091] According to an embodiment of the present application, after obtaining the serial number of the target device, the target link address, and the actual hardware link address, the target link address and the actual hardware link address of the target device can be stored respectively based on the serial number of the target device. At this time, a corresponding relationship is formed among the serial number of the target device, the target link address, and the actual hardware link address.
[0092] According to an embodiment of the present application, for the operation as Figure 2The communication method shown may further include the following operations: updating the first address at the serial number in the first address set according to the actual hardware link address of the target device. Updating the second address at the serial number in the second address set according to the target link address of the target device. Wherein, the second address set includes the target link addresses of the target devices configured with device unique identifiers. The second address at the serial number in the second address set and the first address at the serial number in the first address set are addresses corresponding to the same target device.
[0093] For example, after obtaining the serial number, target link address, and actual hardware link address of a target device, the first address set and the second address set can be updated once.
[0094] According to an embodiment of the present application, after the device unique identifiers of all target devices are allocated, the target link addresses in each linked list node stored in the linked list can be restored to the actual hardware link addresses to ensure that in subsequent communication processes, the controller can communicate accurately with the target device based on the real hardware addresses.
[0095] According to an embodiment of the present application, for the Figure 2 communication method shown, it may further include the following operation: updating the address information of the target device in the linked list node stored in the linked list according to the second address set and the first address set.
[0096] For example, after the device unique identifiers of all target devices are allocated, the operation of updating the address information of the target device in the linked list node stored in the linked list according to the second address set and the first address set can be executed.
[0097] According to an embodiment of the present application, updating the address information of the target device in the linked list node stored in the linked list according to the second address set and the first address set may include the following operations: for the second address at the serial number in the second address set, when the second address is equal to the address information of the target device in any linked list node stored in the linked list, updating the address information of the target device in any linked list node to the first address at the serial number in the first address set.
[0098] According to an embodiment of the present application, the technical means of updating the first address at the serial number in the first address set according to the actual hardware link address of the target device and updating the second address at the serial number in the second address set according to the target link address of the target device enables a corresponding relationship to be formed among the serial numbers, target link addresses, and actual hardware link addresses of the target devices stored in the first address set and the second address set, preparing for restoring the target link addresses in each linked list node stored in the linked list to the actual hardware link addresses based on this corresponding relationship later.
[0099] According to an embodiment of the present application, for the second address at the serial number in the second address set, when the second address is equal to the address information of the target device in any linked list node stored in the linked list, the address information of the target device in any linked list node is updated to the first address at the serial number in the first address set, so as to implement the correspondence relationship formed among the serial number of the target device, the target link address, and the actual hardware link address, and accurately replace the target link address of the target device in any linked list node stored in the linked list with the actual hardware link address of the target device. Furthermore, it is ensured that in the subsequent communication process, the controller can communicate accurately with the target device based on the actual hardware link address.
[0100] According to an embodiment of the present application, since any linked list node stored in the linked list includes the actual hardware link address and the device unique identifier of the target device, the controller can communicate accurately with the target device based on the actual hardware link address and the device unique identifier of the target device.
[0101] Figure 3 The flowchart of a communication method according to another embodiment of the present application is shown.
[0102] As Figure 3 shown, the communication method includes operation S301 to operation S313.
[0103] In operation S301, start the communication method.
[0104] In operation S302, configure the hardware link table for the current project.
[0105] In operation S303, load the hardware link table for the current project into the global variable.
[0106] In operation S304, traverse each link address stored in the global variable.
[0107] In operation S305, send a communication request to the corresponding target device using the i-th link address in the global variable, and determine whether the controller is electrically connected to the corresponding target device based on the i-th link address. If so, execute operation S306. If not, execute operation S309. Wherein, i is a positive integer.
[0108] In operation S306, determine whether the target device is configured with a device unique identifier. If not, then perform operation S307. If so, then perform operation S310. For example, determining whether the target device is configured with a device unique identifier may include: determining the actual hardware link address of the target device according to the i-th link address. Matching the actual hardware link address of the target device with multiple first addresses in the first address set, where the first address set includes the actual hardware link addresses of the target devices configured with device unique identifiers. In the case where the actual hardware link address of the target device does not match any of the multiple first addresses, determine that the target device is not configured with a device unique identifier.
[0109] In operation S307, obtain a target serial number according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module; update multiple first predetermined fields in the actual hardware link address of the target device by using the target serial number to obtain a target link address; obtain the device unique identifier of the target device according to multiple second predetermined fields in the target link address.
[0110] In operation S308, update the linked list according to the device unique identifier and the target link address of the target device; update the first address at the serial number in the first address set according to the actual hardware link address of the target device; update the second address at the serial number in the second address set according to the target link address of the target device. For example, updating the linked list according to the device unique identifier and the target link address of the target device may include: updating the address information of the target device in the linked list node according to the target link address, and updating the device identifier information of the target device in the linked list node according to the device unique identifier of the target device.
[0111] In operation S309, ignore the i-th link address.
[0112] In operation S310, determine whether i < I. If so, then perform operation S312. If not, then perform operation S311. Where I is an integer greater than 1.
[0113] In operation S311, increment i and return to operation S304.
[0114] In operation S312, the target link address of the target device in the linked list nodes stored in the linked list is replaced with the actual hardware link address of the target device, so that the controller can communicate with the target device based on the device unique identifier and the actual hardware link address of the target device in the linked list nodes stored in the linked list. For example, replacing the target link address of the target device in the linked list nodes stored in the linked list with the actual hardware link address of the target device may include: for the second address at the serial number in the second address set, when the second address is equal to the address information of the target device in any linked list node stored in the linked list, updating the address information of the target device in any linked list node to the first address at the serial number in the first address set.
[0115] In operation S313, the communication method ends.
[0116] According to Figure 3 the communication method shown, the device unique identifier can be automatically assigned to the target device in the service cluster. The design of the hardware link table and the use of the dynamic device unique identifier effectively solve the problems of numerous target devices, complex hardware links, and device unique identifier conflicts in the server cluster, and improve the maintainability and stability of the server cluster.
[0117] According to the embodiments of the present application, after the server cluster is started and the assignment of the device unique identifiers of each target device in the server cluster is completed, and the linked list for storing the device unique identifiers and the actual hardware link addresses of each target device is constructed, the controller communicates with the target device based on the device unique identifier and the actual hardware link address of the target device in the linked list nodes stored in the linked list, and monitors and controls the target device.
[0118] In the monitoring startup phase, a series of initialization operations will be performed, including loading necessary driver programs to establish a stable connection with the MCTP protocol stack, initializing the buffer for storing temporary data, and setting the polling period. The setting of the polling period needs to be carefully considered. If it is too short, it may cause excessive consumption of system resources; if it is too long, the real-time performance of the monitoring data will be greatly reduced. Usually, this period will be reasonably set between several seconds and dozens of seconds according to the performance of the server and the requirement for the real-time monitoring of the target device.
[0119] After the monitoring process starts, it begins to traverse all the allocated device unique identifiers in the linked list. Each device unique identifier is like the identity proof of the target device in the MCTP network, uniquely identifying the corresponding PCIe devices such as GPUs. For each traversed device unique identifier, a request data packet will be constructed according to the MCTP protocol specification. This data packet contains the target device address (derived from the device unique identifier mapping), the type of data requested (such as the temperature, power consumption, and video memory usage of the device), and other necessary control information.
[0120] Subsequently, the request data packet is sent into the MCTP network. Under the action of the MCTP protocol stack, the data packet will be accurately routed to the target device. After receiving the request, the target device will query its own registers or status information according to the request content, organize the corresponding data into a response data packet, and then return it to the component monitoring process along the original path of the MCTP network. For example, for a GPU device, the process may obtain its core temperature, which is collected by a temperature sensor inside the GPU and stored in a specific register, and is read and returned when the corresponding request is received.
[0121] After the controller successfully receives the MCTP response data from devices such as GPUs, it will perform preliminary parsing and sorting of the data. The parsing process will convert the binary response data into an easy-to-understand and process format according to the structure definition of the device data, such as converting the temperature data from the original sensor value to degrees Celsius.
[0122] The sorted data will be quickly stored in a memory-based key-value database. As a high-performance key-value database based on memory, the memory-based key-value database has excellent read and write performance and can meet the stringent requirements of real-time data storage. When storing, a unique key-value will be set for each group of data. The key usually contains information such as the device unique identifier of the device, the data type, and the timestamp. In this way, it not only facilitates the storage and retrieval of data but also provides convenience for subsequent data analysis and display.
[0123] The user interface of the BMC can initiate data requests regularly, obtain the latest device data of devices such as GPUs from the memory-based key-value database, and display the device data. This request is also based on specific query logic and accurately obtains the required data set by means of key-value matching.
[0124] Figure 4 The structural schematic diagram of an electronic device according to an embodiment of the present application is shown.
[0125] As Figure 4As shown, the electronic device 400 may include a controller 101 and an integrated circuit conversion module electrically connected based on an integrated circuit bus. The integrated circuit conversion module may include a first integrated circuit conversion module 1021, a second integrated circuit conversion module 1022, …, an nth integrated circuit conversion module 1023. Here, n is an integer greater than 2. The first integrated circuit conversion module 1021 may be electrically connected to a first device D1, a second device D2, and a third device D3. The second integrated circuit conversion module 1022 may be electrically connected to a fourth device D4, a fifth device D5, a sixth device D6, and a seventh device D7. The nth integrated circuit conversion module 1023 may be electrically connected to an (N - 2)th device D N-2 , an (N - 1)th device D N-1 , and an Nth device D N . Here, N is an integer greater than or equal to 10. The first device D1, the second device D2, the third device D3, the fourth device D4, the fifth device D5, the sixth device D6, the seventh device D7, …, the (N - 2)th device D N-2 , the (N - 1)th device D N-1 , and the Nth device D N are all target devices, and their types may be completely the same, completely different, or partially the same.
[0126] For example, the controller 101 may be a BMC. The integrated circuit conversion module may be an integrated circuit conversion circuit board 9548I2C Switch.
[0127] The controller 101 may be used to communicate with the target device based on the above communication method.
[0128] For example, Figure 4 the target devices in
[0129] Figure 5 include devices that communicate with a server based on a high-speed serial computer bus in a server cluster, that is, PCIe devices in the server cluster.
[0130] As Figure 5 shown, the electronic device 400 may include a controller 101, an integrated circuit conversion module, and a bus multiplexer 103 electrically connected based on an integrated circuit bus. The integrated circuit conversion module may include a first integrated circuit conversion module 1021, a second integrated circuit conversion module 1022, …, an nth integrated circuit conversion module 1023. Figure 5 Similar to Figure 4 the controller 101 and the integrated circuit conversion module in
[0131] In Figure 5In it, the controller 101 can be electrically connected to the first end of the bus multiplexer 103 based on the I2C bus, and the second end of the bus multiplexer 103 can be electrically connected to the first integrated circuit conversion module 1021, the second integrated circuit conversion module 1022, …, the nth integrated circuit conversion module 1023 respectively based on the I2C bus to expand the channels of the I2C bus. For example, the first integrated circuit conversion module 1021, the second integrated circuit conversion module 1022, …, the nth integrated circuit conversion module 1023 can be electrically connected to a plurality of slot adapter cards respectively, and the plurality of slot adapter cards can all be electrically connected to the second end of the bus multiplexer 103.
[0132] For example, the bus multiplexer 103 can be a PCA9641 circuit board. The slot adapter card can be a Riser card.
[0133] It should be noted that the electronic device part in the embodiments of the present application corresponds to the communication method part in the embodiments of the present application. For the description of the electronic device part, please refer to the data communication method part specifically, and details will not be repeated here.
[0134] The present application also provides a computer-readable storage medium. The computer-readable storage medium can be included in the electronic device described in the above embodiments; or it can exist alone without being assembled into the electronic device. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the communication method according to the embodiments of the present application is implemented.
[0135] According to the embodiments of the present application, the computer-readable storage medium can be a non-volatile computer-readable storage medium. For example, it can include but is not limited to: portable computer disks, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), portable compact disk read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present application, the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or device.
[0136] For example, according to the embodiments of the present application, the computer-readable storage medium can include one or more memories other than the ROM and / or RAM and / or ROM and RAM described above.
[0137] Embodiments of the present application further include a computer program product, which includes a computer program containing program code for executing the methods provided in the embodiments of the present application. When the computer program product runs on an electronic device, the program code is used to cause the electronic device to implement the communication methods provided in the embodiments of the present application.
[0138] Those skilled in the art can understand that the features described in the various embodiments of the present application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present application. In particular, without departing from the spirit and teachings of the present application, the features described in the various embodiments of the present application can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present application.
[0139] The embodiments of the present application have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present application. Although the various embodiments have been described separately above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. The scope of the present application is defined by the appended various embodiments and their equivalents. Without departing from the scope of the present application, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present application.
Claims
1. A communication method, characterized in that, Including: When it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module and the target device is not configured with a device unique identifier, a target serial number is obtained according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module; The multiple first predetermined fields in the actual hardware link address of the target device are updated by using the target serial number to obtain a target link address; The device unique identifier of the target device is obtained according to multiple second predetermined fields in the target link address, so that the controller communicates with the target device according to the device unique identifier and the actual hardware link address, wherein the multiple second predetermined fields include the multiple first predetermined fields.
2. The method according to claim 1, characterized in that, The obtaining the target serial number according to the serial number of the target device in the server cluster and the maximum number of channels of the integrated circuit conversion module includes: Processing the sum of the serial number and the maximum number of channels by using the least significant bit in the multiple first predetermined fields to obtain the target serial number.
3. The method according to claim 1, characterized in that, The updating the multiple first predetermined fields in the actual hardware link address of the target device by using the target serial number to obtain the target link address includes: Performing an AND operation on the actual hardware link address and a first predetermined value to obtain an adjusted address, so as to extract other fields in the actual hardware link address except the multiple first predetermined fields based on the adjusted address, wherein multiple bits of the first predetermined value are 0; Performing an OR operation on the adjusted address and the target serial number to obtain the target link address.
4. The method according to claim 1, characterized in that, The method further includes: Sending communication requests to the target device in sequence by using multiple preset addresses, wherein the multiple preset addresses are link addresses of devices supported by channels electrically connected to the target device in the integrated circuit conversion module; In response to receiving the response information of the target device for any one of the preset addresses, it is determined that the controller is electrically connected to the target device based on the any one of the preset addresses.
5. The method according to claim 4, wherein The method further includes: when it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, Determining the actual hardware link address of the target device according to the any one of the preset addresses; Matching the actual hardware link address of the target device with multiple first addresses in a first address set, wherein the first address set includes actual hardware link addresses of target devices configured with device unique identifiers; When the actual hardware link address of the target device does not match any of the multiple first addresses, it is determined that the target device is not configured with a device unique identifier.
6. The method according to claim 4, characterized in that, The method further includes: Generating a serial number of the target device according to the order of the target device among multiple target devices electrically connected to the controller.
7. The method according to claim 6, wherein The method further includes: repeatedly performing an operation of determining whether the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module until it is determined that the controller is electrically connected to the target device based on the integrated circuit bus and the integrated circuit conversion module, or the number of repeated executions reaches a predetermined value.
8. The method according to claim 5, wherein Obtaining the device unique identifier of the target device according to multiple second predetermined fields in the target link address includes: Obtaining the linked list node stored in the linked list for the target device according to the linked list node pointer for the target device, where the linked list node includes the address information of the target device and the device identifier information of the target device; Updating the address information of the target device in the linked list node according to the target link address; Extracting multiple second predetermined fields in the address information of the target device to obtain the device unique identifier of the target device; Updating the device identifier information of the target device in the linked list node according to the device unique identifier of the target device.
9. The method according to claim 8, wherein The method further includes: Updating the first address at the serial number in the first address set according to the actual hardware link address of the target device; Updating the second address at the serial number in the second address set according to the target link address of the target device, where the second address set includes the target link addresses of the target devices configured with device unique identifiers; Updating the address information of the target device in the linked list node stored in the linked list according to the second address set and the first address set.
10. The method according to claim 9, wherein The updating the address information of the target device in the linked list node stored in the linked list according to the second address set and the first address set includes: For the second address at the serial number in the second address set, when the second address is equal to the address information of the target device in any linked list node stored in the linked list, updating the address information of the target device in the any linked list node to the first address at the serial number in the first address set.
11. The method according to claim 1, wherein The actual hardware link address of the target device includes, in sequence: the address of the bus multiplexer, the address of the integrated circuit conversion module, the channel number of the integrated circuit conversion module, the number of the integrated circuit bus, and the device address parameter of the target device.
12. An electronic device, characterized in that, It includes: A controller and an integrated circuit conversion module electrically connected based on an integrated circuit bus; The controller is used to communicate with the target device based on the communication method according to any one of claims 1 to 11.
13. The electronic device according to claim 12, characterized in that, The target device includes a device that communicates with a server based on a high-speed serial computer bus in a server cluster.
14. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, The computer program or instruction, when executed by a processor, implements the steps of the method according to any one of claims 1 to 11.
15. A computer program product, comprising a computer program or instructions, characterized in that, The computer program or instruction, when executed by a processor, implements the steps of the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Equipment management method and device for target equipment, equipment and storage medium
CN116578458A
RapidIO link configuration system and method and medium
CN116827788A
I2C equipment monitoring method and device, equipment and storage medium
CN117909183A
Identification information configuration method, device and system
CN119536832A
Cited By
Switching device and mainboard detection method
CN120560920A