Fool-proof detection method and computing device

By obtaining functional module identification information through BMC, the coupling error problem caused by identical cable interfaces in computing devices is solved, and accurate foolproof detection is achieved to prevent equipment failure.

CN115902710BActive Publication Date: 2026-06-16XFUSION DIGITAL TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XFUSION DIGITAL TECH CO LTD
Filing Date
2022-10-26
Publication Date
2026-06-16

AI Technical Summary

Technical Problem

In computing devices, the identical cable interfaces of functional modules in different slots can lead to cable coupling errors, which can easily cause malfunctions in the computing device.

Method used

The identification information of the functional modules is obtained by the Baseboard Management Controller (BMC), and the interface information is determined based on the identification information to realize the foolproof detection of cable coupling relationship and prevent incorrect coupling of internal interfaces and functional modules of computing devices.

🎯Benefits of technology

It improves the accuracy and efficiency of cable coupling detection, prevents computer equipment malfunctions, and ensures the correctness of cable connections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115902710B_ABST
    Figure CN115902710B_ABST
Patent Text Reader

Abstract

The application relates to a fool-proof detection method and a computing device, and relates to the technical field of computers. The application is used to solve the problem that the coupling relationship between a first interface and a second interface in a computing device is incorrect, thereby causing the computing device to malfunction. The fool-proof detection method comprises the following steps: a baseboard management controller obtains identification information of a functional module through a first communication link. The baseboard management controller determines interface information corresponding to the functional module based on the identification information. The baseboard management controller outputs a detection result based on the interface information; if the interface information indicates a target interface, the detection result indicates that the cable coupling is correct; if the interface information indicates other first interfaces except the target interface in the plurality of first interfaces, the detection result indicates that the cable coupling is incorrect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a foolproof detection method and computing device. Background Technology

[0002] Current computing devices, such as servers, typically include a baseboard management controller (BMC) and a service system. The service system is a functional system composed of a central processing unit (CPU), memory, network interface cards (NICs), and other functional modules. It runs a basic input / output system (BIOS) and loads an operating system and various business software, enabling it to provide various services via the network. The BMC monitors the various software and hardware components on the service system. Typically, the BMC is coupled to multiple devices within the service system using cables. However, in some cases, the cable interfaces of functional modules in different slots are identical, making physical foolproofing impossible. This can easily lead to cable coupling errors, especially when there are many cables.

[0003] Therefore, there is an urgent need for a method that uses software to perform foolproof detection of cable coupling relationships. Summary of the Invention

[0004] This application provides a foolproof detection method and computing device for foolproof detection of the coupling relationship between cables that are respectively coupled to a first interface and a second interface inside the computing device.

[0005] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0006] Firstly, a foolproof detection method is provided, applied to a computing device. The computing device includes a BMC and function slots. The BMC includes multiple first interfaces. A function module is inserted into the function slot, and the function module includes a second interface; the target interface and the second interface among the multiple first interfaces are coupled by a cable to form a first communication link.

[0007] The foolproof detection method includes: the baseboard management controller acquiring the identification information of the functional module through a first communication link; the baseboard management controller determining the interface information corresponding to the functional module based on the identification information; and the baseboard management controller outputting a detection result based on the interface information. If the interface information indicates the target interface, the detection result indicates that the cable coupling is correct; if the interface information indicates another first interface among multiple first interfaces besides the target interface, the detection result indicates that the cable coupling is incorrect.

[0008] In computing devices, multiple first interfaces on the BMC are coupled one-to-one with second interfaces on multiple functional modules via cables. However, due to the large number of coupled cables, incorrect cable coupling can easily occur. For example, the first interface on the BMC coupled to one end of the cable may not match the second interface on the functional module coupled to the other end of the cable. This can lead to malfunctions in the computing device.

[0009] The foolproof detection method provided in this application, after the target interface of the BMC is coupled to the second interface of the functional module through a cable to form a second communication link, the BMC obtains the identification information of the coupled functional module through the first communication link coupled to the target interface. Therefore, based on the identification information of the functional module, it detects whether the coupling relationship of the cables coupling the functional module and the target interface is correct, thereby achieving foolproof detection of the cable coupling relationship and preventing malfunctions in the computing device caused by incorrect coupling of the functional modules containing the first and second interfaces inside the computing device.

[0010] In some embodiments, the substrate management controller determines the interface information corresponding to the functional module based on the identification information, including: the substrate management controller determines the slot information of the functional slot where the functional module is located based on a first correspondence and the identification information. The first correspondence includes the identification information of each functional module and the slot information of the functional slot where each functional module is located. The substrate management controller determines the interface information corresponding to the functional slot based on a second correspondence and the slot information; the second correspondence includes the slot information of each functional slot and the interface information of the first interface coupled to each functional slot.

[0011] In this embodiment, after determining the identification information of the functional module, the BMC uses the identification information to confirm the slot information of the functional slot where the functional module is located. Then, it uses the slot information of the functional slot where the functional module is located to further confirm the interface information of the first interface corresponding to the functional module for foolproof detection. This can accurately determine the interface information of the first interface corresponding to the functional module in the user's pre-configuration, so as to facilitate subsequent judgment on whether the first interface of the cable coupling is correct, and prevent the computing device from malfunctioning due to incorrect cable coupling.

[0012] In some embodiments, the substrate management controller determines the interface information corresponding to the functional modules based on identification information, including: the substrate management controller determines a third correspondence based on a first correspondence and a second correspondence. The first correspondence includes the identification information of each functional module and the slot information of the functional slot where each functional module is located; the second correspondence includes the slot information of each functional slot and the interface information of the first interface coupled to each functional slot; the third correspondence includes the identification information of each functional module and the interface information corresponding to the identification information of each functional module. The substrate management controller determines the interface information corresponding to the functional modules based on the third correspondence and the identification information.

[0013] In this embodiment, before obtaining the identification information of the functional module through the first communication link, the BMC pre-obtains a third correspondence relationship through the first and second correspondence relationships. This allows the BMC to directly search for the interface information of the first interface corresponding to the identification information of the functional module in the third correspondence relationship after obtaining the identification information of the functional module. This saves the steps of searching for data multiple times after obtaining the identification information of the functional module, improves the efficiency of the BMC in determining the first interface corresponding to the functional module, and thus improves the efficiency of mistaken detection.

[0014] In some embodiments, in the computing device, each functional module also forms a second communication link with the baseboard management controller through its respective functional slot, and the first communication link is different from the second communication link. Before the baseboard management controller determines the interface information corresponding to the functional module based on the identification information, the method further includes: the baseboard management controller obtaining the slot information of each functional slot and the identification information of each functional module through the second communication link. Based on the slot information of each functional slot and the identification information of each functional module, a first correspondence is obtained. In the first correspondence, a correspondence between the slot information of each functional slot and the identification information of the functional module is established according to the insertion relationship between each functional slot and the functional module.

[0015] In this embodiment, the BMC can obtain the functional slots coupled to each first interface and the functional modules on those slots through the second communication link, thereby understanding the actual coupling relationship between the internal hardware of the server. This improves the accuracy of the first and second correspondences, and thus enhances the accuracy of mistaken detection.

[0016] In some embodiments, the first communication link includes a management system. The management system includes at least one of a basic input / output system (BIOS), an Intel management engine (ME), and management service software. The management system interacts with the BMC and multiple function slots. The baseboard management controller obtains slot information of each function slot and identification information of each function module through a second communication link, including: the management system obtaining slot information of each function slot and identification information of each function module. The management system reports the slot information of each function slot and the identification information of each function module to the baseboard management controller.

[0017] During hardware initialization, the BIOS can determine the identifier (Bus, Device, Function, BDF) address and slot information of each function slot, as well as the identification information of the function module plugged into each function slot, thereby quickly providing the BMC with the slot information of each function slot and the identification information of the function module plugged into each function slot.

[0018] ME is a program that runs on the platform controller hub (PCH, also known as the southbridge chip) and manages the coordination and communication between the PCH and other firmware (including the BMC). ME can also provide the BMC with the BDF address of each function slot, the management component transport protocol (MCTP) communication address, and the identification information of the function module.

[0019] The management service software is an agent software running on the CPU. It can also provide the BDF addresses of each function slot and the identification information of the function modules to the BMC.

[0020] The BIOS, ME, and management service software work together to increase the ways the BMC obtains slot information for each function slot, as well as the ways the BMC obtains the identification information of the function modules plugged into each function slot. This enhances the reliability of the BMC's acquisition of slot information and the identification information of the function modules plugged into each function slot.

[0021] In this embodiment, BMC can quickly and accurately obtain the slot information of each functional slot and the identification information of each functional module through the management system, which facilitates the improvement of the accuracy of the first correspondence and thus improves the accuracy of the error-proof detection method.

[0022] In some embodiments, the second interface supports status detection functionality. Before the baseboard management controller obtains the identification information of the functional module through the first communication link, the method further includes: the baseboard management controller detecting, through the second communication link, that a cable is coupled to the second interface on the functional module.

[0023] In this embodiment, the baseboard management controller obtains the identification information of the functional module through the first communication link only after confirming that the second interface on the functional module is coupled with a cable. This avoids the situation where the baseboard management controller cannot obtain the identification information of the functional module because the cable is not connected to the second interface, thus improving the reliability of the foolproof detection method.

[0024] Secondly, a foolproof detection method is provided. It is applied to a computing device, which includes a baseboard controller (BMC) and multiple function slots. The BMC includes multiple first interfaces. Functional modules are inserted into at least two function slots, and each function module forms a second communication link with the baseboard management controller through its respective function slot. Each function module also includes a second interface that supports status detection functionality.

[0025] The error-proofing detection method includes: the baseboard management controller acquiring the target functional module corresponding to the target interface from at least two functional modules. The target interface is any one of a plurality of first interfaces. When a newly added cable is coupled to both the target interface and a second interface, the baseboard management controller acquires the status information of the second interface of the target functional module via a second communication link. The baseboard management controller outputs a detection result based on the status information; if the status information indicates a coupled state, the detection result indicates that the cable is correctly coupled; if the status information indicates an idle state, the detection result indicates that the cable is incorrectly coupled.

[0026] The error-proof detection method provided in the embodiments of this application, after the target interface is coupled to the second interface via a cable, directly obtains the status information of the second interface of the target functional module through the second communication link to determine whether the coupling between the target interface and the second interface of the target functional module is correct. This eliminates the need for signal interaction between the target interface and the target functional module through the first communication link, reducing the number of communications during the error-proof detection process and improving the efficiency of the error-proof detection method.

[0027] In some embodiments, the baseboard management controller acquires the target functional module corresponding to the target interface from at least two functional modules, including: the baseboard management controller acquires the functional slot coupled to the target interface and the target functional module inserted into the functional slot through a second communication link.

[0028] In this embodiment, the baseboard management controller learns about the actual coupling relationships between the internal hardware of the server through a second communication link. This improves the accuracy of identifying the target functional modules, thereby enhancing the accuracy of error-proofing detection.

[0029] Thirdly, a computing device is provided. The computing device includes a baseband control module (BMC), multiple function slots, and at least one cable. A function module is plugged into at least one function slot; each function module forms a first communication link with a baseboard management controller via its respective function slot. The BMC includes multiple first interfaces, and each function module also includes a second interface. Each cable is coupled to one first interface and one second interface, respectively, forming a second communication link between a function slot and the baseboard management controller. The second communication link is different from the first communication link. The BMC includes one or more processors and a memory. The memory is coupled to one or more processors and is used to store computer program code, which includes computer instructions. When one or more processors execute the computer instructions, the computing device performs the foolproof detection method provided in any of the above embodiments.

[0030] The technical effects of the third aspect can be found in the technical effects of the embodiments in the first or second aspect, and will not be repeated here.

[0031] Fourthly, a computer-readable storage medium is provided. The computer-readable storage medium stores instructions that, when executed in a computer, cause the computer to perform the foolproof detection method provided in any of the above embodiments.

[0032] The technical effects of the fourth aspect can be found in the embodiments of the first or second aspect, and will not be repeated here. Attached Figure Description

[0033] Figure 1 This is a schematic diagram of the structure of a computing device according to some embodiments;

[0034] Figure 2 This is a schematic diagram of the structure of another computing device according to some embodiments;

[0035] Figure 3 This is a schematic diagram of the structure of another computing device according to some embodiments;

[0036] Figure 4 This is a schematic diagram of the structure of another computing device according to some embodiments;

[0037] Figure 5 This is a schematic diagram of the structure of another computing device according to some embodiments;

[0038] Figure 6 This is a flowchart of a mistake-proof detection method provided according to some embodiments;

[0039] Figure 7 Here is a flowchart of another mistake-proof detection method provided according to some embodiments;

[0040] Figure 8 Here is a flowchart of another mistake-proof detection method provided according to some embodiments;

[0041] Figure 9 Here is a flowchart of another mistake-proof detection method provided according to some embodiments;

[0042] Figure 10A This is a schematic diagram of the first correspondence in another mistake-proof detection method provided according to some embodiments;

[0043] Figure 10B This is a schematic diagram of a second correspondence in another mistake-proof detection method provided according to some embodiments;

[0044] Figure 10C This is a schematic diagram of a third correspondence in another mistake-proofing detection method provided according to some embodiments;

[0045] Figure 11 Here is a flowchart of another mistake-proof detection method provided according to some embodiments;

[0046] Figure 12 Here is a flowchart of another mistake-proof detection method provided according to some embodiments;

[0047] Figure 13 Here is a flowchart of another mistake-proof detection method provided according to some embodiments;

[0048] Figure 14 Here is a flowchart of another mistake-proof detection method provided according to some embodiments;

[0049] Figure 15 This is a schematic diagram of the structure of a computing device according to some embodiments. Detailed Implementation

[0050] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0051] The technical solutions in some embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments provided in this application are within the scope of protection of this application.

[0052] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of this application, unless otherwise stated, "a plurality of" means two or more.

[0053] In describing some embodiments, the terms "connected," "linked," and their derivative expressions may be used. For example, the term "connected" may be used in describing some embodiments to indicate that two or more components are in direct or indirect physical contact with each other. For example, "A and B are connected" can mean that A and B are connected directly, or it can mean that A and B are connected through other components. In addition, the term "coupled" can refer to an electrical connection that enables signal transmission.

[0054] "A and / or B" includes the following three combinations: A only, B only, and a combination of A and B.

[0055] This application provides a computing device. The computing device includes, but is not limited to, servers, server clusters, laptop computers, desktop computers, mobile phones, smartphones, tablet computers, multimedia players, e-readers, smart in-vehicle devices, smart home appliances, artificial intelligence devices, wearable devices, Internet of Things devices, or virtual reality / augmented reality / mixed reality devices, etc.

[0056] Figure 1 A schematic diagram of the structure of a computing device provided for some embodiments. For example... Figure 1 As shown, the computing device 1000 includes a BMC 100, multiple function slots 200, and at least one cable 300. A function module 900 is plugged into at least one function slot 200. A second communication link 400 is formed between the function module 900 and the BMC 100 through its respective function slot 200. The BMC 100 can interact with both the function slot 200 and the function module 900 on the function slot 200 via the second communication link 400. Additionally, each cable 300 can connect the BMC 100 and one function module 900, forming a first communication link 500 between the BMC 100 and the function module 900. The BMC 100 and the function module 900 can also interact with each other via the first communication link 500.

[0057] Thus, the computing device 1000 has a second communication link 400 and a first communication link 500 with independent physical channels between the BMC 100 and the functional module 900. The BMC 100 can use the second communication link 400 and the first communication link 500 to interact with the same functional module 900.

[0058] For example, BMC100 includes a plurality of first interfaces 110, each functional module 900 includes a second interface 910, and cable 300 is coupled to the first interface 110 and the second interface 910 respectively to form a first communication link 500 between functional module 900 and BMC100.

[0059] In some embodiments, the function slot 200, function module 900, BMC 100, and cable 300 can all support network controller sideband interface (NCSI) communication. Therefore, an NCSI communication link can be formed between BMC 100 and function module 900 via cable 300. For example, both the first interface 110 and the second interface 910 support NCSI communication, and cable 300 also supports NCSI communication, thus forming a first communication link 500 supporting NCSI communication between the first interface 110 and the second interface 910.

[0060] The functional slot 200 includes, but is not limited to, network interface controller (NIC) slots, redundant arrays of independent disks (RAID) card slots, graphics card slots, peripheral component interconnect (PCI) slots, solid-state drive (SSD) card slots, and accelerator card slots. Adaptively, depending on the type of functional slot 200, the functional module may include a NIC module, RAID module, graphics card module, PCI module, SSD module, and accelerator module. The following description uses the NIC slot as the functional slot and the NIC module 900 as the functional module, but this does not limit the functional slot 200 and the functional module 900.

[0061] like Figure 2As shown, in some embodiments, the computing device 1000 further includes a platform controller hub (PCH, also known as a southbridge chip) 600 and a central processing unit (CPU) 700. The PCH can directly exchange data and instructions with the CPU, acting as a processing chip that bridges the gap. For example, the PCH can serve as a bridge between the CPU and the BMC. Simultaneously, the CPU is coupled to multiple function slots 200, allowing the CPU to communicate with the function slots 200 and with the function modules 900 on the function slots 200.

[0062] The PCH can run an Intel Management Engine (ME) to manage coordination and communication between the PCH and other firmware (including the BMC). The ME can assign MCTP communication addresses to various devices supporting the Peripheral Component Interconnect Express (PCIE) standard (hereinafter referred to as PCIE devices) via communication links that support the Management Component Transport Protocol (MCTP), and can provide the MCTP communication addresses of each PCIE device to the BMC. Additionally, the ME can obtain the PCIE device addresses (Bus, Device, Function, BDF) of each PCIE device communicating via the MCTP communication link, and can also provide the BDF of each PCIE device to the BMC. The BMC can obtain the identification information of each PCIE device, such as the Media Access Control (MAC) address, through the MCTP protocol.

[0063] like Figure 3 and Figure 4 As shown, in some embodiments, the computing device 1000 also includes a BIOS 800. The BIOS may be a set of programs embedded in a read-only memory (ROM) chip on the motherboard of the computing device 1000. The BIOS stores basic input / output programs, power-on self-test programs, and system startup programs. The BIOS can obtain information about various hardware devices of the computing device (including function slots and function modules).

[0064] For example, the BIOS can obtain the slot information and BDF of the scanned function slot 200, and provide the slot information and BDF of each function slot 200 to the BMC.

[0065] For example, the BIOS can obtain the identification information of the scanned functional modules 900 and provide the identification information of each functional module 900 to the BMC.

[0066] In some embodiments, such as Figure 5 As shown, management service software is deployed on the device of the first communication link. This pipeline service software is a type of agent software. The management service software can communicate with function slot 200 and the function module 900 on function slot 200. After obtaining the slot information of the function slot and the identification information of the function module 900, it can report this information to the BMC through the first communication link. Thus, the BMC can obtain the slot information of the function slot and the identification information of the function module 900.

[0067] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the computing device 1000. In other embodiments of this application, the computing device 1000 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0068] In some cases, the BMC can report monitoring information on software and hardware on the service network to the host computer via its own dedicated network port through the external network. In other cases, the BMC can also utilize its own NCSI interface, coupled to the NCSI interface of devices (such as network interface cards) in the service network via cable. In this case, the BMC can reuse the physical channel of the service network to report monitoring information on software and hardware to the host computer through the external network.

[0069] In scenarios where users need to assemble new computing devices or replace internal components of existing computing devices, the multiple first interfaces on the BMC need to be coupled to multiple functional slots one by one via cables. However, due to the large number of coupled cables, cable connection errors are prone to occur. For example, the first interface on the BMC coupled to one end of the cable may not match the second interface of the functional module coupled to the other end of the cable. This causes the management signal that the BMC should have sent to the functional module to be sent to another functional module. The functional module then receives the management signal that the BMC should have sent to another functional module, which will cause the computing device to malfunction.

[0070] Based on this, this application provides a foolproof detection method. This foolproof detection method can be applied to the aforementioned computing device. After the computing device is powered on, the BMC can use the foolproof detection method to detect whether the coupling relationship between the first interface on the BMC and the second interface of the functional module is correct, thereby achieving foolproof detection of the cable and preventing malfunctions in the computing device caused by incorrect coupling between the first and second interfaces inside the device.

[0071] Figure 6 The diagram illustrates a flowchart of a foolproof detection method in some embodiments. In a computing device, multiple first interfaces on the BMC are coupled to second interfaces of different functional modules via cables. A foolproof detection method can then be used to check whether the coupling relationship between the first and second interfaces at both ends of each cable is correct. The BMC can perform foolproof detection on the coupling relationship of multiple cables simultaneously, or it can perform foolproof detection on the coupling relationship of multiple cables in a time-sharing manner.

[0072] The target interface of the multiple first interfaces on the BMC and the second interface of the functional module are coupled by cables to form a first communication link. For example... Figure 6 As shown, the foolproof detection method may include steps S10 to S30.

[0073] Step S10: The baseboard management controller obtains the identification information of the functional module through the first communication link.

[0074] The target interface can be understood as the first interface of the cable coupling on the BMC that is undergoing foolproof testing.

[0075] Each cable connects to a first interface and a second interface of a functional module at its two ends, forming a second communication link between the first and second interfaces. The BMC can obtain the identification information of the functional module coupled to the target interface from the target interface and the first communication link coupled to the target interface. In this way, the BMC can obtain the identification information of the functional module coupled to each first interface.

[0076] like Figure 1 As shown, exemplarily, the computing device includes three NIC modules (NIC1, NIC2, and NIC3), and the BMC includes three first interfaces 110. The first interface 111 (i.e., the target interface) on the BMC100 is coupled to the second interface 911 of NIC1 via cable 301. The BMC100 can obtain the identification information of NIC1 through the first interface 111 and cable 301.

[0077] It should be noted that identification information is information used to distinguish different functional modules. Different functional modules have different identification information, and each functional module's identification information is unique. For example, identification information can be a MAC address, which is an address used to distinguish the location of different network devices. A MAC address is used to identify a network device (including functional modules) in the network; if there are multiple network devices, each network device has a unique MAC address. Alternatively, identification information can also be unique identity information assigned to each network device by the software. Identification information can also be other information that can be used to distinguish network devices, which is not limited here.

[0078] In some embodiments, the second interface supports state detection functionality. For example... Figure 7 As shown, step S40 may be included before step S10.

[0079] Step S40: The baseboard management controller detects that the second interface on the functional module is coupled to a cable through the second communication link.

[0080] The second interface supports status detection, meaning the functional module can detect the status of the second interface. The status of the second interface includes a connected state and an idle state, and the status information of each second interface switches between the connected state and the idle state; when the second interface is coupled to a cable, the second interface is in the connected state; when the second interface is not coupled to a cable, the second interface is in the idle state.

[0081] The management system in the second communication link can communicate with the functional module to obtain the status of the second interface. The management system can also report the obtained status of the second interface to the baseboard management controller. If the baseboard management controller determines that the second interface is in a connected state, step S10 is executed.

[0082] In this embodiment, the baseboard management controller obtains the identification information of the functional module through the first communication link only after confirming that the second interface on the functional module is coupled with a cable. This avoids the situation where the baseboard management controller cannot obtain the identification information of the functional module because the cable is not connected to the second interface, thus improving the reliability of the foolproof detection method.

[0083] Step S20: The baseboard management controller determines the interface information corresponding to the functional module based on the identification information.

[0084] After obtaining the identification information of the functional module, the unique functional module among multiple functional modules that is coupled to the target interface through the first communication link can be identified, and then the interface information of the first interface corresponding to the functional module can be detected.

[0085] For example, the baseboard management controller may pre-store the correspondence between the identification information of each functional module and the interface information of each first interface. In this way, after obtaining the identification information of the functional module, the baseboard management controller can determine the interface information of the corresponding first interface through the above correspondence.

[0086] It should be noted that before the computing device is installed, the specific types and quantities of functional slots within the computing device, as well as the coupling relationship between each functional slot and the various first interfaces on the BMC, can be determined based on the user's pre-set configuration. Before the functional slots are installed, they do not have identifying information such as MAC addresses. Therefore, the user can only configure the coupling relationship between each functional slot and multiple first interfaces on the BMC according to the pre-set slot information, thus obtaining a second correspondence between the interface information of each first interface on the BMC and the slot information of multiple functional slots. For example... Figure 10B As shown, the second correspondence includes the interface information of each first interface and the slot information of the functional slot corresponding to the interface information of each first interface in the pre-configured coupling relationship. The slot information of the functional slot is information used in the pre-set configuration to distinguish different functional slots.

[0087] Based on this, such as Figure 8 As shown, in some embodiments, step S20 may include steps S21 and S22.

[0088] Step S21: The substrate management controller determines the slot information of the functional slot where the functional module is located based on the first correspondence and identification information. The first correspondence includes the identification information of each functional module and the slot information of the functional slot where each functional module is located.

[0089] After obtaining the identification information of a functional module, the BMC can determine the slot information of the functional slot where the functional module is located in several ways. For example, the user-preset configuration may also include the functional modules coupled to each functional slot. Therefore, the BMC can pre-store a first correspondence, such as... Figure 10A As shown, the first correspondence includes the slot information of each functional slot and the identification information of the functional module corresponding to the slot information of each functional slot in the pre-configured coupling relationship. Thus, by searching for the slot information of the functional slot corresponding to the identification information of the functional module in the first correspondence, the slot information of the functional slot where the functional module resides can be determined. Of course, the slot information of the functional slot where the functional module resides can also be determined based on the identification information of the functional module in other ways; this is only an example and is not intended to limit the solution.

[0090] Step S22: The substrate management controller determines the interface information corresponding to the functional slots based on the second correspondence and slot information. The second correspondence includes the slot information of each functional slot and the interface information of the first interface coupled to each functional slot.

[0091] In the second correspondence, the slot information of different functional slots corresponds to the interface information of different first interfaces. It can be understood that in the second correspondence, each piece of first interface information has one and only one corresponding slot information of a functional slot.

[0092] BMC can determine the interface information corresponding to the functional module by searching for the interface information of the first interface that corresponds to the slot information of the functional slot where the functional module is located in the second correspondence.

[0093] In this embodiment, after determining the identification information of the functional module, the BMC uses the identification information to confirm the slot information of the functional slot where the functional module is located. Then, it uses the slot information of the functional slot where the functional module is located to further confirm the interface information of the first interface corresponding to the functional module for foolproof detection. This can accurately determine the interface information of the first interface corresponding to the functional module in the user's pre-configuration, so as to facilitate subsequent judgment on whether the first interface of the cable coupling is correct, and prevent the computing device from malfunctioning due to incorrect cable coupling.

[0094] like Figure 9 As shown, in some other embodiments, step S20 may include steps S23 and S24.

[0095] Step S23: The substrate management controller determines a third correspondence based on the first and second correspondences. For example... Figure 10A As shown, the first correspondence includes the correspondence between the identification information of each functional module and the slot information of each functional slot; for example... Figure 10B As shown, the second correspondence includes the correspondence between the slot information of each functional slot and the interface information of each first interface. Combined with... Figure 10A and Figure 10B A third correspondence can be obtained, such as Figure 10C As shown, the third correspondence includes the identification information of each functional module and the interface information corresponding to the identification information of each functional module.

[0096] In the third correspondence, the identification information of different functional modules corresponds to the interface information of different first interfaces. It can be understood that in the third correspondence, each piece of first interface information has one and only one corresponding identification information of a functional module.

[0097] Step S24: The baseboard management controller determines the interface information corresponding to the functional module based on the third correspondence and identification information.

[0098] BMC can determine the interface information corresponding to a functional module by searching for the interface information of the first interface that corresponds to the identifier information of the functional module in the third correspondence.

[0099] In this embodiment, before obtaining the identification information of the functional module through the first communication link, the BMC pre-obtains a third correspondence relationship through the first and second correspondence relationships. This allows the BMC to directly search for the interface information of the first interface corresponding to the identification information of the functional module in the third correspondence relationship after obtaining the identification information of the functional module. This saves the steps of searching for data multiple times after obtaining the identification information of the functional module, improves the efficiency of the BMC in determining the first interface corresponding to the functional module, and thus improves the efficiency of mistaken detection.

[0100] In some embodiments, such as Figure 11 As shown, before step S20, the foolproof detection method may also include steps S50 and S60.

[0101] Step S50: The substrate management controller obtains the slot information of each functional slot and the identification information of each functional module through the second communication link.

[0102] The second communication link can be coupled to the BMC and each function slot, allowing the BMC to obtain slot position information for each function slot. Additionally, since function modules are inserted into the function slots, the BMC can also obtain the identification information of these function modules via the second communication link. The second communication link may include a management system, which may include at least one of the aforementioned Basic Input / Output System (BIOS), Management Engine (ME), and management service software.

[0103] like Figure 12 As shown, in some examples, the second communication link includes a management system. Step S50 may specifically include: Step S51: The management system obtains the slot information of each functional slot and the identification information of each functional module. Step S52: The management system reports the slot information of each functional slot and the identification information of each functional module to the baseboard management controller.

[0104] For example, such as Figure 3 As shown, the management system may include the BIOS mentioned above. During hardware initialization, the BIOS can obtain the slot information of each scanned function slot and the identification information of each function module, and report the slot information of each function slot and the identification information of each function module to the BMC.

[0105] For example, such as Figure 4As shown, the management system can include both the ME and the BIOS. The ME on the PCH can obtain the MCTP communication address and BDF of each function slot, as well as the identification information of the function module, and report the MCTP communication address and BDF of each function slot, as well as the identification information of the function module, to the BMC. In addition, the BIOS can obtain the slot information and BDF of each function slot, and report the slot information and BDF of each function slot to the BMC.

[0106] In this example, BMC can quickly and accurately obtain the slot information of each functional slot and the identification information of each functional module through the management system, which facilitates the improvement of the accuracy of the first correspondence and thus improves the accuracy of the error-proof detection method.

[0107] Step S60: The substrate management controller obtains a first correspondence based on the slot information of each functional slot and the identification information of each functional module. In the first correspondence, a correspondence is established between the slot information of each functional slot and the identification information of the functional module according to the insertion relationship between each functional slot and the functional module.

[0108] The BMC can determine the MCTP communication address and slot information of functional slots with the same BDF by using the MCTP communication address and BDF of each functional slot reported by the ME and the slot information and BDF of each functional slot reported by the BIOS. This allows the BMC to obtain the MCTP communication address, BDF and slot information of each functional slot, as well as the identification information of the functional modules on each functional slot.

[0109] It should be noted that the second communication link between different functional slots and the BMC can be an independent physical channel or a shared physical channel; this is not limited here.

[0110] Based on this, such as Figure 10A As shown, the correspondence between the identification information of the functional module and the slot information of the functional slot included in the first correspondence in steps S21 and S23 is actually the coupling relationship between the current functional slot and the functional module obtained by the second communication link.

[0111] In this embodiment, the BMC can obtain the functional slots coupled to each first interface and the functional modules on those slots through the second communication link, thereby understanding the actual coupling relationship between the internal hardware of the server. This improves the accuracy of the first and second correspondences, and thus enhances the accuracy of mistaken detection.

[0112] Step S30: The baseboard management controller outputs the detection result based on the interface information. If the interface information indicates the target interface, the detection result indicates that the cable coupling is correct; if the interface information indicates another first interface among multiple first interfaces besides the target interface, the detection result indicates that the cable coupling is incorrect.

[0113] For example, such as Figure 1 As shown, the target interface is the first interface 111, and the functional module is NIC1. When the first interface 111 corresponds to NIC1: after the baseboard management controller obtains the identification information of NIC1, it determines that the interface information is the interface information of the first interface 111, and outputs a detection result indicating that the cable is correctly coupled to the first interface 111 and NIC1 (i.e., the coupling relationship of cable 301 is correct).

[0114] For example, such as Figure 1 As shown, the target interface is the first interface 111, and the function slot is NIC1. If the first interface 111 and NIC1 do not correspond: After obtaining the identification information of NIC1, the baseboard management controller determines that the interface information is the interface information of the first interface other than the first interface 111, and outputs a detection result indicating that the cable is incorrectly coupled to the first interface 111 and NIC1 (i.e., the coupling relationship of cable 301 is incorrect). This reminds the operator that the coupling relationship of cable 301 needs to be readjusted. For example, cable 301 can be coupled to one end of the second interface 911 on NIC1 and then coupled to the second interface on another NIC; or cable 301 can be coupled to one end of the first interface 111 and then coupled to another first interface 110.

[0115] The detection results can be output in various forms. For example, the detection results can be displayed in at least one form, either sound or light. The light form can include displaying the detection results on a screen as text, images, or videos; the detection results can also be indicated by different colored indicator lights (green light for correct coupling, red light for incorrect coupling). The sound form can include indicating the detection results via a buzzer using different voice or prompt tones. This application does not limit the specific method of displaying the detection results.

[0116] The foolproof detection method provided in this application, after the target interface of the BMC is coupled to the second interface of the functional module through a cable to form a second communication link, the BMC obtains the identification information of the coupled functional module through the first communication link coupled to the target interface. Therefore, based on the identification information of the functional module, it detects whether the coupling relationship of the cables coupling the functional module and the target interface is correct, thereby achieving foolproof detection of the cable coupling relationship and preventing malfunctions in the computing device caused by incorrect coupling of the functional modules containing the first and second interfaces inside the computing device.

[0117] Figure 13 A flowchart illustrating the foolproof detection method in some embodiments is shown. In the computing device, the second interface can support status detection, meaning the functional module can obtain the status information of the internal second interface to determine whether the second interface is coupled to a cable. In this case, after each cable connects a first interface on the BMC and a second interface of a functional module, the foolproof detection method can be used to check whether the coupling relationship between the first and second interfaces connected by the cable is correct. Figure 13 As shown, the mistake-proof detection method may include steps S70 to S90.

[0118] Step S70: The baseboard management controller acquires the target functional module corresponding to the target interface from at least two functional modules. The target interface is any one of a plurality of first interfaces.

[0119] The target interface is the first interface to be coupled by the newly added cable. The baseboard management controller can obtain the target functional module corresponding to the target interface through the first and second correspondences mentioned above; it can also directly obtain the target functional module corresponding to the target interface through the third correspondence mentioned above, which is not limited here.

[0120] In some examples, such as Figure 14 As shown, in step S70: the substrate management controller obtains the functional slot coupled to the target interface and the target functional module inserted into the functional slot through the second communication link.

[0121] The management system in the second communication link can obtain the functional slots coupled to each first interface and the functional modules coupled to each functional slot, and report them to the baseboard management controller.

[0122] After determining the target interface, the baseboard management controller can determine the target function module to be inserted into the target function slot based on the target function slot coupled to the target interface.

[0123] In this example, the baseboard management controller learns about the actual coupling relationships between the internal hardware of the server through a second communication link. This improves the accuracy of identifying the target functional modules, thereby enhancing the accuracy of error-proofing detection.

[0124] Step S80: With a newly added cable coupled to the target interface and a second interface respectively, the baseboard management controller obtains the status information of the second interface of the target functional module through the second communication link.

[0125] After identifying the target functional module and the cables connecting the target interface and the second interface, the BMC can use the second communication link to obtain the status information of the second interface of the target functional module inserted into the functional slot. The status information of each second interface switches between a connected state and an idle state; when the second interface is coupled to a cable, the second interface is in a connected state; when the second interface is not coupled to a cable, the second interface is in an idle state.

[0126] In this embodiment, each time a first interface and a second interface of a functional module are coupled through a cable, a foolproof test is performed on that cable. Therefore, all cables that pass the foolproof test are correctly coupled. It can be understood that for a first interface with a connected cable, the connection status of the second interface of the corresponding functional module in the third correspondence relationship must be connected; for a first interface without a connected cable, the connection status of the second interface of the corresponding functional module in the third correspondence relationship must be idle.

[0127] Step S90: The baseboard management controller outputs the detection result based on the status information. If the status information indicates a connected state, the detection result indicates that the cable connection is correct; if the status information indicates an idle state, the detection result indicates that the cable connection is incorrect.

[0128] For example, before the cable is connected, the status information of the second interface of the target functional module is idle; after the cable is connected, the status information of the second interface of the target functional module switches to connected. Therefore, it can be concluded that the second interface of the newly added cable connection is the second interface of the target functional module, thus confirming that the coupling relationship of the cables coupling the target interface and the second interface of the target functional module is correct. The mistaken detection of the coupling relationship of the next cable can then proceed.

[0129] For example, before the cable is connected, the status information of the second interface of the target functional module is idle; after the cable is connected, the status information of the second interface of the target functional module is still idle. Therefore, it can be concluded that the second interface of the newly added cable connection is the second interface of other functions besides the target functional module. Therefore, it is determined that the coupling relationship of the cables that are respectively coupled to the second interfaces of the target interface and other functional modules is incorrect.

[0130] This can prompt the user to replace the functional module connected to the cable, ensuring that the target interface is coupled to the second interface of the new functional module, and so on, until the target interface is coupled to the second interface of the target functional module. This prevents malfunctions in the computing device caused by incorrect coupling between the first and second interface slots within the device.

[0131] The error-proof detection method provided in the embodiments of this application, after the target interface is coupled to the second interface via a cable, directly obtains the status information of the second interface of the target functional module through the second communication link to determine whether the coupling between the target interface and the second interface of the target functional module is correct. This eliminates the need for signal interaction between the target interface and the target functional module through the first communication link, reducing the number of communications during the error-proof detection process and improving the efficiency of the error-proof detection method.

[0132] In summary, the foolproof detection method provided in this application can detect the correctness of the coupling relationship between multiple cables after multiple first interfaces on the BMC are respectively coupled to the second interfaces of multiple functional modules via cables; it can also detect the correctness of the coupling relationship between a single cable connecting a first interface and a second interface. This facilitates the prevention of computing device malfunctions caused by incorrect coupling relationships between the first and second interfaces within the computing device during assembly and replacement.

[0133] like Figure 15 As shown, in some other embodiments of this application, a computing device 1000 is provided. The computing device 1000 includes a BMC 100, a plurality of function slots 200, and at least one cable 300. Each function module 900 forms a second communication link 400 with the BMC 100 through a plugged-in function slot 200. The BMC 100 includes a plurality of first interfaces 110, each function module 900 includes a second interface 910, and each cable 300 is coupled to one first interface 110 and one second interface 910, forming a first communication link 500 between the function module 900 and the BMC. The first communication link 500 is different from the second communication link 400. The BMC 100 includes one or more processors 120 and a memory 130; wherein the memory 130 is coupled to one or more processors 120. The memory 130 stores computer program code, which includes computer instructions that, when executed by the processors 120, cause the computing device to perform various steps of the foolproof detection method in the method embodiments.

[0134] This application also provides a computer-readable storage medium including computer instructions that, when executed on the computing device (e.g., the BMC in the computing device), cause the computing device to perform the various steps of the foolproof detection method in the above method embodiments.

[0135] This application also provides a computer program product that, when run on a computer, causes the computer to perform the various functions or steps executed by the BMC in the above method embodiments. The computer may be a computing device.

[0136] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0137] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0138] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0139] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0140] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0141] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for preventing errors in detection, characterized in that, Applied to a computing device; the computing device includes: A baseboard management controller, including multiple first interfaces; A functional slot is provided, on which a functional module is inserted. The functional module includes a second interface. The target interface among the plurality of first interfaces and the second interface are coupled by a cable to form a first communication link. The functional module also forms a second communication link with the baseboard management controller through the functional slot it is located in. The error-proof detection method includes: The baseboard management controller detects that a cable is coupled to the second interface on the functional module through the second communication link; The baseboard management controller obtains the identification information of the functional module through the first communication link; The baseboard management controller determines the interface information corresponding to the functional module based on the identification information; The baseboard management controller outputs a detection result based on the interface information; if the interface information indicates a target interface, the detection result indicates that the cable is correctly coupled; if the interface information indicates another first interface among the plurality of first interfaces besides the target interface, the detection result indicates that the cable is incorrectly coupled. The baseboard management controller determines the interface information corresponding to the functional module based on the identification information, including: The substrate management controller determines the slot information of the functional slot where the functional module is located based on a first correspondence and the identification information; the first correspondence includes the identification information of each functional module and the slot information of the functional slot where each functional module is located; the substrate management controller determines the interface information corresponding to the functional slot based on a second correspondence and the slot information; the second correspondence includes the slot information of each functional slot and the interface information of the first interface coupled to each functional slot; or, The substrate management controller determines a third correspondence based on a first correspondence and a second correspondence. The first correspondence includes the identification information of each functional module and the slot information of the functional slot where each functional module is located. The second correspondence includes the slot information of each functional slot and the interface information of the first interface coupled to each functional slot. The third correspondence includes the identification information of each functional module and the interface information corresponding to the identification information of each functional module. The substrate management controller determines the interface information corresponding to the functional module based on the third correspondence and the identification information.

2. The method according to claim 1, characterized in that, In the computing device, the first communication link is different from the second communication link; Before the baseboard management controller determines the interface information corresponding to the functional module based on the identification information, it further includes: The baseboard management controller obtains the slot information of each functional slot and the identification information of each functional module through the second communication link; Based on the slot information of each functional slot and the identification information of each functional module, the first correspondence is obtained; in the first correspondence, according to the insertion relationship between each functional slot and the functional module, the correspondence between the slot information of each functional slot and the identification information of the functional module is established.

3. The method according to claim 2, characterized in that, The second communication link includes a management system, which includes at least one of a Basic Input / Output System (BIOS), a Management Engine (ME), and management service software; the management system interacts with the baseboard management controller, the function slot, and the function module respectively. The baseboard management controller obtains the slot information of each functional slot and the identification information of each functional module through the second communication link, including: The management system obtains the slot information of each functional slot and the identification information of each functional module; The management system reports the slot information of each functional slot and the identification information of each functional module to the baseboard management controller.

4. A method for preventing errors during detection, characterized in that, Applied to a computing device; the computing device includes: A baseboard management controller, including multiple first interfaces; Multiple functional slots, at least two of which are equipped with functional modules, and each functional module forms a second communication link with the baseboard management controller through its functional slot; each functional module also includes a second interface that supports status detection function; The error-proof detection method includes: The baseboard management controller acquires the target functional module corresponding to the target interface from at least two functional modules; the target interface is any one of the plurality of first interfaces. With a newly added cable coupled to both the target interface and the second interface, the baseboard management controller obtains the status information of the second interface of the target functional module through the second communication link. The baseboard management controller outputs a detection result based on the status information; if the status information indicates a coupled state, the detection result indicates that the cable is correctly coupled; if the status information indicates an idle state, the detection result indicates that the cable is incorrectly coupled.

5. The method according to claim 4, characterized in that, The baseboard management controller acquires the target functional module corresponding to the target interface from at least two functional modules, including: The baseboard management controller obtains the functional slot coupled to the target interface and the target functional module inserted into the functional slot through the second communication link.

6. A computing device, characterized in that, include: A baseboard management controller, including multiple first interfaces; Multiple functional slots are provided, with functional modules inserted into at least two of the functional slots; each functional module forms a second communication link with the baseboard management controller through its respective functional slot; each functional module also includes a second interface, one of the second interfaces being coupled to one of the first interfaces via a cable to form a first communication link between the functional module and the baseboard management controller; the second communication link is different from the first communication link; The baseboard management controller includes one or more processors and memory; The memory is coupled to the one or more processors, and the memory is used to store computer program code, the computer program code including computer instructions. When the one or more processors execute the computer instructions, the computing device performs the error-proofing detection method as described in any one of claims 1 to 3 or the error-proofing detection method as described in any one of claims 4 and 5.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed in a computer, cause the computer to perform the error-proofing detection method as described in any one of claims 1 to 3 or as described in any one of claims 4 and 5.