Communication method, electronic device, storage medium and program product

By generating the target serial number and updating the hardware link address in the server cluster, setting a unique identity for PCIe devices solves the problem of device unique identity conflict, achieving efficient device management and communication, and improving the system reliability and remote management capabilities.

CN120234281BActive Publication Date: 2025-09-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510725130.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-30
Publication Date
2025-09-02
Estimated Expiration
2045-05-30

AI Technical Summary

Technical Problem

In a server cluster, how to set device unique identification for multiple PCIe devices to ensure that based on the I2C bus and MCTP can communicate normally with multiple PCIe devices, there is a problem of device unique identification conflict in the prior art.

Method used

When the controller is electrically connected to the target device, the target serial number is generated 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, and the serial number is used to update multiple fields in the actual hardware link address of the target device to generate the target link address, and finally obtain the device unique identification to ensure the uniqueness of the identification of each device.

Benefits of technology

The uniqueness of the device unique identification of each PCIe device is realized, ensuring that the controller can communicate normally with the target device, improving management efficiency and system reliability, supporting remote management and adapting to the needs of future technological development.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120234281B_ABST
    Figure CN120234281B_ABST
Patent Text Reader

Abstract

The present application provides a communication method, electronic device, storage medium, and program product, which can be applied in the field of communication technology. The communication method includes: 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 device unique identifier, obtaining a target sequence number based on the sequence number of the target device in a server cluster and the maximum number of channels of the integrated circuit conversion module; using the target sequence number, updating multiple first predetermined fields in the actual hardware link address of the target device to obtain a target link address; and obtaining a device unique identifier of the target device 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.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular, to a communication method, electronic equipment, storage medium, and program product. Background Art

[0002] With the development of information technology, the functionality of servers has been continuously enhanced, and their internal structures have become increasingly complex. They integrate multiple devices that communicate with the server based on the high-speed serial computer expansion bus (Peripheral Component Interconnect express, PCIe), hereinafter referred to as PCIe devices.

[0003] By monitoring PCIe devices in a server cluster using the Inter-Integrated Circuit (I2C) bus and the Management Component Transport Protocol (MCTP), various PCIe devices in the server cluster can be centrally managed. However, due to the large number of PCIe devices in a server cluster, setting unique device identifiers for multiple PCIe devices and ensuring proper communication with them using the I2C bus and MCTP has become a pressing technical challenge. Summary of the Invention

[0004] In view of this, the present application provides a communication method, electronic device, storage medium and program product.

[0005] According to one aspect of the present application, a communication method is provided, comprising: 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 device unique identifier, obtaining a target serial number according to the serial number of the target device in a server cluster and the maximum number of channels of the integrated circuit conversion module; using the target serial number to update multiple first predetermined fields in the actual hardware link address of the target device to obtain a target link address; obtaining a device unique identifier of the target device 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.

[0006] According to another aspect of the present application, an electronic device is provided, comprising: a controller and an integrated circuit conversion module electrically connected based on an integrated circuit bus; the above-mentioned controller is used to communicate with a target device based on the above-mentioned communication method.

[0007] According to another aspect of the present application, a computer-readable storage medium is provided, on which a computer program or instruction is stored. 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, a computer program product is provided, comprising a computer program or instructions, which implement the steps of the above method when executed by a processor.

[0009] According to an embodiment of the present application, when determining that a controller is electrically connected to a target device based on an integrated circuit bus and an integrated circuit conversion module and that the target device is not configured with a unique device identifier, a target sequence number is obtained based on the target device's sequence number in a server cluster and the maximum number of channels of the integrated circuit conversion module. This allows the target sequence numbers of each target device in the server cluster to be different and greater than the maximum number of channels of the integrated circuit conversion module. Furthermore, by using the target sequence number to update multiple first predetermined fields in the actual hardware link address of the target device to obtain a target link address, the target link address of each target device can be different, and the values ​​represented by the multiple first predetermined fields in the target link address can be greater than the maximum number of channels of the integrated circuit conversion module. A unique device identifier of the target device is obtained based on multiple second predetermined fields in the target link address, wherein the multiple second predetermined fields include multiple first predetermined fields. This allows the unique device identifier of each target device to be different, and the values ​​represented by the multiple first predetermined fields in the device unique identifier can be greater than the maximum number of channels of the integrated circuit conversion module. This ensures that the unique device identifier of each target device will not be the same as the identifier of a device that directly uses the multiple second predetermined fields of the actual hardware link address as the device unique identifier, thereby ensuring the uniqueness of the unique device identifier of each target device. This ensures that the controller can communicate normally with the target device based on the device's unique identifier and actual hardware link address. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The above and other objects, features and advantages of the present application will become more apparent through the following description of the embodiments of the present application with reference to the accompanying drawings.

[0011] Figure 1 An exemplary system architecture to which the communication method according to an embodiment of the present application can be applied is shown.

[0012] Figure 2 A flow chart of a communication method according to an embodiment of the present application is shown.

[0013] Figure 3 A flow chart of a communication method according to another embodiment of the present application is shown.

[0014] Figure 4A schematic structural diagram of an electronic device according to an embodiment of the present application is shown.

[0015] Figure 5 A schematic structural diagram of an electronic device according to another embodiment of the present application is shown. DETAILED DESCRIPTION

[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 exemplary only and are not intended to limit the scope of the present application. In the detailed description below, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present application. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessarily confusing the concepts of the present application.

[0017] The terms used herein are only for describing specific embodiments and are not intended to limit this application. The terms "comprise," "include," etc. used herein indicate the presence of the 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 skilled 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] When expressions such as "at least one of A, B, and C, etc." are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled 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 A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0020] Related technologies manage PCIe devices in servers based on the Intelligent Platform Management Interface (IPMI). For example, IPMI connects PCIe device sensors and other components in the server through the System Management Bus (SMBus) or I2C bus. Sensor data is then monitored to monitor and manage the relevant PCIe devices. However, this monitoring method suffers from a low bandwidth (100kHz), making it difficult to expand complex functionality. Furthermore, it only supports limited device monitoring and management functions, making it difficult to meet the requirements for in-depth and comprehensive monitoring of PCIe devices. Consequently, traditional monitoring methods are unable to effectively manage and monitor these PCIe devices.

[0021] Monitoring PCIe devices in servers using the I2C bus and MCTP enables unified management of various types of PCIe devices in the server. When communicating with PCIe devices using the I2C bus and MCTP, the PCIe device's unique identifier is obtained by intercepting the lower 16 bits of the actual hardware link address corresponding to the PCIe device. Due to the large number of PCIe devices in server systems, this method of obtaining unique identifiers for PCIe devices can result in conflicts when multiple PCIe devices have the same unique identifier. Therefore, setting unique identifiers for multiple PCIe devices to ensure normal communication with multiple PCIe devices using the I2C bus and MCTP has become a pressing technical issue.

[0022] In view of this, embodiments of the present application provide a communication method, electronic device, storage medium, and program product, which can be applied in the field of communication technology.

[0023] An embodiment of the present application provides a communication method, 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, 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; using the target serial number to update multiple first predetermined fields in the actual hardware link address of the target device to obtain a target link address; obtaining a device unique identifier of the target device based on multiple second predetermined fields in the target link address, so that the controller communicates with the target device based on the device unique identifier and the actual hardware link address, wherein the multiple second predetermined fields include multiple first predetermined fields.

[0024] Figure 1 An exemplary system architecture to which the communication method according to an embodiment of the present application can be applied is shown. Figure 1 What is shown is merely an example of a 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 does not mean that the embodiments of the present application cannot be used in other devices, systems, environments or scenarios.

[0025] like Figure 1 As 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 first device D1, the second device D2, ..., the Mth device D M The types can be completely the same, completely different, or partially the same.

[0026] The hardware link 102 is a first device D1, a second device D2, ..., an Mth device D M 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 extending the I2C bus, not limited to the integrated circuit conversion module.

[0027] The controller 101 can communicate with the first device D1, the second device D2, ..., the Mth device D1 respectively based on the I2C bus, the integrated bus management component transmission protocol and the hardware link 102. M The controller 101 can communicate with the first device D1, the second device D2, ..., the Mth device D respectively based on the communication method provided in this application. M Communicate to respectively communicate with the first device D1, the second device D2, ..., the Mth device D M Monitor and manage.

[0028] It should be understood that Figure 1 The number of controllers 101, hardware links 102 and various types of PCIe devices in the server cluster is merely illustrative and can be set according to actual needs.

[0029] Figure 2 A flow chart of a communication method according to an embodiment of the present application is shown.

[0030] like Figure 2 As shown, the 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 unique device identifier, the target serial number is obtained 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.

[0032] For example, the controller may be a baseboard management controller (BMC). The integrated circuit conversion module may be an integrated circuit conversion circuit board. For example, the integrated circuit conversion circuit board may be a 9548 I2CSwitch.

[0033] According to embodiments of the present application, a BMC is a management controller designed specifically for servers and other hardware devices. A BMC is part of the Intelligent Platform Management Interface (IPMI) and is capable of monitoring and controlling the server's hardware status via an independent management network. The BMC is typically integrated onto the server's motherboard, has its own processor, memory, and storage, and runs independent management software.

[0034] According to the embodiments of the application, the BMC serves as the management core of the entire system, responsible for monitoring and managing all devices connected to the BMC, including the target device. The BMC can communicate with all connected devices via the I2C bus, obtain device status information such as temperature and / or voltage, and issue control commands to adjust the device's operating status.

[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 a different I2C address, such as 0x71 and 0x72. The BMC can select different integrated circuit conversion modules for communication using these I2C addresses. Each integrated circuit conversion module can connect to multiple target devices through different channels.

[0036] According to an embodiment of the present application, the target device may be a device in a server cluster that communicates with a server based on PCIe, that is, the target device may be a PCIe device.

[0037] For example, the target device may be a graphics processing unit (GPU), a network card, or a storage controller in a service cluster.

[0038] According to an embodiment of the present application, a GPU is the primary computing device in a server cluster. GPUs of the same type share the same address on the I2C bus, such as 0x67. However, because multiple GPUs of the same type are connected to different 9548 I2C switches or to 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 the channel.

[0039] According to an embodiment of the present application, the plurality of serial numbers corresponding to the plurality of target devices increase in sequence as the plurality of target devices are identified 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. The value represented by bits 12 to 16 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, a plurality of first predetermined fields in the actual hardware link address of the target device are updated using the target sequence number to obtain a target link address.

[0042] For example, the plurality of first predetermined fields in the actual hardware link address may be data at bits 12 to 16 in the actual hardware link address.

[0043] For example, the multiple first predetermined fields in the target sequence number may be substituted for the multiple first predetermined fields in the actual hardware link address to obtain the target link address.

[0044] In operation S203, a device unique identifier of the target device is obtained based on a plurality of second predetermined fields in the target link address, so that the controller communicates with the target device based on the device unique identifier and the actual hardware link address, wherein the plurality of second predetermined fields include a plurality of first predetermined fields.

[0045] For example, the plurality of second predetermined fields in the target link address may be data at the lower 16 bits of the target link address, that is, data at bits 0 to 15 of the target link address.

[0046] For example, a plurality of second predetermined fields in the target link address may be intercepted to obtain the unique device identifier of the target device.

[0047] According to an embodiment of the present application, when determining that a controller is electrically connected to a target device based on an integrated circuit bus and an integrated circuit conversion module and that the target device is not configured with a unique device identifier, a target sequence number is obtained based on the target device's sequence number in a server cluster and the maximum number of channels of the integrated circuit conversion module. This allows the target sequence numbers of each target device in the server cluster to be different and greater than the maximum number of channels of the integrated circuit conversion module. Furthermore, by using the target sequence number to update multiple first predetermined fields in the actual hardware link address of the target device to obtain a target link address, the target link address of each target device can be different, and the values ​​represented by the multiple first predetermined fields in the target link address can be greater than the maximum number of channels of the integrated circuit conversion module. A unique device identifier of the target device is obtained based on multiple second predetermined fields in the target link address, wherein the multiple second predetermined fields include multiple first predetermined fields. This allows the unique device identifier of each target device to be different, and the values ​​represented by the multiple first predetermined fields in the device unique identifier can be greater than the maximum number of channels of the integrated circuit conversion module. This ensures that the unique device identifier of each target device will not be the same as the identifier of a device that directly uses the multiple second predetermined fields of the actual hardware link address as the device unique identifier, thereby ensuring the uniqueness of the unique device identifier of each target device. This ensures that the controller can communicate normally with the target device based on the device's unique identifier and 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 normally with the target device based on the I2C bus and MCTP according to the device unique identifier and the actual hardware link address, thereby realizing monitoring of the PCIe device in the server based on the I2C bus and MCTP.

[0049] According to the embodiments of the present application, when monitoring PCIe devices in a server based on the I2C bus and MCTP, PCIe devices of different types and manufacturers can be incorporated into a unified monitoring system. The controller can monitor, configure, and manage multiple PCIe devices through a single management interface, thereby improving management efficiency.

[0050] For example, monitoring PCIe devices in servers using the I2C bus and MCTP can enhance device monitoring capabilities. This monitoring provides real-time access to various PCIe device status information, such as temperature, voltage, fan speed, and operating frequency. It also monitors the operating status and error messages of PCIe devices, helping to promptly identify PCIe device failures and potential issues, enabling proactive maintenance and repair measures, and reducing PCIe device failure rates and downtime.

[0051] For example, monitoring PCIe devices in servers using the I2C bus and MCTP can improve system reliability. Real-time monitoring and management of PCIe devices using the I2C bus and MCTP can promptly identify and resolve compatibility issues and resource conflicts between PCIe devices, ensuring system stability and reliability. Furthermore, if a PCIe device fails, the faulty device can be quickly located, facilitating troubleshooting and repair, thereby improving system availability.

[0052] For example, monitoring PCIe devices in servers using the I2C bus and MCTP supports remote management. This monitoring, combined with the server's out-of-band management capabilities, enables remote monitoring and management of PCIe devices. This allows operation and maintenance of PCIe devices without direct access to the server, facilitating server management in remote data centers and computer rooms.

[0053] For example, monitoring PCIe devices in servers based on the I2C bus and MCTP can adapt to future technological developments. With the continuous advancement of server technologies, such as heterogeneous computing and high-speed networks, the requirements for managing and monitoring PCIe devices are also increasing. Monitoring PCIe devices in servers based on the I2C bus and MCTP is a flexible and scalable management method that can adapt to future technological developments and provide strong support for server system upgrades and expansions.

[0054] According to the embodiments of the present application, Figure 2 The operation S201 shown obtains the 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, and may include the following operations: using the least significant bits in multiple first predetermined fields to process the sum of the serial number and the maximum number of channels to obtain the target serial number.

[0055] For example, when the plurality of first predetermined fields contain data at bits 12 to 16, the least significant bit in the plurality of first predetermined fields is bit 12. The sum of the sequence number and the maximum number of channels can be shifted left by 12 bits to obtain the target sequence number, so that the value represented by bits 12 to 16 in the target sequence number is the sum of the sequence 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 utilizing the least significant bits in multiple first predetermined fields, the sum of the serial number and the maximum number of channels is processed to obtain a target serial number, so that the target serial numbers of each target device in the server cluster can be different and all greater than the maximum number of channels of the integrated circuit conversion module. At the same time, the values ​​represented by the multiple first predetermined fields of the target serial number are the sum of the serial number and the maximum number of channels, so that the multiple first predetermined fields in the actual hardware link address of the target device can be quickly modified based on the multiple first predetermined fields of the target serial number.

[0057] According to the embodiments of the present application, Figure 2 Operation S202, in which the target sequence number is used to update multiple first predetermined fields in the actual hardware link address of the target device to obtain the 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, thereby extracting other fields of the actual hardware link address other than the multiple first predetermined fields based on the adjusted address, wherein multiple bits of the first predetermined value are 0; and performing an OR operation on the adjusted address and the target sequence number to obtain the target link address.

[0058] For example, the multiple first predetermined fields of the first predetermined value may all be 0, and the other fields in the first predetermined value except the multiple first predetermined fields may all be 1.

[0059] According to an embodiment of the present application, an adjustment address is obtained by performing an AND operation on the actual hardware link address and a first predetermined value, so that other fields in the actual hardware link address other than the multiple first predetermined fields are extracted based on the adjustment address, ensuring that the other fields in the adjustment address other than the multiple first predetermined fields are consistent with the corresponding fields in the actual hardware link address. By performing an OR operation on the adjustment address and the target sequence number to obtain the target link address, the multiple first predetermined fields in the target link address can be made the same as the multiple first predetermined fields in the target sequence number, while ensuring that the other fields in the target link address other than the multiple first predetermined fields are consistent with the corresponding fields in the actual hardware link address. Since the target sequence numbers of the target devices are different and are all greater than the maximum number of channels of the integrated circuit conversion module, the target link addresses of the target devices are different, 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. Dynamic allocation of target link addresses to each target device is achieved.

[0060] According to an embodiment of the present application, since 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, it can be ensured that the target link address will not be the same as the actual hardware link address.

[0061] According to an embodiment of the present application, in a server cluster, due to the need to integrate a large number of different types of PCIe devices, the hardware link becomes complicated. In order to efficiently and accurately assign a unique device identifier to each PCIe device, a strategy can be adopted in which the BMC automatically assigns the identifier based on the hardware link design of different projects. For example, a hardware link table can be configured for each service cluster used for different projects. 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 call of the corresponding hardware link table for subsequent target device identification and device unique identifier allocation when using different projects.

[0062] For example, if a controller communicates with, manages, and controls multiple PCIe devices via the I2C bus, it can be electrically connected to each PCIe device through a bus multiplexer, a slot adapter, and an integrated circuit conversion module. The bus multiplexer can be a PCA9641 circuit board, the slot adapter can be a riser card, and the integrated circuit conversion module can be a 9548 I2C switch integrated circuit conversion board. Multiple slot adapters can be provided. Each riser card can be equipped with a 9548 I2C switch to further expand the I2C channels.

[0063] A bus multiplexer acts as an adapter between the controller and the slot riser card, providing signal amplification, level shifting, and protocol adaptation to ensure stable I2C signal transmission to the slot riser card. The slot riser card provides additional physical interfaces and electrical connections to expand system functionality and connect more devices. For example, three slot risers can be electrically connected to the bus multiplexer, each equipped with an integrated circuit conversion module.

[0064] The actual hardware link address of the target device may include, in order: the address of the 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.

[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 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. The actual hardware link address of the target device can be a 32-bit integer. Hardware address information at different levels can be extracted through bit operations to facilitate communication based on hardware address information at different levels.

[0066] For example, when performing an AND operation on the actual hardware link address of the target device and multiple fields "0xff000000", the address of the bus multiplexer can be extracted from the actual hardware link address of the target device. The address is 7 bits and is used to uniquely identify the position of the bus multiplexer on the I2C bus.

[0067] When the actual hardware link address of the target device is used to perform an AND operation with multiple fields "0x00ff0000", the address of the integrated circuit conversion module can be extracted from the actual hardware link address of the target device. The 7-bit address is used to locate the position of the integrated circuit conversion module on the I2C bus.

[0068] When the actual hardware link address of the target device is used to perform an AND operation with the multiple fields "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 and multiple fields "0x00000f00", the integrated circuit bus number can be extracted from the actual hardware link address of the target device. The integrated circuit bus number is used to distinguish different integrated circuit buses.

[0070] When the actual hardware link address of the target device is ANDed with multiple fields "0x000000ff", the device address of the target device can be extracted from the actual hardware link address of the target device. The 7-bit address is used to accurately identify the location of the specific target device on the I2C bus.

[0071] The hardware link table may 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 the different types of target devices supported by each channel.

[0072] The hardware link table for the current project can be loaded into global variables, making it easy to access and use this hardware link information at any time when assigning unique device identifiers to target devices. The use of global variables ensures that the hardware link table can be quickly called throughout the program, improving data processing efficiency.

[0073] When performing a device presence check operation, the controller will sequentially traverse each link address stored in the global variable. For each link address, the controller will parse out the corresponding bus multiplexer address, 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 parameters of the target device in accordance with the encoding rules. Then, based on the I2C protocol, the controller will attempt to communicate with the target device through these address information. If the target device can respond normally to the controller's communication request, it means 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 is unsuccessful, it means that the controller is not electrically connected to the target device and the target device is not in place, then the address will be ignored and the next actual hardware link address will be processed.

[0074] According to the embodiments of the present application, Figure 2 The communication method shown may also include the following operations: using multiple preset addresses to send communication requests to the target device in sequence, 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 response information from the target device for any preset address, determining that the controller is electrically connected to the target device based on any preset address.

[0075] For example, the multiple preset addresses may be link addresses corresponding to channels electrically connected to the target device and stored in the hardware link table.

[0076] According to an embodiment of the present application, by responding to receiving the response information of the target device for any preset address, it is determined that the controller is electrically connected to the target device based on any preset address, and the target device is determined to be in place. At the same time, it can be determined that the target device is a device type corresponding to any preset address.

[0077] According to an embodiment of the present application, communication requests are sent to the target device in sequence by utilizing multiple preset addresses, and the multiple preset addresses are link addresses of devices supported by channels in the integrated circuit conversion module that are electrically connected to the target device. In response to receiving a response message from the target device for any preset address, the controller is determined to be electrically connected to the target device based on any preset address by a technical means. While determining that the target device is in place, it is possible to determine that the target device is a device type corresponding to any preset address, thereby enabling the corresponding channel in the integrated circuit conversion module to connect to different types of target devices, without the need to connect to fixed types of devices.

[0078] According to the embodiments of the present application, Figure 2 The communication method shown may further include generating a sequence number of the target device according to the sequence of the target device among the plurality of target devices electrically connected to the controller.

[0079] For example, the sequence number of the j+1th identified device can be obtained by adding 1 to the sequence number of the jth identified device. j is a positive integer. The on-site identification time of the jth device is earlier than the on-site identification time of the j+1th device.

[0080] According to an embodiment of the present application, by generating a serial number of the target device according to the order in which the target device is located among multiple target devices electrically connected to the controller, a serial number can be dynamically assigned to each target device in the server cluster, while ensuring that the serial numbers of each target device in the server cluster are different, thereby preparing for determining the unique device identification of each target device that is different from each other.

[0081] According to the embodiments of the present application, Figure 2 The communication method shown may also include the following operations: 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 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 target device presence identification operation for a predetermined number of times: using the controller to sequentially traverse each link address stored in the global variable. For each link address, the controller communicates with the target device through these address information based on the I2C protocol. When the target device is able to respond to the communication request of the controller, it means that the target device is in place, the controller is electrically connected to the target device, and assigns a unique device identifier to the target device. If the target device does not respond, that is, the access is unsuccessful, it means that the controller is not electrically connected to the target device and the target device is not in place, then the address is ignored and the next link address is processed.

[0083] For example, 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 includes repeatedly performing 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 operations reaches a predetermined value: for multiple link addresses corresponding to each channel of each integrated circuit conversion module stored in a global variable, using the multiple link addresses to send communication requests to the target devices corresponding to the channels in turn; within a preset time period, no response information from the target device for any link address is received, returning to the operation of sending communication requests to the target devices corresponding to the channels in turn using the multiple link addresses; in response to receiving the response information from the target device for any link address, determining that the controller is electrically connected to the target device based on any link address.

[0084] According to the embodiments of the present application, since more devices in the server cluster are connected to the controller based on the same I2C bus, and the controller concurrently processes data of different tasks in multiple processes and multiple threads, when performing device presence detection, sometimes the I2C bus is occupied by tasks other than the device presence detection task, resulting in some PCIe devices being in place but failing to be identified.

[0085] According to an embodiment of the present application, by 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 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, it is possible to perform target device presence identification multiple times, add a retry mechanism, and avoid the situation where the target device is in place but the presence identification fails due to the I2C bus being occupied by other tasks besides the device presence detection task when the target device is in place. This thereby improves the accuracy of target device presence identification.

[0086] According to the embodiments of the present application, Figure 2 The communication method shown may further include the following operations: 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 a first address set, wherein the first address set includes the actual hardware link address of the target device configured with a device unique identifier; 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.

[0087] According to an embodiment of the present application, by determining that the controller is electrically connected to the target device based on an integrated circuit bus and an integrated circuit conversion module, the actual hardware link address of the target device is determined according to any preset address, and the actual hardware link address of the target device is matched with multiple first addresses in a first address set. The first address set includes the actual hardware link address of the target device configured with a device unique identifier. When the actual hardware link address of the target device does not match any of the multiple first addresses, a technical means is used to determine 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 any of the actual hardware link addresses of the target devices configured with a device unique identifier included in the first address set, the target device can be accurately identified as not configured with a device unique identifier, so that only the target device that is not configured with a device unique identifier is subsequently configured with a device unique identifier, avoiding repeated configuration of a device unique identifier for a target device configured with a device unique identifier, and 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 requires 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 is created for the target device. The linked list node can include the target device's address information and the target device's device identifier information.

[0089] According to the embodiments of the present application, Figure 2 The operation S203 shown, obtaining the device unique identifier of the target device based on multiple second predetermined fields in the target link address, may include the following operations: obtaining a linked list node for the target device stored in the linked list based on the linked list node pointer for the target device, wherein the linked list node includes the address information of the target device and the device identification information of the target device; updating the address information of the target device in the linked list node based on the target link address; extracting multiple second predetermined fields from the address information of the target device to obtain the device unique identifier of the target device; updating the device identification information of the target device in the linked list node based on the device unique identifier of the target device.

[0090] According to an embodiment of the present application, a linked list node for the target device stored in the linked list is obtained according to a linked list node pointer for the target device, the linked list node includes the address information of the target device and the device identification information of the target device, and the address information of the target device in the linked list node is updated according to the target link address, and multiple second predetermined fields in the address information of the target device are extracted to obtain the device unique identification of the target device. According to the device unique identification of the target device, a technical means is used to update the device identification information of the target device in the linked list node. This technical means can dynamically allocate a device unique identification for the target device while storing the device unique identification and the target link address of the target device in the linked list, so that the device unique identification of the target device stored in the linked list can be quickly called at any time to communicate normally with the target device, thereby improving monitoring efficiency.

[0091] According to an embodiment of the present application, after obtaining the target device's serial number, target link address, and actual hardware link address, the target device's target link address and actual hardware link address can be stored separately based on the target device's serial number. In this case, the target device's serial number, target link address, and actual hardware link address form a corresponding relationship.

[0092] According to the embodiments of the present application, Figure 2The communication method shown may further include the following operations: updating a first address at a sequence number in a first address set based on an actual hardware link address of the target device. Updating a second address at a sequence number in a second address set based on a target link address of the target device. The second address set includes target link addresses of target devices configured with a unique device identifier. The second address at a sequence number in the second address set and the first address at a sequence number in the first address set correspond 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 may be updated.

[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 address to ensure that in subsequent communication processes, the controller can accurately communicate with the target device based on the real hardware address.

[0095] According to the embodiments of the present application, Figure 2 The communication method shown 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 all the unique device identifiers of the target devices are allocated, an operation of updating the address information of the target devices in the linked list nodes stored in the linked list according to the second address set and the first address set may be performed.

[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 located 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 located at the serial number in the first address set.

[0098] According to an embodiment of the present application, a technical means is provided for 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, so that a correspondence is formed between the serial number, target link address and actual hardware link address of the target device stored in the first address set and the second address set, thereby preparing for subsequently restoring the target link address in each linked list node stored in the linked list to the actual hardware link address based on the correspondence.

[0099] According to an embodiment of the present application, by updating the address information of the target device in any linked list node to the first address located at the sequence number in the first 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, a corresponding relationship between the sequence number, target link address and actual hardware link address of the target device is achieved, and the target link address of the target device in any linked list node stored in the linked list is accurately replaced with the actual hardware link address of the target device. This ensures that in the subsequent communication process, the controller can accurately communicate 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 device unique identifier of the target device, the controller can accurately communicate with the target device based on the actual hardware link address and device unique identifier of the target device.

[0101] Figure 3 A flow chart of a communication method according to another embodiment of the present application is shown.

[0102] like Figure 3 As shown, the communication method includes operations S301 to S313.

[0103] In operation S301 , a communication method is started.

[0104] In operation S302, a hardware link table for the current project is configured.

[0105] In operation S303 , the hardware link table for the current project is loaded into global variables.

[0106] In operation S304, each link address stored in the global variable is traversed.

[0107] In operation S305, a communication request is sent to the corresponding target device using the i-th link address in the global variable, and a determination is made as to whether the controller is electrically connected to the corresponding target device based on the i-th link address. If so, operation S306 is performed. If not, operation S309 is performed. Where i is a positive integer.

[0108] In operation S306, determine whether the target device is configured with a device unique identifier. If not, perform operation S307. If so, 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 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, perform operation S312. If not, perform operation S311. Here, 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 node stored in the linked list is replaced with the actual hardware link address of the target device, so that 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 node stored in the linked list. For example, replacing the target link address of the target device in the linked list node stored in the linked list with the actual hardware link address of the target device may include: for a second address at a sequence number in the second address set, if 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 sequence number in the first address set.

[0115] In operation S313, the communication method ends.

[0116] According to Figure 3 The communication method shown can automatically assign unique device identifiers to target devices in a server cluster. The design of the hardware link table and the use of dynamic unique device identifiers effectively address issues such as numerous target devices, complex hardware links, and unique device identifier conflicts in a server cluster, improving the maintainability and stability of the server cluster.

[0117] According to an embodiment of the present application, after the server cluster is started up and the allocation of device unique identifiers for each target device in the server cluster is completed, and the linked list storing the device unique identifiers and actual hardware link addresses of each target device is constructed, the controller communicates with the target device based on the device unique identifier and actual hardware link address of the target device in the linked list node stored in the linked list to monitor and control the target device.

[0118] During the monitoring startup phase, a series of initialization operations are performed, including loading the necessary drivers to establish a stable connection with the MCTP protocol stack, initializing a buffer for storing temporary data, and setting the polling period. The polling period should be carefully selected. A short polling period may lead to excessive consumption of system resources, while a long polling period may significantly reduce the real-time nature of the monitoring data. Typically, this period ranges from several seconds to tens of seconds, depending on the server's performance and the real-time requirements for monitoring the target device.

[0119] Once the monitoring process starts, it begins traversing all assigned device IDs in the linked list. Each device ID serves as the target device's identity within the MCTP network, uniquely identifying the corresponding PCIe device, such as a GPU. For each device ID found, a request packet is constructed according to the MCTP protocol specification. This packet includes the target device address (determined by mapping the device ID), the requested data type (such as device temperature, power consumption, and video memory usage), and other necessary control information.

[0120] The request packet is then sent to the MCTP network. The MCTP protocol stack ensures that the packet is accurately routed to the target device. Upon receiving the request, the target device queries its registers or status information based on the request content, organizes the corresponding data into a response packet, and then returns it along the MCTP network to the component monitoring process. For example, for a GPU device, the process might obtain its core temperature. This data is collected by the GPU's internal temperature sensor and stored in a specific register. This data is read and returned when the corresponding request is received.

[0121] After successfully receiving MCTP response data from a device like a GPU, the controller performs preliminary parsing and organization of the data. This parsing process converts the binary response data into a format that is easier to understand and process, based on the device data structure. For example, it converts temperature data from raw sensor values ​​to Celsius.

[0122] The organized data is quickly stored in an in-memory key-value database. As a high-performance, in-memory key-value database, this database offers excellent read and write performance, meeting the stringent requirements of real-time data storage. During storage, a unique key is assigned to each set of data. The key typically includes information such as the device's unique identifier, data type, and timestamp. This approach not only facilitates data storage and retrieval, but also facilitates subsequent data analysis and presentation.

[0123] The BMC user interface can periodically request data from an in-memory key-value database to retrieve and display the latest GPU and other device data. This request is also based on specific query logic, using key-value matching to accurately retrieve the required data set.

[0124] Figure 4 A schematic structural diagram of an electronic device according to an embodiment of the present application is shown.

[0125] like 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. Wherein, n is an integer greater than 2. The first integrated circuit conversion module 1021 can be electrically connected to the first device D1, the second device D2, and the third device D3. The second integrated circuit conversion module 1022 can be electrically connected to the fourth device D4, the fifth device D5, the sixth device D6, and the seventh device D7. The nth integrated circuit conversion module 1023 can be electrically connected to the N-2th device D N-2 , N-1th device D N-1 , Nth device D N wherein 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-2th device D N-2 , N-1th device D N-1 , Nth device D N They are all target devices, and their types can be exactly the same, completely different, or partially the same.

[0126] For example, the controller 101 may be a BMC, and the integrated circuit conversion module may be an integrated circuit conversion circuit board 9548 I2C Switch.

[0127] The controller 101 may be configured to communicate with the target device based on the above communication method.

[0128] For example, Figure 4 The target devices include devices in the server cluster that communicate with the server based on a high-speed serial computer bus, that is, PCIe devices in the server cluster.

[0129] Figure 5 A schematic structural diagram of an electronic device according to another embodiment of the present application is shown.

[0130] like Figure 5 As 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 and Figure 4 The controller 101 and the integrated circuit conversion module have similar structures and functions, which will not be described in detail here.

[0131] exist Figure 5In the embodiment, controller 101 can be electrically connected to a first terminal of bus multiplexer 103 via an I2C bus, and a second terminal of bus multiplexer 103 can be electrically connected to first integrated circuit conversion module 1021, second integrated circuit conversion module 1022, ..., and nth integrated circuit conversion module 1023, respectively, via the I2C bus, to expand the channels of the I2C bus. For example, first integrated circuit conversion module 1021, second integrated circuit conversion module 1022, ..., and nth integrated circuit conversion module 1023 can be electrically connected to multiple slot riser cards, respectively, and each of the multiple slot riser cards can be electrically connected to the second terminal of bus multiplexer 103.

[0132] For example, the bus multiplexer 103 may be a PCA9641 circuit board, and the slot adapter card may be a riser card.

[0133] It should be noted that the electronic device part in the embodiment of the present application corresponds to the communication method part in the embodiment of the present application. The description of the electronic device part specifically refers to the data communication method part and will not be repeated here.

[0134] This application also provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiments, or may exist independently without being incorporated into the electronic device. The computer-readable storage medium carries one or more programs, and when the one or more programs are executed, the communication method according to the embodiments of this application is implemented.

[0135] According to embodiments of the present application, a computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples include, but are not limited to, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0136] For example, according to an embodiment of the present application, the computer-readable storage medium may include the ROM and / or RAM described above and / or one or more memories other than the ROM and RAM.

[0137] An embodiment of the present application also includes a computer program product, which includes a computer program, which contains program code for executing the method provided by the embodiment of the present application. When the computer program product is run on an electronic device, the program code is used to enable the electronic device to implement the communication method provided by the embodiment of the present application.

[0138] Those skilled in the art will appreciate that the features described in the various embodiments of this application may be combined and / or coupled in various ways, even if such combinations or couplings are not explicitly described in this application. In particular, the features described in the various embodiments of this application may be combined and / or coupled in various ways without departing from the spirit and teachings of this application. All such combinations and / or couplings fall within the scope of this 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 each embodiment has been described above separately, this does not mean that the measures in each embodiment cannot be advantageously used in combination. The scope of the present application is defined by the accompanying embodiments and their equivalents. Without departing from the scope of the present application, those skilled in the art may make various substitutions and modifications, and these substitutions and modifications should all fall within the scope of the present application.

Claims

1. A communication method, characterized in that: include: 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 unique device identifier, 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: using least significant bits of multiple first predetermined fields in an actual hardware link address of the target device to process a sum of the serial number and the maximum number of channels to obtain the target serial number; Using the target sequence number, the plurality of first predetermined fields are updated to obtain a target link address; The device unique identifier of the target device is obtained according to the 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 updating of the plurality of first predetermined fields in the actual hardware link address of the target device by using the target sequence 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 of 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; Perform an OR operation on the adjusted address and the target sequence number to obtain the target link address.

3. The method according to claim 1, characterized in that The method further comprises: sending communication requests to the target device in sequence using a plurality of preset addresses, wherein the plurality of preset addresses are link addresses of devices supported by a channel in the integrated circuit conversion module electrically connected to the target device; In response to receiving response information from the target device for any preset address, it is determined that the controller is electrically connected to the target device based on the any preset address.

4. The method according to claim 3, characterized in that 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 any of the preset addresses; Matching the actual hardware link address of the target device with a plurality of first addresses in a first address set, wherein the first address set includes the actual hardware link address of the target device configured with a unique device identifier; If 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.

5. The method according to claim 3, characterized in that The method further comprises: A sequence number of the target device is generated according to the sequence of the target device among a plurality of target devices electrically connected to the controller.

6. The method according to claim 5, characterized in that The method also includes: 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 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.

7. The method according to claim 4, characterized in that The obtaining the unique device identifier of the target device according to the plurality of second predetermined fields in the target link address includes: Obtaining, according to the linked list node pointer for the target device, a linked list node for the target device stored in the linked list, wherein the linked list node includes address information of the target device and device identification information of the target device; According to the target link address, updating the address information of the target device in the linked list node; Extracting a plurality of second predetermined fields from the address information of the target device to obtain a unique device identifier of the target device; The device identification information of the target device in the linked list node is updated according to the unique device identification of the target device.

8. The method according to claim 7, characterized in that The method further comprises: updating the first address at the sequence number in the first address set according to the actual hardware link address of the target device; updating the second address at the sequence 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 address of the target device configured with a unique device identifier; According to the second address set and the first address set, the address information of the target device in the linked list node stored in the linked list is updated.

9. The method according to claim 8, characterized in that The updating, according to the second address set and the first address set, of the address information of the target device in the linked list node stored in the linked list includes: For the second address located 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 located at the serial number in the first address set.

10. The method according to claim 1, characterized in that 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 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.

11. An electronic device, characterized in that: include: A controller and an integrated circuit conversion module electrically connected based on an integrated circuit bus; The controller is configured to communicate with a target device based on the communication method according to any one of claims 1 to 10.

12. The electronic device according to claim 11, wherein: The target device includes a device in a server cluster that communicates with a server based on a high-speed serial computer bus.

13. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

14. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • Identification information configuration method, device and system

    CN119536832A