Device state determination method, device, medium, and product

By collaborating with the baseboard management controller and the host, and comparing device status using slot identifiers and disabled identifiers, the problem of disabled or abnormal PCIe devices in the server not being identified is solved, improving the accuracy of device status identification and management efficiency.

WO2026091940A1PCT designated stage Publication Date: 2026-05-07INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2025-09-16
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

In the server, PCIe devices of the same type may be disabled, making them unrecognizable on the BMC asset information management webpage, and asset information cannot be reported when the device is abnormal, resulting in the problem that the device is connected to the machine but is not recognized.

Method used

Through the collaboration of the baseboard management controller and the host, the system acquires and compares the in-situ hardware signals on the server with the device information reported by the BIOS, and uses slot identifiers and disable identifiers to determine the status of the target device, thereby forming a device status view.

Benefits of technology

It improves the accuracy and efficiency of target device status identification, enhances the manageability, reliability and performance of the server, and realizes refined device management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025121674_07052026_PF_FP_ABST
    Figure CN2025121674_07052026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers, and provides a device state determination method, a device, a medium and a product, applied to a baseboard management controller side. The method comprises: for a plurality of target devices on a server, determining a first device information set of the plurality of target devices on the basis of a plurality of hardware presence signals of the plurality of target devices on the server and the correspondence between slot identifiers of a plurality of slots on the server and a plurality of preset hardware signals; receiving a second device information set of the plurality of target devices, the second device information set being acquired by a basic input / output system of a host end; and determining the states of the plurality of target devices on the basis of the first device information set and the second device information set. Therefore, the accuracy and efficiency of state monitoring of the target devices are improved, and subsequent management of each target device of the server is facilitated, thereby improving the manageability, reliability and performance of the system, and making device management more refined.
Need to check novelty before this filing date? Find Prior Art

Description

Equipment status determination methods, equipment, media and products

[0001] Cross-references to related applications

[0002] This application claims priority to Chinese Patent Application No. 202411534275.3, filed on October 30, 2024, entitled “Method, apparatus, medium and product for determining the state of an equipment”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of computer technology, and in particular to a method, device, medium, and product for determining the state of a device. Background Technology

[0004] The BIOS (Basic Input Output System) acts as the lowest-level and most direct hardware settings and control manager on the server motherboard, providing servers with more user-friendly functions. The BIOS is a set of programs embedded in a Flash ROM processing component on the motherboard. It stores the computer's most important basic input / output programs, system settings information, power-on self-test (POST) programs, and system boot programs. Its main function is to provide the computer with the lowest-level and most direct hardware settings and control.

[0005] The Board Management Controller (BMC) is a controller on a server that provides out-of-band management interfaces and services to manage the entire server. During the power-on process, the host records various device information and reports this information to the BMC. This information is called asset information. The BMC displays the host's asset information on its management webpage, including CPU (Central Processing Unit) information, memory information, PCIe (Peripheral Component Interconnect Express) device information, etc.

[0006] In practical use, a single server may have two or more identical PCIe devices with the same functionality, used in different application scenarios. When one device is in use, other devices of the same type need to be disabled to reduce power consumption or interference. If a device's PCIe root port is closed and disabled, the device will not be recognized even if it is plugged into the machine, and its information will not be reported to the BMC. This results in a situation where a device is connected to the machine, but it is not listed on the BMC's asset information management page. Furthermore, in scenarios where a device malfunctions, although the device is connected to the host, the host may not recognize the device upon startup due to the malfunction and will not report its asset information to the BMC. Summary of the Invention

[0007] In view of the above, embodiments of this application provide a method, device, medium, and product for determining device status, in order to overcome the above problems or at least partially solve the above problems.

[0008] The first aspect of this application provides a device status determination method, applied to a baseboard management controller, the method comprising:

[0009] For multiple target devices on the server, a first set of device information for the multiple target devices is determined based on the correspondence between multiple in-situ hardware signals of the multiple target devices on the server and the slot identifiers of multiple slots on the server and multiple preset hardware signals.

[0010] The receiver acquires a second set of device information for multiple target devices from the host's basic input / output system.

[0011] Based on the first set of device information and the second set of device information, the status of multiple target devices is determined.

[0012] In some embodiments of this application, the first device information set includes multiple first device information corresponding to multiple target devices, and the first device information includes at least a first slot identifier; the second device information set includes multiple second device information corresponding to multiple target devices, and the second device information includes at least a second slot identifier and a disabled identifier; the status of multiple target devices is determined based on the first device information set and the second device information set, including:

[0013] By comparing multiple pieces of first device information and multiple pieces of second device information, the status of each target device among multiple target devices is determined;

[0014] The first slot identifier is the slot identifier of the target device on the server, and the second slot identifier is the slot identifier of the target device on the server obtained by the basic input / output system.

[0015] In some embodiments of this application, multiple sets of first device information and multiple sets of second device information are compared to determine the state of each target device among multiple target devices, including:

[0016] The first slot identifier of each of the multiple first device information is compared with the multiple second slot identifiers of the multiple second device information to determine whether there is a matching second slot identifier in the first device information;

[0017] When a matching second slot identifier exists for the first slot identifier in the first device information, the status of the target device is determined based on whether a corresponding disable identifier exists for the second slot identifier that matches the first slot identifier.

[0018] In some embodiments of this application, the state of the target device is determined based on whether a corresponding disable flag exists for a second slot flag that matches the first slot flag, including:

[0019] When there is no corresponding disabled identifier for the second slot identifier that matches the first slot identifier, the status of the target device in the slot corresponding to the first slot identifier is determined to be normal.

[0020] When a corresponding disabled identifier exists for a second slot identifier that matches the first slot identifier, the target device in the slot corresponding to the first slot identifier is determined to be in a disabled state.

[0021] In some embodiments of this application, multiple sets of first device information and multiple sets of second device information are compared to determine the state of each target device among multiple target devices, including:

[0022] The first slot identifier of each of the multiple first device information is compared with the multiple second slot identifiers of the multiple second device information to determine whether there is a matching second slot identifier in the first device information;

[0023] When there is no matching second slot identifier for the first slot identifier in the first device information, the status of the target device in the slot corresponding to the first slot identifier is determined to be abnormal.

[0024] In some embodiments of this application, before determining the state of each of the plurality of target devices, the method further includes:

[0025] Based on the first set of device information and the second set of device information, the device information of each target device among multiple target devices is integrated on the webpage of the baseboard management controller to obtain a list of device information for multiple target devices.

[0026] After determining the state of each of the multiple target devices, the process also includes:

[0027] Based on the status of each target device among multiple target devices, the device information of each target device in the device information list on the webpage is marked with status.

[0028] In some embodiments of this application, before determining the state of each of the plurality of target devices, the method further includes:

[0029] Based on the first set of device information and the second set of device information, the device information of each target device among multiple target devices is integrated on the webpage of the baseboard management controller to obtain a list of device information for multiple target devices.

[0030] Determine the state of each of the multiple target devices, including:

[0031] When there is no matching first device information or matching second device information for a target device in the device information list, the target device corresponding to the device information for which there is no matching first device information or matching second device information in the device information list is determined to be in the "disconnected" state.

[0032] In some embodiments of this application, the method further includes:

[0033] Based on the first device information and the second device information, the device information of the target device whose device information has changed is modified on the webpage of the board management controller;

[0034] Based on the first device information and the second device information, the device information of the newly added target device in the first device information set is added to the device information list;

[0035] If no matching first device information and no matching second device information exist in the device information list, the device information for which no matching first device information and no matching second device information exist will be deleted from the device information list.

[0036] In some embodiments of this application, the method further includes:

[0037] When a target device is disabled, retrieve the set of second device information re-acquired from the host.

[0038] The second set of device information that is reacquired is the set of device information that the host obtains after the target device is disabled.

[0039] A second aspect of this application provides a device status determination method, applied to a host terminal, the method comprising:

[0040] The second device information set is obtained through the basic input / output system. The second device information set contains multiple second device information of multiple target devices.

[0041] The second set of device information is stored in the host's cache;

[0042] The host computer reports the second set of device information stored on the host to the baseboard management controller, so that the baseboard management controller can determine the status of multiple target devices based on the first set of device information and the second set of device information.

[0043] The first device information set is a baseboard management controller, which is determined based on the correspondence between multiple in-situ hardware signals of multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals.

[0044] In some embodiments of this application, the method further includes:

[0045] When a target device is detected that needs to be disabled, the root port of the target device to be disabled is closed via control commands.

[0046] Set a disable flag for the disabled target device and add the disable flag to the second device information of the disabled target device.

[0047] In some embodiments of this application, the second device information set in the cache further includes the silkscreen string and second slot identifier of the target device; setting a disable identifier for a disabled target device and adding the disable identifier to the second device information of the disabled target device includes:

[0048] Record the second slot identifier of the disabled target device;

[0049] Determine the silkscreen string corresponding to the second slot identifier of the disabled target device from the cache;

[0050] After disabling the target device, the second device information set is reacquired through the basic input / output system, and the second device information set already stored in the host cache is replaced according to the reacquired second device information set;

[0051] Add the second slot identifier, disable identifier, and silkscreen string of the target device that needs to be disabled to the second device information set stored on the host.

[0052] The reacquired second set of device information is sent to the baseboard management controller so that the baseboard management controller can determine the status of multiple target devices based on the reacquired second set of device information.

[0053] A third aspect of this application provides a device for determining device status, applied to a baseboard management controller, the device comprising:

[0054] The first device information set determination module is used to determine the first device information set of multiple target devices on the server based on the correspondence between multiple in-situ hardware signals of multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals.

[0055] The second device information set receiving module is used to receive the second device information set of multiple target devices obtained by the basic input / output system of the host.

[0056] The target device status determination module is used to determine the status of multiple target devices based on the first device information set and the second device information set.

[0057] A fourth aspect of this application provides a device for determining device status, applied to a host terminal, the device comprising:

[0058] The second device information set acquisition module is used to acquire the second device information set through the basic input / output system. The second device information set contains multiple second device information of multiple target devices.

[0059] The storage module is used to store the second device information set in the cache on the host side;

[0060] The reporting module is used to report the second set of device information stored on the host to the baseboard management controller, so that the baseboard management controller can determine the status of multiple target devices based on the first set of device information and the second set of device information.

[0061] The first device information set is a baseboard management controller, which is determined based on the correspondence between multiple in-situ hardware signals of multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals.

[0062] A fifth aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the method as described in the first or second aspect.

[0063] A sixth aspect of this application provides a computer program product, including a computer program that, when executed by a processor, implements the method as described in the first or second aspect.

[0064] A seventh aspect of this application provides a computer non-volatile readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method as described in the first or second aspect.

[0065] The beneficial effects of this application are:

[0066] This application provides a method, electronic device, computer non-volatile readable storage medium, and product applied to a baseboard management controller. The method includes: for multiple target devices on a server, determining a first set of device information for the multiple target devices based on the correspondence between multiple in-situ hardware signals of the multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals; receiving a second set of device information for the multiple target devices obtained by the basic input / output system of the host; and determining the state of the multiple target devices based on the first set of device information and the second set of device information.

[0067] The technical solution of this application acquires software-layer and hardware-layer device information sets of multiple target devices on the server through the basic input / output system and the baseboard management controller, respectively. By comparing the first set of hardware-layer device information with the second set of software-layer device information, the baseboard management controller can accurately determine the precise status of each target device on the server. This dual verification mechanism improves the accuracy of target device status identification. By integrating the second set of device information from multiple target devices enumerated by the basic input / output system and the in-situ hardware signals, the bias that may be caused by a single source of device information is eliminated, improving the accuracy and efficiency of target device status monitoring. It also facilitates subsequent management of each target device on the server, improving the system's manageability, reliability, and performance, and enabling more refined device management. Attached Figure Description

[0068] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments of this application and their descriptions are used to explain this application and do not constitute an undue limitation of this application.

[0069] To more clearly illustrate the technical solution of this application, the drawings used in the description of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0070] Figure 1 is a flowchart illustrating a device status determination method applied to a baseboard management controller according to an embodiment of this application;

[0071] Figure 2 is a schematic diagram of the framework of a server provided in an embodiment of this application;

[0072] Figure 3 is a flowchart illustrating a device status determination method applied to a host side according to an embodiment of this application;

[0073] Figure 4 is a flowchart of another device status determination method provided in an embodiment of this application;

[0074] Figure 5 is a schematic diagram of a device status determination device applied to a substrate management controller according to an embodiment of this application;

[0075] Figure 6 is a schematic diagram of a device status determination device applied to a host end according to an embodiment of this application;

[0076] Figure 7 is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0077] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other.

[0078] The technical solutions of the 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, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0079] To address the problems in related technologies, this application proposes a method for determining the normal, disabled, or absent state of a device by comparing in-situ hardware signals with device information reported by the host BIOS.

[0080] Figure 1 is a flowchart illustrating a device status determination method applied to a baseboard management controller according to an embodiment of this application, and Figure 2 is a schematic diagram of a server framework according to an embodiment of this application.

[0081] As shown in Figure 1, the first aspect of this application provides a device state determination method, applied to a baseboard management controller, the method comprising:

[0082] Step S101: For multiple target devices on the server, determine the first set of device information for the multiple target devices based on the correspondence between the multiple in-situ hardware signals of the multiple target devices on the server and the slot identifiers of the multiple slots on the server and the multiple preset hardware signals.

[0083] Step S102: Receive the second set of device information for multiple target devices obtained by the basic input / output system on the host side;

[0084] Step S103: Determine the status of multiple target devices based on the first device information set and the second device information set.

[0085] First, as shown in Figure 2, the server includes a host and a baseboard management controller. The host is equipped with a basic input / output system. The host and the baseboard management controller are connected via a bus, such as a DMI bus or an ESPI bus. The host is connected to a slot on the server via a PCIe bus. The baseboard management controller and the slot are connected via physical lines to obtain in-situ hardware signals on the slot.

[0086] Specifically, in step S101, the target device is a PCIe device connected to the server. When the process of determining the status of each target device on the server begins, the baseboard management controller will first determine the type and quantity of the target device. Typically, multiple target devices may include multiple expansion cards, storage devices, network adapters, etc. Different target devices occupy different slots on the server, that is, the physical location of the target device in the server.

[0087] The target device's slot on the server is physically connected to the GPIO (General Purpose Input / Output) of the baseboard management controller on the server motherboard. This allows the baseboard management controller to poll the presence hardware signals of all target devices within the server upon startup. The baseboard management controller acquires multiple presence hardware signals corresponding to the target devices on the server and matches these signals with the slot identifiers of the slots on the server against a pre-defined mapping of hardware signals. This mapping is pre-configured based on the server model. A slot's pre-defined hardware signal library contains multiple different types of hardware signals, used to indicate the presence of a target device in that slot (e.g., presence and absence signals). When a presence signal is detected in a slot, a target device is present in that slot; conversely, when an absence signal is detected, a target device is not present in that slot.

[0088] After matching, the first set of device information can be obtained. The first set of device information can be used to determine the target devices connected to the server. The first set of device information can contain device information corresponding to multiple target devices, such as slot identifier, silkscreen string, bus number, bus speed and other asset information.

[0089] Furthermore, in step S102, the baseboard management controller needs to cooperate with the basic input / output system (BIOS) on the server host. The BIOS is an important component that performs self-test and device initialization during server startup. In this process, the BMC will receive a second set of device information for multiple target devices obtained by the BIOS. The second set of device information is a set of device information for multiple target devices that can be detected on the server, obtained by the BIOS through executing BIOS code.

[0090] Finally, in step S103, through steps S101 and S102, a first set of device information at the hardware level and a second set of information at the software level are obtained respectively. The first set of device information and the second set of device information are then compared, allowing the baseboard management controller to comprehensively determine the status of each target device. This comparison process analyzes the differences in status presented by the target devices in the first and second sets of device information, effectively identifying which target devices are in what state, such as normal, disabled, or abnormal, thereby forming a comprehensive device status view.

[0091] Through the above embodiments, the software layer device information set and hardware layer device information set of multiple target devices on the server are obtained through the basic input / output system and the baseboard management controller, respectively. By comparing the first device information set of the hardware layer and the second device information set of the software layer, the baseboard management controller can accurately determine the accurate status of each target device on the server. This dual verification mechanism improves the accuracy of target device status identification. By integrating the second device information set of multiple target devices obtained from in-situ hardware signals and enumeration by the basic input / output system, the bias that may be caused by a single device information source is eliminated, improving the accuracy and efficiency of target device status monitoring. At the same time, it facilitates the subsequent management of each target device on the server, improves the manageability, reliability and performance of the system, and makes device management more refined.

[0092] In some embodiments of this application, the first device information set includes multiple first device information corresponding to multiple target devices, and the first device information includes at least a first slot identifier; the second device information set includes multiple second device information corresponding to multiple target devices, and the second device information includes at least a second slot identifier and a disabled identifier; the status of multiple target devices is determined based on the first device information set and the second device information set, including:

[0093] By comparing multiple pieces of first device information and multiple pieces of second device information, the status of each target device among multiple target devices is determined;

[0094] The first slot identifier is the slot identifier of the target device on the server, and the second slot identifier is the slot identifier of the target device on the server obtained by the basic input / output system.

[0095] Specifically, in one embodiment, the method for determining the device state is further elaborated through the composition of the first and second device information sets, the device information comparison process, and the final state determination. The implementation details of the device state determination method are refined, and the specific process is as follows.

[0096] First, the first device information set contains multiple first device information sets corresponding to multiple target devices. That is, each target device has one first device information set, and each first device information set contains at least the first slot identifier of the slot where the target device is located. The first slot identifier refers to the slot identifier (physical placement position) of the target device in the server, determined by the baseboard management controller through the in-situ hardware signals and the above correspondence. That is, the slot ID of the slot where the target device is located. Since the first slot identifier is determined based on the correspondence between the in-situ hardware signals of the target device on the server and the slot identifiers of multiple slots on the server and the preset hardware signals, the first slot identifier can indicate that there is a target device in the corresponding slot, but it cannot directly determine the specific status of the target device (normal, disabled, or abnormal, etc.). It needs to be combined with the second device information to determine this.

[0097] The second device information set is similar in structure to the first device information set, also containing multiple second device information sets corresponding to multiple target devices. However, each second device information set in this set must contain at least a second slot identifier and a disable identifier. The second device information originates from the host's Basic Input / Output System (BIOS). The second slot identifier represents the slot identifier of the target device detected by the BIOS at the software level, while the disable identifier indicates whether the target device is disabled. This information helps the monitoring system determine whether a device is affected by a fault or other reasons, thereby suspending service. If a target device's second device information contains a disable identifier, it means that the target device is disabled; conversely, if a target device's second device information does not contain a disable identifier, it means that the target device is normal.

[0098] After obtaining the two sets of information, the next crucial step is to compare the device information. The substrate management controller needs to compare each piece of first device information from the first device information set with each piece of second device information from the second device information set. This method not only identifies which slot each target device is in but also checks its status. This comparison helps to accurately determine the status of the target device. Based on the information obtained during the comparison process, the substrate management controller comprehensively judges the real-time status of each target device.

[0099] By comparing the first and second sets of device information through the above embodiments, misjudgments caused by inconsistencies in device information acquisition can be effectively reduced, improving the accuracy of the system in determining the status of each target device. This approach also improves the efficiency of determining the status of target devices. Furthermore, adding the comparison of slot identifiers and disabled identifiers further enhances the accuracy of determining the slot and status of target devices, ensuring efficient management and stable operation of each target device on the subsequent server.

[0100] In some embodiments of this application, multiple sets of first device information and multiple sets of second device information are compared to determine the state of each target device among multiple target devices, including:

[0101] The first slot identifier of each of the multiple first device information is compared with the multiple second slot identifiers of the multiple second device information to determine whether there is a matching second slot identifier in the first device information;

[0102] When a matching second slot identifier exists for the first slot identifier in the first device information, the status of the target device is determined based on whether a corresponding disable identifier exists for the second slot identifier that matches the first slot identifier.

[0103] Specifically, in one embodiment, the process of comparing the first device information with the second device information and determining the specific state of each target device will be described in detail.

[0104] First, a set of first device information for multiple target devices is obtained from the baseboard management controller. The physical location of each target device within the server can be indicated by multiple first slot identifiers.

[0105] Furthermore, the baseboard management controller compares each first slot identifier with multiple second slot identifiers in the second device information set. The core purpose of this comparison is to determine whether the slot of each target device is consistent in the two device information sets. When a first slot identifier finds a matching second slot identifier among multiple second slot identifiers, it indicates that the target device can be identified at both the hardware and software levels, thus indicating that the target device itself is normal.

[0106] The matching of the first slot identifier and the second slot identifier means that the first slot identifier and the second slot identifier are the same.

[0107] Finally, after determining the status of the target device itself, it is not possible to directly determine whether the target device is in a normal or disabled state. Therefore, it is necessary to determine the specific status of the target device based on whether there is a disabled flag corresponding to the second slot flag in the second device information of the target device.

[0108] Through the above embodiments, by enumerating and comparing the slot identifiers determined by each device in different ways, and combining them with the disable identifier to determine the status of the target device, the accuracy of the target device status determination can be guaranteed. This precise comparison is particularly important when the device configuration is complex or when multiple devices are interdependent. The entire process can be automated by the board management controller, reducing manual intervention, thereby improving management efficiency and reducing the possibility of human error. Since multiple identifiers are involved in the comparison process, the device status can be determined based on evidence, reducing the risk of misjudgment caused by a single signal error.

[0109] In some embodiments of this application, the state of the target device is determined based on whether a corresponding disable flag exists for a second slot flag that matches the first slot flag, including:

[0110] When there is no corresponding disabled identifier for the second slot identifier that matches the first slot identifier, the status of the target device in the slot corresponding to the first slot identifier is determined to be normal.

[0111] When a corresponding disabled identifier exists for a second slot identifier that matches the first slot identifier, the target device in the slot corresponding to the first slot identifier is determined to be in a disabled state.

[0112] Specifically, in one embodiment, once the matching relationship between the first slot identifier and the second slot identifier of a target device is determined, it can be determined that the target device itself is normal. Whether the target device is disabled or enabled needs to be further determined based on whether there is a disabled identifier in the second slot identifier of the target device.

[0113] It should be noted that throughout the text, the first slot identifier is determined based on the presence hardware signal of whether the target device is connected to the slot. The presence hardware signal is an attribute of the server slot. Therefore, regardless of whether the target device is normal or not, as long as the target device is connected to the slot, the presence of the target device can be determined by the presence hardware signal.

[0114] Therefore, if the second slot identifier matching the first slot identifier in the second device information of the target device does not have a corresponding disable identifier, the target device is determined to be in a normal state. A normal state indicates that the target device is functioning correctly and is enabled, thus it can be used normally. Conversely, if the second slot identifier matching the first slot identifier in the second device information of the target device has a corresponding disable identifier, the target device is determined to be in a disabled state. A disabled state indicates that the target device is functioning correctly but has been disabled by the administrator, making it unusable. The disable identifier is added to the second device information of the device after it has been disabled.

[0115] Through the above embodiments, based on the status judgment of the disabled identifier, the baseboard management controller can distinguish whether the target device on the server is in a disabled state or a normal state, which improves the accuracy and efficiency of determining the status of the target device, thereby facilitating the subsequent management of the target device.

[0116] In some embodiments of this application, multiple sets of first device information and multiple sets of second device information are compared to determine the state of each target device among multiple target devices, including:

[0117] The first slot identifier of each of the multiple first device information is compared with the multiple second slot identifiers of the multiple second device information to determine whether there is a matching second slot identifier in the first device information;

[0118] When there is no matching second slot identifier for the first slot identifier in the first device information, the status of the target device in the slot corresponding to the first slot identifier is determined to be abnormal.

[0119] Specifically, in one embodiment, it is also possible to determine whether the target state is an abnormal state. In the process of comparing the first slot identifier of each first device information with the multiple second slot identifiers of multiple second device information one by one, it is necessary to determine whether there is a matching second slot identifier in the first device information.

[0120] If, during the matching process, the first device information of a target device does not match a second slot identifier among multiple second slot identifiers, it indicates that the target device is only physically connected to the server but cannot be identified. Therefore, the target device itself is in an abnormal state and cannot be used normally, for example, the target device is lost.

[0121] Through the above embodiments, when the first slot identifier of the target device does not have a matching second slot identifier, it can be directly determined that the target device is abnormal, thereby improving the efficiency and accuracy of the system in determining the status of abnormal target devices.

[0122] In some embodiments of this application, before determining the state of each of the plurality of target devices, the method further includes:

[0123] Based on the first set of device information and the second set of device information, the device information of each target device among multiple target devices is integrated on the webpage of the baseboard management controller to obtain a list of device information for multiple target devices.

[0124] After determining the state of each of the multiple target devices, the process also includes:

[0125] Based on the status of each target device among multiple target devices, the device information of each target device in the device information list on the webpage is marked with status.

[0126] Specifically, in one embodiment, before determining the state of each target device among multiple target devices, the baseboard control manager needs to integrate the acquired first device information set and second device information set to obtain a device information list of multiple target devices. The device information list is stored on the webpage of the baseboard management controller. The device information list contains the device information of each target device obtained after integrating the first device information and the second device information of each target device. For example, when there is the same information in the first device information and the second device information, it is recorded only once in the device information list. When there is different information in the first device information and the second device information, it is recorded in the device information list.

[0127] Furthermore, after determining the status of each target device among multiple target devices, the device information of each target device is marked with a status in the device information list based on the determined status of each target device. Moreover, the information of each target device in the device information list can change and needs to be updated based on the first and second device information periodically obtained from the BMC and BIOS to ensure the real-time and accurate status of each target device in the device information list.

[0128] Through the above embodiments, the device information of each target device on the server is integrated and the status record of the corresponding target device is recorded through the device information list, which facilitates efficient management of each target device in the future. Administrators or users can directly obtain the asset information of each target device through the visualized device information list, and the device information list can be updated in real time, so it can be guaranteed that the obtained device information of each target device is real-time and accurate.

[0129] In some embodiments of this application, before determining the state of each of the plurality of target devices, the method further includes:

[0130] Based on the first set of device information and the second set of device information, the device information of each target device among multiple target devices is integrated on the webpage of the baseboard management controller to obtain a list of device information for multiple target devices.

[0131] Determine the state of each of the multiple target devices, including:

[0132] When there is no matching first device information or matching second device information for a target device in the device information list, the target device corresponding to the device information for which there is no matching first device information or matching second device information in the device information list is determined to be in the "disconnected" state.

[0133] Specifically, in one embodiment, before determining the state of each target device among multiple target devices, the baseboard control manager needs to integrate the acquired first device information set and second device information set to obtain a device information list of multiple target devices. The device information list is stored on the webpage of the baseboard management controller. The device information list contains the device information of each target device obtained after integrating the first device information and the second device information of each target device. For example, when there is the same information in the first device information and the second device information, it is recorded only once in the device information list. When there is different information in the first device information and the second device information, it is recorded in the device information list.

[0134] Furthermore, in the process of determining the status of each target device among multiple target devices, the obtained first device information and second device information need to be compared with the device information of the target device in the device information list to determine whether there is any device information in the device information list that does not match any of the first device information or any of the second device information obtained by the baseboard management controller. If this happens, it means that the target device corresponding to the device information in the device information list has been unplugged, so that the target device cannot be detected at both the hardware and software levels. Therefore, the status of the target device is determined to be unplugged.

[0135] It should be noted that since the device information list can be updated, the determination of whether the target device has been unplugged is based on the previously obtained device information list.

[0136] Through the above embodiments, the status of target devices that were detected in the past but not currently detected is determined by using a list of recorded device information, thereby determining that the target device is in a disconnected state, which improves the accuracy and efficiency of target device status determination and facilitates the management of each target device.

[0137] In some embodiments of this application, the method further includes:

[0138] Based on the first device information and the second device information, the device information of the target device whose device information has changed is modified on the webpage of the board management controller;

[0139] Based on the first device information and the second device information, the device information of the newly added target device in the first device information set is added to the device information list;

[0140] If no matching first device information and no matching second device information exist in the device information list, the device information for which no matching first device information and no matching second device information exist will be deleted from the device information list.

[0141] Specifically, in one embodiment, updating the device information list includes changing, adding, and deleting device information of the target device.

[0142] For any target device, if the device information for that target device in the device information list on the board management controller's webpage is found to be different from the first or second device information for that target device (e.g., a change in slot ID, the addition of a disable flag), then the device information for that target device in the device information list will be modified according to the first or second device information for that target device.

[0143] For any target device, if the device information of the target device is not found in the device information list on the webpage of the board management controller, for example, if a new target device is added, then the device information and status of the target device are recorded in the device information list according to the first device information and the second device information of the target device.

[0144] For any target device, if the corresponding first and second device information is not found in the device information list on the webpage of the baseboard management controller, it means that the target device is no longer on the server and may have been removed. Therefore, it is necessary to delete the device information of the target device from the device information list to avoid increasing the management burden of the target device's device information.

[0145] Through the above embodiments, by updating the device information in the device information list, it is possible to record and update the device information of each target device on the server in real time, so that the device information presented to users or administrators in the device information list is up-to-date and accurate, which facilitates efficient management of target devices.

[0146] In some embodiments of this application, the method further includes:

[0147] When a target device is disabled, retrieve the set of second device information re-acquired from the host.

[0148] The second set of device information that is reacquired is the set of device information that the host obtains after the target device is disabled.

[0149] Specifically, in one embodiment, the baseboard management controller can receive a second device information set acquired by the host at different times. For example, during the server boot-up phase, the baseboard management controller receives a second device information set of multiple target devices identified by the BIOS reported by the host. When the host disables a target device, it adds disable-related information, such as a disable identifier, to the second device information of that target device, and then re-acquires and reports the second device information set. In this way, the baseboard management controller can determine the current status of multiple target devices based on the latest reported second device information set and the acquired first device information set. For example, when the host disables a target device, it re-acquires the second device information of each target device to obtain a second device information set, and reports the latest second device information set to the baseboard management controller. In this way, the baseboard management controller can determine which target device has been disabled based on the disable-related information.

[0150] Through the above embodiments, the baseboard management controller can receive a second set of device information re-reported by the host after a target device is disabled, determine the latest status of each target device, and improve the accuracy and real-time performance of the target device status determination.

[0151] One embodiment of this application provides a device status determination method applied to a host terminal. Figure 3 is a flowchart illustrating a device status determination method applied to a host terminal according to an embodiment of this application. As shown in Figure 3, the method includes:

[0152] Step S201: Obtain a second device information set through the basic input / output system. The second device information set contains multiple second device information of multiple target devices.

[0153] Step S202: Store the second device information set in the cache on the host side;

[0154] Step S203: The second set of device information stored on the host is reported to the baseboard management controller so that the baseboard management controller can determine the status of multiple target devices based on the first set of device information and the second set of device information.

[0155] The first device information set is a baseboard management controller, which is determined based on the correspondence between multiple in-situ hardware signals of multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals.

[0156] For the host side, the main process is to periodically acquire and report the second device information set, as shown in steps S201 to S203.

[0157] First, in step S201, the host obtains second device information from multiple device information that can be detected on the server through the Basic Input / Output System (BIOS), and integrates this second device information to obtain a set of second device information.

[0158] Furthermore, in step S202, the acquired second device information set is saved to the host's cache for later use. Through caching, the host can improve access speed and avoid frequently reading information from the BIOS, thereby improving overall performance.

[0159] Finally, in step S203, the second device information set stored on the host is reported to the baseboard management controller, so that the baseboard management controller can determine the status of multiple target devices according to the first device information set and the received second device information set, in accordance with the various embodiments described above. The first device information set is determined by the baseboard management controller based on the correspondence between multiple in-situ hardware signals of multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals. After analysis and comparison, the baseboard management controller can determine the final status of each target device, such as normal status, abnormal status, disabled status, etc.

[0160] Through the above embodiments, the host obtains a second set of device information corresponding to multiple devices on the server through the BIOS, saves and reports it to the baseboard management controller, so that the baseboard management controller can determine the status of multiple target devices on the server based on the received second set of device information and the first set of device information it has obtained, thereby improving the accuracy of the target device status determination.

[0161] In some embodiments of this application, the method further includes:

[0162] When a target device is detected that needs to be disabled, the root port of the target device to be disabled is closed via control commands.

[0163] Set a disable flag for the disabled target device and add the disable flag to the second device information of the disabled target device.

[0164] Specifically, in one embodiment, the host can periodically detect whether it receives a disable notification for the target device. When a disable notification is received, the host can close the root port of the target device to be disabled through the control command corresponding to the BIOS option, restart the server, set a disable flag for the disabled target device, and add the disable flag to the second device information of the disabled target device.

[0165] Through the above embodiments, the system periodically detects and disables the target devices that need to be disabled, sets a disable identifier for the disabled target devices, and includes the disable identifier as part of the second device information. In this way, a series of operations to disable the target devices can be automatically executed, making it easier for the board management controller to determine which target devices are disabled through the disable identifier, thereby improving the accuracy of the target device status determination.

[0166] In some embodiments of this application, the second device information set in the cache further includes the silkscreen string and second slot identifier of the target device; setting a disable identifier for a disabled target device and adding the disable identifier to the second device information of the disabled target device includes:

[0167] Record the second slot identifier of the disabled target device;

[0168] Determine the silkscreen string corresponding to the second slot identifier of the disabled target device from the cache;

[0169] After disabling the target device, the second device information set is reacquired through the basic input / output system, and the second device information set already stored in the host cache is replaced according to the reacquired second device information set;

[0170] Add the second slot identifier, disable identifier, and silkscreen string of the target device that needs to be disabled to the second device information set stored on the host.

[0171] The reacquired second set of device information is sent to the baseboard management controller so that the baseboard management controller can determine the status of multiple target devices based on the reacquired second set of device information.

[0172] Specifically, in one embodiment, the second device information set in the host-side cache includes multiple pieces of second device information, including the silkscreen string and second slot identifier of the target device. Setting a disable identifier for the disabled target device and adding the disable identifier to the second device information of the disabled target device specifically includes the following steps:

[0173] First, record the second slot identifier of the disabled target device. This second slot identifier can be obtained from the disabling notification.

[0174] Furthermore, the silkscreen string corresponding to the second slot identifier of the disabled target device is read from the second device information in the cache according to the second slot identifier of the disabled target device.

[0175] Furthermore, after disabling the target devices that need to be disabled, the basic input / output system is used to re-identify the multiple target devices that can be detected on the server, and generate a set of second device information by obtaining multiple sets of second device information. During this process, the target devices that have been disabled cannot be detected by second device information. Therefore, it is necessary to replace the set of second device information already saved in the cache on the host side with the re-obtained set of second device information, so that the second device information in the replaced set of second device information is all the latest information.

[0176] Finally, after the replacement, the second slot identifier, the disable identifier, and the silkscreen string of the disabled target device are added to the second device information set stored on the host side, so that the updated second device information set includes the second device information of the disabled target device. In this way, the host side sends the re-acquired second device information set to the board management controller, so that the board management controller can determine the status of multiple target devices, including the status of the disabled target device, based on the re-acquired second device information set.

[0177] Through the above embodiments, this process can dynamically update the second device information set after a target device is disabled, so that the content of the second device information set received and reported to the baseboard management controller is accurate. This ensures that the baseboard management controller can accurately and timely determine the status of the disabled target device after it is disabled, making it easier for administrators or users to accurately obtain the status of each target device.

[0178] The following describes the interaction process between the baseboard management controller and the host's basic input / output system through an embodiment. Figure 4 is a flowchart of another device state determination method provided by an embodiment of this application, as shown in Figure 4.

[0179] First, during the server's boot phase, the host's Basic Input / Output System (BIOS) enumerates the second device information corresponding to each target device, obtaining a set of second device information. It then determines if any target devices need to be disabled. If no target devices need to be disabled, the second device information set is reported to the baseboard management controller via a shared memory channel. If a target device needs to be disabled, it is disabled, and the second device information of the disabled target device is retrieved and added to the newly enumerated second device information set. This newly retrieved second device information set is then reported to the baseboard management controller via the shared memory channel. Simultaneously, the second device information set is saved to the host's cache or a USB flash drive file.

[0180] The second device information of the disabled target device contains a disable identifier.

[0181] At the same time, during the server's power-on phase, the baseboard management controller will also acquire the in-situ hardware signals of multiple target devices connected to the server's slots through physical lines, and combine the correspondence between the slot identifiers of multiple slots on the server and multiple preset hardware signals to determine the first set of device information for the multiple target devices connected to the server.

[0182] Finally, the baseboard management controller matches each piece of first device information in the first device information set with each piece of second device information in the second device information set. It determines the first device information that is successfully matched with the second device information and the target device that does not have a disabled flag in the second device information, which is in a normal state. It determines the first device information that is successfully matched with the second device information and the target device that has a disabled flag in the second device information, which is in a disabled state. It determines the target device corresponding to the first device information that is not matched with the second device information, which is in an abnormal state.

[0183] In some embodiments of this application, the technical concepts of the device state determination methods described in the above embodiments can also be applied to CPU and memory application scenarios.

[0184] The technical solution mentioned in the document primarily addresses the status monitoring and management of PCIe devices. This solution, through the collaboration of the BMC (Baseboard Management Controller) and BIOS (Basic Input / Output System), accurately displays asset information of PCIe devices on the server, including whether the devices are disabled, functioning normally, or experiencing malfunctions. This solution can be applied not only to PCIe devices but also extended to the asset information management of CPUs and memory.

[0185] Specifically, the following steps can be applied to the CPU and memory:

[0186] Similar to PCIe devices, the CPU and memory on a server also emit presence signals to indicate whether they are correctly installed on the server. The BMC can monitor these presence signals by connecting to the GPIO (General-purpose input / output) ports of the CPU and memory modules. In this way, the BMC can know whether the CPU and memory modules have been installed on the server and obtain their physical location.

[0187] During server startup, the BIOS performs a self-test (POST) to detect and collect detailed information about the CPU and memory, such as model, speed, and capacity. This information can be reported by the BIOS to the BMC as part of the asset information.

[0188] The BMC compares the CPU and memory asset information received from the BIOS with the presence information sensed through hardware signals. If an inconsistency is found, such as the BIOS not detecting a memory module, but hardware signals indicating that the module should be present, the BMC can determine that the memory module may have a problem.

[0189] When a CPU or memory malfunctions, the BMC can analyze asset information and hardware signals received from the BIOS to help locate the faulty device. For example, if a CPU's performance metrics are abnormal, the BMC can record this information and provide it to the system administrator for troubleshooting when needed.

[0190] BMC can display CPU and memory asset information on its management interface, including their operating status, configuration parameters, and any anomalies. This helps system administrators monitor the server's hardware status in real time and perform timely maintenance or replacement.

[0191] This approach not only improves the accuracy and efficiency of server management of various types of hardware, but also helps to promptly identify and resolve hardware problems, thereby enhancing the stability and reliability of the entire server system.

[0192] Based on the same inventive concept, another embodiment of this application also provides a device status determination apparatus. Figure 5 is a schematic diagram of the framework of a device status determination apparatus applied to a baseboard management controller according to an embodiment of this application. As shown in Figure 5, the apparatus, applied to the baseboard management controller, includes:

[0193] The first device information set determination module 11 is used to determine the first device information set of multiple target devices on the server based on the correspondence between multiple in-situ hardware signals of multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals.

[0194] The second device information set receiving module 12 is used to receive the second device information set of multiple target devices obtained by the basic input / output system of the host.

[0195] The target device status determination module 13 is used to determine the status of multiple target devices based on the first device information set and the second device information set.

[0196] In some embodiments of this application, the first device information set includes multiple first device information corresponding to multiple target devices, and the first device information includes at least a first slot identifier; the second device information set includes multiple second device information corresponding to multiple target devices, and the second device information includes at least a second slot identifier and a disabled identifier; the target device status determination module 13 includes:

[0197] The target device status determination unit is used to compare multiple first device information and multiple second device information to determine the status of each target device among multiple target devices;

[0198] The first slot identifier is the slot identifier of the target device on the server, and the second slot identifier is the slot identifier of the target device on the server obtained by the basic input / output system.

[0199] In some embodiments of this application, the target device state determination unit includes:

[0200] The first judgment unit is used to compare the first slot identifier of each first device information in the plurality of first device information with the plurality of second slot identifiers of the plurality of second device information, and to determine whether there is a matching second slot identifier in the first device information;

[0201] The first determining unit is used to determine the status of the target device based on whether there is a corresponding disable flag when there is a matching second slot flag for the first slot flag in the first device information.

[0202] In some embodiments of this application, the first determining unit includes:

[0203] The first subunit is used to determine that the target device in the slot corresponding to the first slot identifier is in a normal state when there is no corresponding disabled identifier for the second slot identifier that matches the first slot identifier.

[0204] The first subunit is used to determine the state of the target device in the slot corresponding to the first slot identifier as disabled when there is a corresponding disable identifier for the second slot identifier that matches the first slot identifier.

[0205] In some embodiments of this application, the target device state determination unit includes:

[0206] The second judgment unit is used to compare the first slot identifier of each first device information in the plurality of first device information with the plurality of second slot identifiers of the plurality of second device information, and to determine whether there is a matching second slot identifier in the first device information;

[0207] The second determining unit is used to determine that the state of the target device in the slot corresponding to the first slot identifier is abnormal when there is no matching second slot identifier in the first slot identifier in the first device information.

[0208] In some embodiments of this application, the apparatus further includes:

[0209] The device information list acquisition module is used to integrate the device information of each target device among multiple target devices on the webpage of the baseboard management controller according to the first device information set and the second device information set before determining the status of each target device among multiple target devices, so as to obtain a device information list of multiple target devices.

[0210] The status marking module is used to mark the status of each target device in the device information list on the webpage after determining the status of each target device among multiple target devices.

[0211] In some embodiments of this application, the apparatus further includes:

[0212] The device information list acquisition module is used to integrate the device information of each target device among multiple target devices on the webpage of the baseboard management controller according to the first device information set and the second device information set before determining the status of each target device among multiple target devices, so as to obtain a device information list of multiple target devices.

[0213] The target device status determination unit includes:

[0214] The second determining unit is used to determine the state of the target device corresponding to the device information in the device information list that does not have matching first device information or matching second device information when there is no matching first device information or matching second device information for the target device in the device information list.

[0215] In some embodiments of this application, the apparatus further includes:

[0216] The modification module is used to modify the device information of the target device whose device information has changed in the device information list on the web page of the baseboard management controller, based on the first device information and the second device information.

[0217] The new module is used to add the device information of the newly added target device in the first device information set to the device information list based on the first device information and the second device information;

[0218] The deletion module is used to delete device information in the device information list that does not have matching first device information and matching second device information when the device information list contains no matching first device information and matching second device information.

[0219] In some embodiments of this application, the apparatus further includes:

[0220] The reacquisition module is used to acquire the set of reacquisitioned second device information reported by the host when a target device is disabled.

[0221] The second set of device information that is reacquired is the set of device information that the host obtains after the target device is disabled.

[0222] Based on the same inventive concept, another embodiment of this application also provides a device status determination apparatus. Figure 6 is a schematic diagram of a device status determination apparatus applied to a host terminal according to an embodiment of this application. As shown in Figure 6, the apparatus is applied to the host terminal and includes:

[0223] The second device information set acquisition module 21 is used to acquire the second device information set through the basic input / output system. The second device information set contains multiple second device information of multiple target devices.

[0224] The storage module 22 is used to store the second device information set in the cache on the host side;

[0225] The reporting module 23 is used to report the second set of device information stored on the host to the baseboard management controller, so that the baseboard management controller can determine the status of multiple target devices based on the first set of device information and the second set of device information.

[0226] The first device information set is a baseboard management controller, which is determined based on the correspondence between multiple in-situ hardware signals of multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals.

[0227] In some embodiments of this application, the apparatus further includes:

[0228] The disable module is used to close the root port of the target device that needs to be disabled by means of control commands when it is detected that the target device needs to be disabled.

[0229] The disable identifier module is used to set a disable identifier for the target device to be disabled, and to add the disable identifier to the second device information of the target device to be disabled.

[0230] In some embodiments of this application, the second device information set in the cache further includes the silkscreen string of the target device and the second slot identifier; the disabled identifier module includes:

[0231] Disable the logging module to record the second slot identifier of the disabled target device;

[0232] The silkscreen string determination module is used to determine from the cache the silkscreen string corresponding to the second slot identifier of the disabled target device;

[0233] The replacement module is used to reacquire the second device information set through the basic input / output system after the target device is disabled, and replace the second device information set already saved in the cache on the host side based on the reacquired second device information set;

[0234] The module adds the second slot identifier, disable identifier, and silkscreen string of the target device to be disabled to the second device information set stored on the host.

[0235] The reacquired second set of device information is sent to the baseboard management controller so that the baseboard management controller can determine the status of multiple target devices based on the reacquired second set of device information.

[0236] Based on the same inventive concept, another embodiment of this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the device state determination method as described in any of the above embodiments.

[0237] Referring to FIG7, which is a schematic diagram of an electronic device provided in an embodiment of the present application, the electronic device 700 includes a memory 710 and a processor 720. The memory 710 and the processor 720 are connected via a bus. The memory 710 stores a computer program that can run on the processor 720 to implement the steps in the device state determination method disclosed in the above embodiments of the present application.

[0238] Based on the same inventive concept, another embodiment of this application also provides a computer program product, including a computer program, which is executed by a processor as the device state determination method of any of the above embodiments.

[0239] Based on the same inventive concept, another embodiment of this application provides a computer non-volatile readable storage medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the device state determination method as described in any of the above embodiments.

[0240] As the apparatus is basically similar to the method embodiment, it is described in a relatively simple way. For relevant details, please refer to the description of the method embodiment.

[0241] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0242] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus, or computer program products. Therefore, embodiments of this application can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of this application can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0243] This application describes embodiments with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0244] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0245] These computer program instructions may also be loaded onto a computer or other programmable data processing terminal equipment to cause a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable terminal equipment, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

[0246] Although preferred embodiments of the present application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present application.

[0247] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes the element.

[0248] The above provides a detailed description of the device state determination method, device, medium, and product provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for determining the state of equipment, characterized in that, The method should be configured as a baseboard management controller, and includes: For multiple target devices on a server, a first set of device information for the multiple target devices is determined based on the correspondence between multiple in-situ hardware signals of the multiple target devices on the server and slot identifiers of multiple slots on the server and multiple preset hardware signals. The second set of device information of the multiple target devices is obtained by the basic input / output system of the receiving host. The status of the plurality of target devices is determined based on the first device information set and the second device information set.

2. The equipment status determination method according to claim 1, characterized in that, The target device is a high-speed serial computer expansion bus standard device connected to the server.

3. The equipment status determination method according to claim 1, characterized in that, The first device information set includes multiple first device information corresponding to the multiple target devices, and the first device information includes at least a first slot identifier; the second device information set includes multiple second device information corresponding to the multiple target devices, and the second device information includes at least a second slot identifier and a disabled identifier; Determining the status of the plurality of target devices based on the first device information set and the second device information set includes: The status of each target device among the plurality of target devices is determined by comparing the plurality of first device information and the plurality of second device information. Wherein, the first slot identifier is the slot identifier of the slot where the target device on the server is located, and the second slot identifier is the slot identifier of the target device on the server obtained by the basic input / output system.

4. The equipment status determination method according to claim 3, characterized in that, The first device information also includes silkscreen strings and bus number / bus speed.

5. The method for determining equipment status according to claim 3, characterized in that, The step of comparing the plurality of first device information and the plurality of second device information to determine the state of each of the plurality of target devices includes: The first slot identifier of each of the plurality of first device information is compared with the plurality of second slot identifiers of the plurality of second device information to determine whether there is a matching second slot identifier in the first device information; When a matching second slot identifier exists for the first slot identifier in the first device information, the state of the target device is determined based on whether a corresponding disable identifier exists for the second slot identifier that matches the first slot identifier.

6. The equipment status determination method according to claim 5, characterized in that, The disable flag is configured to indicate whether the target device is in a disabled state.

7. The equipment status determination method according to claim 5, characterized in that, The step of determining the status of the target device based on whether there is a corresponding disabled flag for a second slot flag that matches the first slot flag includes: When the second slot identifier that matches the first slot identifier does not have a corresponding disabled identifier, the target device in the slot corresponding to the first slot identifier is determined to be in a normal state. When the second slot identifier that matches the first slot identifier has a corresponding disabled identifier, the target device in the slot corresponding to the first slot identifier is determined to be in a disabled state.

8. The equipment status determination method according to claim 7, characterized in that, The normal state indicates that the target device is functioning normally and is enabled.

9. The method for determining equipment status according to claim 7, characterized in that, The disabled state indicates that the target device itself is normal but has been set to a disabled state by the administrator.

10. The method for determining the state of equipment according to claim 3, characterized in that, The step of comparing the plurality of first device information and the plurality of second device information to determine the state of each of the plurality of target devices includes: The first slot identifier of each of the plurality of first device information is compared with the plurality of second slot identifiers of the plurality of second device information to determine whether there is a matching second slot identifier in the first device information; When there is no matching second slot identifier in the first slot identifier in the first device information, the target device in the slot corresponding to the first slot identifier is determined to be in an abnormal state.

11. The equipment status determination method according to claim 3, characterized in that, Before determining the state of each of the plurality of target devices, the process also includes: Based on the first device information set and the second device information set, the device information of each of the multiple target devices is integrated on the webpage of the baseboard management controller to obtain a device information list of the multiple target devices; After determining the state of each of the plurality of target devices, the process further includes: Based on the status of each of the plurality of target devices, the device information of each target device in the device information list is marked with a status in the webpage.

12. The equipment status determination method according to claim 3, characterized in that, Before determining the state of each of the plurality of target devices, the process also includes: Based on the first device information set and the second device information set, the device information of each of the multiple target devices is integrated on the webpage of the baseboard management controller to obtain a device information list of the multiple target devices; Determining the state of each of the plurality of target devices includes: When there is no matching first device information or matching second device information for a target device in the device information list, the target device corresponding to the device information in the device information list that has no matching first device information and no matching second device information is determined to be in the unplugged state.

13. The method for determining the state of equipment according to claim 11 or 12, characterized in that, The method further includes: Based on the first device information and the second device information, the device information of the target device whose device information has changed is modified on the webpage of the baseboard management controller; Based on the first device information and the second device information, the device information of the newly added target device in the first device information set is added to the device information list; When there is no matching first device information and no matching second device information in the device information list, the device information in the device information list that does not have matching first device information and no matching second device information is deleted.

14. The method according to claim 1, characterized in that, The method further includes: When a target device is disabled, obtain the second set of device information re-acquired from the host terminal; The second set of device information that is reacquired is the second set of device information acquired by the host after the target device is disabled.

15. A method for determining the state of equipment, characterized in that, It should be configured as a host-side method, which includes: A second device information set is obtained through a basic input / output system. The second device information set contains multiple second device information of multiple target devices. The second set of device information is stored in the cache on the host side; The host computer reports the second set of device information stored on the host to the baseboard management controller, so that the baseboard management controller can determine the status of the multiple target devices based on the first set of device information and the second set of device information. The first device information set is determined by the baseboard management controller based on the correspondence between the multiple in-situ hardware signals of the multiple target devices on the server and the slot identifiers of the multiple slots on the server and multiple preset hardware signals.

16. The equipment status determination method according to claim 15, characterized in that, The method further includes: When a target device is detected that needs to be disabled, the root port of the target device to be disabled is closed via control commands. A disable identifier is set for the disabled target device, and the disable identifier is added to the second device information of the disabled target device.

17. The method for determining the state of equipment according to claim 16, characterized in that, The second device information set in the cache includes multiple pieces of second device information, including the silkscreen string and second slot identifier of the target device; the setting of a disable identifier for the disabled target device, which involves adding the disable identifier to the second device information of the disabled target device, includes: Record the second slot identifier of the disabled target device; Determine the silkscreen string corresponding to the second slot identifier of the disabled target device from the cache; After disabling the target device, the second device information set is reacquired through the basic input / output system, and the second device information set already stored in the cache of the host is replaced according to the reacquired second device information set; Add the second slot identifier, the disable identifier, and the silkscreen string of the target device to be disabled to the second device information set stored on the host. The reacquired second set of device information is configured to be sent to the baseboard management controller so that the baseboard management controller can determine the status of the plurality of target devices based on the reacquired second set of device information.

18. An electronic device, characterized in that, The device includes a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the device state determination method as claimed in any one of claims 1-9 or any one of claims 10-12.

19. A computer non-volatile readable storage medium, characterized in that, It stores a computer program thereon, wherein the computer program, when executed by a processor, implements the device state determination method as claimed in any one of claims 1-14 or any one of claims 15-17.

20. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the device state determination method as claimed in any one of claims 1-14 or any one of claims 15-17.

Citation Information

Patent Citations

  • PCIE equipment detection method and device, BIOS and storage medium

    CN117234783A

  • Positioning method and device of hardware interface standard equipment and server

    CN118860772A

  • Equipment state determination method, equipment, medium and product

    CN119046107A

  • System and method for interfacing to different implementations of the intelligent platform management interface

    US20030055955A1