Method, system and equipment for monitoring external card of server and storage medium

By setting the identifier information of the extraplier card and the level status of the general input and output pins during the BIOS startup process, the BMC is notified to start monitoring, which solves the problem of low monitoring reliability in the existing technology and achieves higher monitoring reliability Sex and timely.

CN119271495AActive Publication Date: 2025-01-07INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411357696.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-01-07
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

In the prior art, the monitoring reliability of the server plug-in card is low, especially when the IPMI command is sent after the BIOS is started, the BMC cannot start monitoring of the PCIe device in time, resulting in the failure of the PCIe device to be reported in time.

Method used

In the second stage of the BIOS startup process, the identifier information of the extrapolating card is set to the default state, and the pre-selected universal input and output pins are set to the first level state; in the third stage, the extrapolating card is performed Initialize and set the pin to the second level state after initialization is completed to notify the BMC to start monitoring, and to implement notifications based on hardware level changes to avoid software dependencies and external influences.

Benefits of technology

It improves the monitoring reliability of the server plug-in card, avoids the failure of PCIe equipment failure in time, and enhances the directness and stability of monitoring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271495A_ABST
    Figure CN119271495A_ABST
Patent Text Reader

Abstract

The invention discloses a server external plug-in card monitoring method, system and device and a storage medium, and is applied to the technical field of servers, and the method comprises the steps: setting the detected identifier information of each external plug-in card as a default state in the second stage of the starting process of a basic input / output system, setting a pre-selected universal input / output pin to be in a first level state; in the third stage, initializing each external plug-in card, and configuring the detected identifier information of each external plug-in card; and in the third stage, after initialization of each external plug-in card is completed, the universal input / output pin is set to be in a second level state, so that when the substrate management controller detects that the universal input / output pin is switched from the first level state to the second level state, the external plug-in card is initialized. And obtaining identifier information of each external plug-in card and starting monitoring for each external plug-in card. By applying the scheme of the invention, the monitoring reliability of the external plug-in card of the server is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of servers, and in particular to a monitoring method, system, equipment and storage medium for an external plug-in card of a server. Background Art

[0002] The server's plug-in card is usually a PCIe device that is inserted into a PCIe (Peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) slot. Each PCIe device needs to be monitored by a BMC (Board Management Controller).

[0003] In the current solution, after the BIOS (Basic Input Output System) is started, it will use the IPMI (Intelligent Platform Management Interface) command to notify the BMC that it can start monitoring. The BIOS and BMC need to negotiate the fields of the custom IPMI command. In actual applications, IPMI commands may fail to be sent due to software or link problems. Once the sending fails, the BIOS cannot notify the BMC, resulting in a failure of the linkage between the two, and the BMC cannot start monitoring the PCIe device.

[0004] In summary, how to effectively improve the reliability of monitoring of server plug-in cards is a technical problem that those skilled in the art urgently need to solve. Summary of the invention

[0005] The object of the present invention is to provide a monitoring method, system, device and storage medium for an external plug-in card of a server, so as to effectively improve the reliability of monitoring the external plug-in card of the server.

[0006] In order to solve the above technical problems, the present invention provides the following technical solutions:

[0007] In a first aspect, the present invention provides a method for monitoring a server external card, comprising:

[0008] In the second stage of the basic input and output system startup process, the identifier information of each detected external card is set to a default state, and the pre-selected general input and output pin is set to a first level state;

[0009] In the third stage of the basic input and output system startup process, each of the external cards is initialized, and during the initialization process, the identifier information of each of the external cards detected is configured;

[0010] In the third stage of the basic input / output system startup process, after the initialization of each of the external cards is completed, the general input / output pin is set to the second level state, so that when the baseboard management controller detects that the general input / output pin is switched from the first level state to the second level state, it obtains the identifier information of each of the external cards, and starts monitoring for each of the external cards based on the obtained identifier information of each of the external cards.

[0011] On the other hand, setting the pre-selected general input / output pin to a first level state includes:

[0012] Determine the register address of the pre-selected general purpose input / output pin;

[0013] The general purpose input output pin is set to a first level state based on a register address of the general purpose input output pin.

[0014] On the other hand, determining the register address of the pre-selected general purpose input and output pin includes:

[0015] Adding the pre-selected general purpose input / output pins to the general purpose input / output table of the basic input / output system;

[0016] The register address of the pre-selected general input output pin is determined based on the register addresses of other general input output pins adjacent to the pre-selected general input output pin number in the general input output table.

[0017] On the other hand, after the initialization of each of the external cards is completed, setting the general input and output pins to the second level state includes:

[0018] After the initialization of each of the external cards is completed, the target function is called through a pre-created event, so as to set the general input and output pin to the second level state through the target function.

[0019] On the other hand, it also includes:

[0020] After the basic input / output system is started, a first command is sent to the baseboard management controller, so that when the baseboard management controller does not detect that the general input / output pin switches from the first level state to the second level state and receives the first command, it obtains the identifier information of each of the external cards and starts monitoring for each of the external cards based on the obtained identifier information of each of the external cards.

[0021] On the other hand, it also includes:

[0022] The baseboard management controller records an abnormal event after not detecting that the general input / output pin switches from the first level state to the second level state and receiving the first command.

[0023] On the other hand, starting monitoring for each of the external cards based on the acquired identifier information of each of the external cards includes:

[0024] Based on the acquired identifier information of each of the external cards, monitoring the connection status of each of the external cards;

[0025] Determining whether there is an abnormal connection state of at least one of the external cards within the first time period;

[0026] If within the first time period, at least one of the external cards has an abnormal connection state, it is determined that all of the external cards with abnormal connection states are in a fault state, and a first alarm message is output to a preset web page;

[0027] If the connection status of each of the external cards is normal within the first time period, it is determined that each of the external cards is not currently faulty, and information indicating that each of the external cards is currently connected normally is output to the web page;

[0028] After the first time period, determining whether there is an abnormal connection state of at least one of the external cards;

[0029] If after the first period of time, at least one of the external cards has an abnormal connection state, it is determined that all of the external cards with abnormal connection states are in a suspected fault state, and a second alarm message is output to the web page;

[0030] The warning level of the first warning information is higher than the warning level of the second warning information.

[0031] In a second aspect, the present invention provides a monitoring system for a server plug-in card, comprising:

[0032] The general input / output pin initial level setting module is used to set the detected identifier information of each external card to a default state and set the pre-selected general input / output pin to a first level state in the second stage of the basic input / output system startup process;

[0033] An identifier information configuration module, used to initialize each of the external cards in the third stage of the basic input and output system startup process, and configure the identifier information of each of the external cards detected during the initialization process;

[0034] The general input / output pin level adjustment module is used to set the general input / output pin to a second level state after initialization of each of the external cards is completed in the third stage of the basic input / output system startup process, so that when the baseboard management controller detects that the general input / output pin is switched from the first level state to the second level state, it obtains the identifier information of each of the external cards and starts monitoring for each of the external cards based on the obtained identifier information of each of the external cards.

[0035] In a third aspect, the present invention provides a monitoring device for a server plug-in card, comprising:

[0036] Memory for storing computer programs;

[0037] The processor is used to execute the computer program to implement the steps of the monitoring method of the server external card as described above.

[0038] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method for monitoring a server external card as described above are implemented.

[0039] The technical solution provided by the embodiment of the present invention does not notify the BMC through IPMI that monitoring can be started, but rather notifies the BMC that monitoring can be started based on the level state change of a pre-selected general input and output pin. This solution of realizing notification based on hardware level change is more direct than software, is less affected by external factors, and has higher reliability.

[0040] Furthermore, the present application further considers that in the traditional solution, after the BIOS startup is completed, the IPMI command is used to notify the BMC that monitoring can be started. In actual applications, the applicant has found that even if the IPMI command is successfully sent, there will still be a situation where the PCIe device fails but is not monitored and reported in time. This is because when the BMC starts monitoring the PCIe device, it needs to obtain the identifier information of each PCIe device, that is, the BDF information. The BDF information of each PCIe device is fixed in the second stage (PEI stage) of the BIOS startup process, and needs to be reallocated when initializing each external card in the third stage (DXE stage) of the BIOS startup process. Therefore, in the traditional solution, the BIOS will notify the BMC that monitoring can be started after the startup is completed, and the BMC can obtain the correct BDF information of each PCIe device. However, if a PCIe device does not fail during initialization, but fails after initialization before the BMC starts monitoring the PCIe device, at this time, because the faulty PCIe device fails to respond to the BMC when the BMC starts monitoring, the BMC will think that the PCIe device is not inserted into the slot, and the PCIe device fails but is not monitored and reported in time.

[0041] In this regard, in the solution of the present application, in the second stage of the BIOS startup process, the identifier information of each external card detected is set to the default state, and the pre-selected general input and output pin is set to the first level state. Subsequently, in the third stage of the BIOS startup process, each external card will be initialized, and during the initialization process, the identifier information of each external card detected will be configured. After the initialization of each external card is completed, the general input and output pin will be set to the second level state without waiting for the BIOS startup to be completed, so as to notify the BMC that monitoring can be started. In other words, in the solution of the present application, the BMC will not be notified to start monitoring too early (the identifier information of each external card detected has not yet been configured) to cause the BMC to obtain incorrect identifier information, nor will the BMC be notified to start monitoring too late (the BIOS has been started) to avoid the situation where the PCIe device fails but is not monitored and reported in time.

[0042] In summary, the present application solution can start monitoring based on hardware level change notification to BMC, which is less affected by external factors, has higher reliability, and can avoid the situation where PCIe device failure occurs but is not monitored and reported in time. Therefore, the present application solution effectively improves the reliability of monitoring of server plug-in cards. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0044] Figure 1 A flowchart of a method for monitoring a server external card provided in a specific embodiment of the present invention;

[0045] Figure 2 A schematic diagram of the structure of a monitoring system for a server plug-in card provided in a specific embodiment of the present invention;

[0046] Figure 3 A schematic diagram of the structure of a monitoring device for a server external card provided in a specific embodiment of the present invention;

[0047] Figure 4 The present invention is a schematic diagram of the structure of a computer-readable storage medium. DETAILED DESCRIPTION

[0048] The core of the present invention is to provide a monitoring method for a server plug-in card, which can start monitoring based on hardware level change notification to the BMC, is less affected by external factors, has higher reliability, and can avoid the situation where a PCIe device failure occurs but is not monitored and reported in time. Therefore, the present application scheme effectively improves the reliability of monitoring of server plug-in cards.

[0049] In order to enable those skilled in the art to better understand the scheme of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0050] Please refer to Figure 1 , Figure 1 The present invention provides a flow chart of a method for monitoring a server plug-in card according to a specific embodiment of the present invention. The method for monitoring a server plug-in card may include the following steps:

[0051] Step S101: In the second stage of the basic input and output system startup process, the detected identifier information of each external card is set to a default state, and the pre-selected general input and output pin is set to a first level state.

[0052] BIOS is a firmware program stored in the ROM (Read-Only Memory) on the motherboard, usually in EEPROM (Electrically Erasable Programmable Read Only Memory) or flash memory. As the first "executable program" to be processed by the CPU (Central Processing Unit) after the computer is turned on, that is, the first "boot item", it will lead the CPU to identify and load important hardware and integrated components on the motherboard, such as the hard disk, graphics card, sound card, and various interfaces, and then read the boot file of the operating system on the memory in a preset order, and find the boot partition through the set boot mode to load the operating system, such as DOS, Windows, Linux, etc.

[0053] The BIOS boot process can be roughly divided into the following four stages: The first stage is the SEC (Security) stage, which is used to handle platform restart events and create a temporary memory area. At this time, the memory has not been initialized. The second stage is the PEI (Pre-EFI Initialization) stage, which initializes some permanent memory. At this time, the BDF number of each PCIe device is fixed, not the final result of dynamic allocation, and transfers control to the DXE stage. The third stage is the DXE (Driver Execution Environment) stage, which is the execution environment of the hardware driver on the server. It is responsible for executing DXE Drivers and initializing system devices, which is closely related to the use of subsequent peripherals. The fourth stage is the BDS (Boot Device Select) stage, which attempts to load and execute startup items.

[0054] In the second stage of the BIOS startup process, the identifier information of each external card detected is in the default state. The identifier information of each external card is also the BDF information of each external card, or called the BDF number, which is a unique identifier used to uniquely identify the PCIe device. In addition, the external card described in this application is an external device inserted into a server slot, such as a PCI device or a PCIe device. Of course, since PCIe devices are more commonly used, they are usually PCIe devices in actual applications. Therefore, in the following text of this application, each external card is described as a PCIe device.

[0055] BDF information consists of three parts: Bus, Device and Function, which can be represented by BBBB, DD and FF respectively. Among them, Bus Number occupies 8 bits, Device Number occupies 5 bits, and Function Number occupies 3 bits. This means that the PCIe bus supports up to 256 sub-buses, each sub-bus supports up to 32 PCIe devices, and each PCIe device supports up to 8 functions. In actual applications, a single PCIe device can have only one function (Function), that is, Fun0, or it can have up to 8 functions, that is, multi-function devices (Multi-Fun), and each function has a unique and independent configuration space corresponding to it. When the server starts, the operating system and firmware (such as BIOS or UEFI) will enumerate all PCIe devices, read their configuration space, and configure them according to the functions and needs of the devices. In this process, BDF serves as a unique identifier for the device and is used for device selection and configuration space addressing.

[0056] It should be noted that, in the second stage of the BIOS startup process, the identifier information of each external card detected is a fixed value, that is, it is in the default state. Therefore, if the BMC is notified to start monitoring at this time, the BMC will not obtain the correct BDF information. Therefore, the present application solution will notify the BMC to start monitoring only after the initialization of each external card is completed.

[0057] In the second stage of the BIOS startup process, it is necessary to set the pre-selected general purpose input and output pins to a first level state.

[0058] Specifically, GPIO (General Purpose Input / Output) is referred to as IO port, also known as bus expander. The GPIO packages in different architectures are different, and the number of pins and registers used will also be different. Each GPIO port has a set of pin connections, one of which is used as an output. By configuring the registers in the GPIO port, the pin of the GPIO port can output a specific level.

[0059] In addition, it should be noted that because each generation of servers has great differences in CPU and hardware motherboard design, when pre-selecting a GPIO pin as the GPIO pin required for the present application, it should be selected from the GPIO pins that are currently available on the server and are in a reserved state, so as not to affect other existing functions. That is, if a GPIO pin has been used for a certain function, the GPIO pin should no longer be selected as the GPIO pin pre-selected for the present application. In a specific scenario, taking the Birch Stream platform as an example, the GPIO13 pin can be selected as the GPIO pin pre-selected for the present application.

[0060] The present application solution can determine the register address of the pre-selected GPIO pin, and then set the GPIO pin to the first level state accordingly. That is, in a specific embodiment of the present invention, setting the pre-selected general input and output pin to the first level state described in step S101 can specifically include:

[0061] Step 1: Determine the register address of the pre-selected general purpose input and output pin;

[0062] Step 2: Based on the register address of the general input / output pin, the general input / output pin is set to a first level state.

[0063] In this implementation, the register address of the pre-selected GPIO pin is first determined, and then based on the register address of the GPIO pin, the GPIO pin is initialized, so as to set it to the first level state. Such an implementation has high versatility. In addition, the first level state and the second level state described later can be set according to actual needs. For example, the first level state can be a high level state, that is, in the second stage (PEI stage) of the BIOS startup process, the pre-selected GPIO pin is set to a high level state, and accordingly, the second level state is a low level state.

[0064] There are many ways to determine the register address of the pre-selected general purpose input / output pin. For example, in a specific implementation of the present invention, the above step 1 may specifically include:

[0065] Add the pre-selected GPIO pins to the GPIO table of the basic input and output system;

[0066] The register address of the pre-selected general input / output pin is determined based on the register addresses of other general input / output pins adjacent to the pre-selected general input / output pin number in the general input / output table.

[0067] This implementation takes into account that after a GPIO pin is selected, the selected GPIO pin can be added to a general purpose input and output table of the BIOS, that is, added to the GPIO table of the BIOS, and its corresponding value can be set to a high level.

[0068] For the address of the selected GPIO pin, it is necessary to infer the address of the selected GPIO pin based on the register addresses of other GPIO pins adjacent to the selected GPIO pin number in the GPIO table. For example, if the selected GPIO pin number is GPIO13, after the selected GPIO pin is added to the GPIO table of the BIOS, the GPIO table only has the selected GPIO pin number, but not the register address of the GPIO pin. However, in the GPIO table, some register addresses of GPIO pins are preset based on the platform hardware and software interface documents. For example, in a specific scenario, the GPIOs adjacent to GPIO13 in the GPIOtable are GPIO16 and GPIO12, and the GPIO table has the register address of GPIO12 and the register address of GPIO16. Then, the register address of GPIO13 can be inferred based on the register address of GPIO12 and the register address of GPIO16. Because there is an association between the GPIO pin number and the register address, the corresponding register address is usually configured for the GPIO pin based on the order of the GPIO pin number.

[0069] Step S102: in the third stage of the basic input and output system startup process, each external card is initialized, and during the initialization process, the identifier information of each detected external card is configured.

[0070] The third stage of the BIOS startup process is the DXE stage, during which the initialization process of each external card is completed. During the initialization process, the BIOS can configure the identifier information of each external card detected, that is, complete the allocation of the BDF number of each PCIe device. After the initialization of each external card is completed, the BMC can obtain the correct identifier information of each external card.

[0071] Step S103: In the third stage of the basic input / output system startup process, after completing the initialization of each external card, the general input / output pin is set to the second level state, so that when the baseboard management controller detects that the general input / output pin is switched from the first level state to the second level state, it obtains the identifier information of each external card, and starts monitoring for each external card based on the obtained identifier information of each external card.

[0072] Also in the third stage of the BIOS startup process, in the present application scheme, after the initialization of each external card is completed, the general input and output pins need to be set to the second level state, thereby notifying the BMC to start monitoring each external card.

[0073] In order to set the pre-selected GPIO pin to the second level state, an event can usually be created for this purpose, and then by executing the event, the GPIO pin is set to the second level state, and as described above, the second level state can be set to a low level state, for example.

[0074] In a specific implementation of the present invention, after completing the initialization of each external card, the step S103 described in which the general input and output pins are set to the second level state may specifically include:

[0075] After initialization of each external card is completed, the target function is called through a pre-created event, so as to set the general input and output pin to the second level state through the target function.

[0076] This implementation method is a more convenient way of implementation. After completing the initialization of each external card, the target function can be called through a pre-created event. For example, in a specific scenario, the pre-created event is placed after the initialization process of each external card. When the event is executed, the pcdset function is specifically called to pull down the pre-selected GPIO pin to the second level state.

[0077] It should also be noted that in actual applications, the staff can check the completion position of the initialization function of the PCIe device in the DXE stage, and thus place the pre-created events in the appropriate position, that is, after the initialization process of each external card.

[0078] For example, in a specific scenario, the staff checks the initialization function of the PCIe device and determines that when the parent guid mounted by the initialization function of the PCIe device is completed, it means that all PCIe devices have completed initialization, and the pre-created event can be executed after the parent guid.

[0079] In addition, it should be emphasized that the present application requires that after the initialization of each external card is completed, the pre-selected GPIO pin is set to the second level state. In actual applications, the pre-selected GPIO pin can be set to the second level state immediately after the initialization of each external card is completed. For example, in the above example, the pre-created event is executed after the parent guid, or other matters can be executed first after the initialization of each external card is completed, but the pre-selected GPIO pin is still set to the second level state in the third stage of the BIOS startup process. That is, in the above example, the pre-created event can be chosen to be executed immediately after the parent guid, or other matters can be executed first after the parent guid, and then the pre-created event is executed. It can be set according to actual needs, thereby ensuring the flexibility of the present application. In actual applications, in order to ensure that the BMC can be notified in time to start monitoring the PCIe device, if there are no other special requirements, it is usually chosen to set the pre-selected GPIO pin to the second level state immediately after the initialization of each external card is completed. If there are other special requirements after the initialization of each external card is completed, other matters can be executed first, and then the pre-created event is executed to set the pre-selected GPIO pin to the second level state.

[0080] The BMC can detect the level state of a pre-selected GPIO pin in real time or periodically. If it is detected that the level state of the GPIO pin switches from a first level state to a second level state, it means that the initialization of each external card has been completed. At this time, the BMC can correctly obtain the identifier information of each external card, and then can start monitoring for each external card based on the obtained identifier information of each external card.

[0081] In a specific embodiment of the present invention, it may also include:

[0082] After the basic input / output system is started, a first command is sent to the baseboard management controller, so that the baseboard management controller obtains the identifier information of each external card when it does not detect that the general input / output pin switches from the first level state to the second level state and receives the first command, and starts monitoring for each external card based on the obtained identifier information of each external card.

[0083] This implementation method takes into account that although the monitoring can be started by notifying the BMC based on the hardware level change, it is less affected by external factors and has higher reliability, but abnormalities may still occur in a few occasions. In order to ensure reliability, this implementation method will also send the first command to the BMC after the BIOS startup is completed, for example, specifically sending an IPMI command to the BMC.

[0084] Under normal circumstances, the BMC can detect that the pre-selected GPIO pin switches from the first level state to the second level state, and the first command can be directly ignored. However, if the BMC does not detect that the pre-selected GPIO pin switches from the first level state to the second level state, but receives the first command, the BMC can obtain the identifier information of each external card according to the instruction of the first command, and start monitoring for each external card based on the obtained identifier information of each external card, that is, the BMC is notified by the BIOS through the first command, and thus starts monitoring for each external card.

[0085] It can be seen that this implementation method achieves double protection in the notification method through the setting of the first command.

[0086] In a specific embodiment of the present invention, it may also include:

[0087] The baseboard management controller records the abnormal event after not detecting that the general input / output pin switches from the first level state to the second level state and receiving the first command.

[0088] This implementation takes into account that since the BMC can start monitoring based on the hardware level change notification, the reliability is very high. If the BMC does not detect that the pre-selected GPIO pin switches from the first level state to the second level state, but receives the first command, it means that a low-probability event has occurred. At this time, the BMC will record the abnormal event to remind the staff to conduct subsequent troubleshooting and processing of the problem in a timely manner. For example, through troubleshooting, it is found that the situation is indeed caused by the failure of the GPIO pin.

[0089] When the BMC starts monitoring each external card, it can usually achieve monitoring through MCTP (Management Component Transport Protocol). MCTP is a management and control transport protocol used for communication and control between devices. It defines a set of communication specifications that allow devices to perform effective management and control operations, including device discovery, configuration, monitoring, and troubleshooting. The MCTP protocol defines a transmission format for communication on various buses, such as PCIe, USB, and SMBus. The MCTP protocol supports point-to-point and broadcast communications and can be used in a variety of management scenarios, including the BMC management scenario of the present application.

[0090] In a specific implementation of the present invention, starting monitoring for each external card based on the acquired identifier information of each external card may include:

[0091] Based on the acquired identifier information of each external card, monitoring the connection status of each external card;

[0092] Determine whether there is an abnormal connection state of at least one external card within the first time period;

[0093] If within the first time period, the connection state of at least one external card is abnormal, it is determined that all external cards with abnormal connection states are in a fault state, and a first alarm message is output to a preset web page;

[0094] If the connection status of each external card is normal within the first time period, it is determined that each external card is not currently faulty, and information indicating that each external card is currently connected normally is output to the web page;

[0095] After the first time period, determining whether there is an abnormal connection state of at least one external card;

[0096] If after the first time period, at least one external card has an abnormal connection state, it is determined that each external card with an abnormal connection state is in a suspected fault state, and a second alarm message is output to the web page;

[0097] Among them, the warning level of the first warning information is higher than the warning level of the second warning information.

[0098] In this implementation, the BMC can monitor the connection status of each external card based on the identifier information of each external card obtained. If within the first time period, there is an abnormal connection status of at least one external card, it means that the connection status of the external card is abnormal within a short period of time after the BIOS is started or even before the BIOS is started. Such a situation is usually caused by a failure of the external card after it starts working, and requires timely processing by the staff. Therefore, the BMC will directly determine that each external card with an abnormal connection status is in a fault state, and output the first alarm information to the preset web page. The alarm level of the first alarm information is higher than the alarm level of the second alarm information, that is, the first alarm information is an alarm information with a higher priority.

[0099] If the connection status of each external card is normal within the first time period, the BMC can determine that each external card is not currently faulty, and output information indicating that each external card is currently connected normally to the web page, and then continue to monitor the connection status of each external card.

[0100] If at some point after the first period of time, it is determined that the connection status of one or more external cards is abnormal, since the situation at this time is that the abnormal connection status is detected after each external card has been operating normally for a period of time, the abnormal connection status may be caused by a failure of the external card, or it may be caused by other reasons, such as when the operation and maintenance personnel accidentally touched a PCIe device or related cables when maintaining the server, resulting in poor contact, causing the BMC to detect that the connection status of the PCIe device is abnormal. In this regard, if the BMC monitors that there is an abnormal connection status of at least one external card after the first period of time, it is determined that each external card with an abnormal connection status is in a suspected fault state. Since it is a suspected fault state, a second alarm message with a lower priority can be output to the web page.

[0101] In actual applications, in addition to monitoring the connection status of each PCIe device, BMC can also monitor parameters such as temperature, upstream / downstream data transmission bandwidth, and can display them in real time on a designated web page to facilitate staff to promptly learn the operating status of each PCIe device.

[0102] The technical solution provided by the embodiment of the present invention does not notify the BMC through IPMI that monitoring can be started, but rather notifies the BMC that monitoring can be started based on the level state change of a pre-selected general input and output pin. This solution of realizing notification based on hardware level change is more direct than software, is less affected by external factors, and has higher reliability.

[0103] Furthermore, the present application further considers that in the traditional solution, after the BIOS startup is completed, the IPMI command is used to notify the BMC that monitoring can be started. In actual applications, the applicant has found that even if the IPMI command is successfully sent, there will still be a situation where the PCIe device fails but is not monitored and reported in time. This is because when the BMC starts monitoring the PCIe device, it needs to obtain the identifier information of each PCIe device, that is, the BDF information. The BDF information of each PCIe device is fixed in the second stage (PEI stage) of the BIOS startup process, and needs to be reallocated when initializing each external card in the third stage (DXE stage) of the BIOS startup process. Therefore, in the traditional solution, the BIOS will notify the BMC that monitoring can be started after the startup is completed, and the BMC can obtain the correct BDF information of each PCIe device. However, if a PCIe device does not fail during initialization, but fails after initialization before the BMC starts monitoring the PCIe device, at this time, because the faulty PCIe device fails to respond to the BMC when the BMC starts monitoring, the BMC will think that the PCIe device is not inserted into the slot, and the PCIe device fails but is not monitored and reported in time.

[0104] In this regard, in the solution of the present application, in the second stage of the BIOS startup process, the identifier information of each external card detected is set to the default state, and the pre-selected general input and output pin is set to the first level state. Subsequently, in the third stage of the BIOS startup process, each external card will be initialized, and during the initialization process, the identifier information of each external card detected will be configured. After the initialization of each external card is completed, the general input and output pin will be set to the second level state without waiting for the BIOS startup to be completed, so as to notify the BMC that monitoring can be started. In other words, in the solution of the present application, the BMC will not be notified to start monitoring too early (the identifier information of each external card detected has not yet been configured) to cause the BMC to obtain incorrect identifier information, nor will the BMC be notified to start monitoring too late (the BIOS has been started) to avoid the situation where the PCIe device fails but is not monitored and reported in time.

[0105] In summary, the present application solution can start monitoring based on hardware level change notification to BMC, which is less affected by external factors, has higher reliability, and can avoid the situation where PCIe device failure occurs but is not monitored and reported in time. Therefore, the present application solution effectively improves the reliability of monitoring of server plug-in cards.

[0106] Corresponding to the above method embodiment, an embodiment of the present invention further provides a monitoring system for a server external card, which can be referred to in correspondence with the above.

[0107] See also Figure 2 FIG. 1 is a schematic diagram of a monitoring system for a server plug-in card in the present invention, comprising:

[0108] The GPIO pin initial level setting module 201 is used to set the detected identifier information of each external card to a default state and set the pre-selected GPIO pin to a first level state in the second stage of the basic input and output system startup process;

[0109] The identifier information configuration module 202 is used to initialize each external card in the third stage of the basic input and output system startup process, and configure the identifier information of each external card detected during the initialization process;

[0110] The general input / output pin level adjustment module 203 is used to set the general input / output pin to the second level state after the initialization of each external card is completed in the third stage of the basic input / output system startup process, so that when the baseboard management controller detects that the general input / output pin is switched from the first level state to the second level state, it obtains the identifier information of each external card and starts monitoring for each external card based on the obtained identifier information of each external card.

[0111] In a specific implementation of the present invention, the general input / output pin initial level setting module 201 includes:

[0112] The identifier information default setting unit is used to set the identifier information of each external card detected to a default state in the second stage of the basic input and output system startup process;

[0113] A register address confirmation unit, used to determine the register address of a pre-selected general purpose input and output pin;

[0114] The general input / output pin initial level setting unit is used to set the general input / output pin to a first level state based on the register address of the general input / output pin.

[0115] In a specific implementation of the present invention, the register address confirmation unit is specifically used to:

[0116] Add the pre-selected GPIO pins to the GPIO table of the basic input and output system;

[0117] The register address of the pre-selected general input / output pin is determined based on the register addresses of other general input / output pins adjacent to the pre-selected general input / output pin number in the general input / output table.

[0118] In a specific implementation of the present invention, after completing the initialization of each external card, the general input / output pin level adjustment module 203 sets the general input / output pin to the second level state, specifically for:

[0119] After initialization of each external card is completed, the target function is called through a pre-created event, so as to set the general input and output pin to the second level state through the target function.

[0120] In a specific implementation of the present invention, a first command notification module is further included, which is used to:

[0121] After the basic input / output system is started, a first command is sent to the baseboard management controller, so that the baseboard management controller obtains the identifier information of each external card when it does not detect that the general input / output pin switches from the first level state to the second level state and receives the first command, and starts monitoring for each external card based on the obtained identifier information of each external card.

[0122] In a specific embodiment of the present invention, an abnormal event recording module is also included, which is used to:

[0123] The baseboard management controller records the abnormal event after not detecting that the general input / output pin switches from the first level state to the second level state and receiving the first command.

[0124] In a specific implementation of the present invention, the BMC starts monitoring each external card based on the acquired identifier information of each external card, including:

[0125] Based on the acquired identifier information of each external card, monitoring the connection status of each external card;

[0126] Determine whether there is an abnormal connection state of at least one external card within the first time period;

[0127] If within the first time period, the connection state of at least one external card is abnormal, it is determined that all external cards with abnormal connection states are in a fault state, and a first alarm message is output to a preset web page;

[0128] If the connection status of each external card is normal within the first time period, it is determined that each external card is not currently faulty, and information indicating that each external card is currently connected normally is output to the web page;

[0129] After the first time period, determining whether there is an abnormal connection state of at least one external card;

[0130] If after the first time period, at least one external card has an abnormal connection state, it is determined that each external card with an abnormal connection state is in a suspected fault state, and a second alarm message is output to the web page;

[0131] Among them, the warning level of the first warning information is higher than the warning level of the second warning information.

[0132] Corresponding to the above method and system embodiments, an embodiment of the present invention further provides a monitoring device for a server external card, a computer-readable storage medium, and a computer program product, which can be referred to in correspondence with the above.

[0133] See also Figure 3 As shown, the device may include:

[0134] Memory 301, used for storing computer programs;

[0135] The processor 302 is used to execute a computer program to implement the steps of the method for monitoring the server external card in any of the above embodiments.

[0136] The computer program product includes a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the monitoring method of the server external card in any of the above embodiments are implemented.

[0137] See also Figure 4 The computer readable storage medium 40 stores a computer program 41, and when the computer program 41 is executed by the processor, the steps of the monitoring method of the server external card in any of the above embodiments are implemented. The computer readable storage medium 40 mentioned here includes RAM (Random Access Memory), memory, ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), register, hard disk, removable disk, or any other form of storage medium known in the technical field.

[0138] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0139] Professionals may further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to the function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention, and the description of the above embodiments is only used to help understand the technical solution and its core idea of ​​the present invention. It should be pointed out that for ordinary technicians in the technical field, without departing from the principle of the present invention, the present invention can also be improved and modified in a number of ways, and these improvements and modifications also fall within the scope of protection of the present invention.

Claims

1. A monitoring method for a server external card, characterized in that: include: In the second stage of the basic input and output system startup process, the identifier information of each detected external card is set to a default state, and the pre-selected general input and output pin is set to a first level state; In the third stage of the basic input and output system startup process, each of the external cards is initialized, and during the initialization process, the identifier information of each of the external cards detected is configured; In the third stage of the basic input / output system startup process, after the initialization of each of the external cards is completed, the general input / output pin is set to the second level state, so that when the baseboard management controller detects that the general input / output pin is switched from the first level state to the second level state, it obtains the identifier information of each of the external cards, and starts monitoring for each of the external cards based on the obtained identifier information of each of the external cards.

2. The monitoring method of the server external card according to claim 1, characterized in that: Setting the pre-selected general purpose input / output pin to the first level state includes: Determine the register address of the pre-selected general purpose input / output pin; The general purpose input output pin is set to a first level state based on a register address of the general purpose input output pin.

3. The monitoring method of the server external card according to claim 2, characterized in that: Determine the register address of the pre-selected GPIO pin, including: Adding the pre-selected general purpose input / output pins into the general purpose input / output table of the basic input / output system; The register address of the pre-selected general input output pin is determined based on the register addresses of other general input output pins adjacent to the pre-selected general input output pin number in the general input output table.

4. The monitoring method of the server external card according to claim 1, characterized in that: After completing the initialization of each of the external cards, setting the general input and output pins to the second level state includes: After the initialization of each of the external cards is completed, the target function is called through a pre-created event, so as to set the general input and output pin to the second level state through the target function.

5. The monitoring method of the server external card according to claim 1, characterized in that: Also includes: After the basic input / output system is started, a first command is sent to the baseboard management controller, so that when the baseboard management controller does not detect that the general input / output pin switches from the first level state to the second level state and receives the first command, it obtains the identifier information of each of the external cards and starts monitoring for each of the external cards based on the obtained identifier information of each of the external cards.

6. The monitoring method of the server external card according to claim 5, characterized in that: Also includes: The baseboard management controller records an abnormal event after not detecting that the general input / output pin switches from the first level state to the second level state and receiving the first command.

7. The method for monitoring a server external card according to any one of claims 1 to 6, characterized in that: Starting monitoring for each of the external cards based on the acquired identifier information of each of the external cards includes: Based on the acquired identifier information of each of the external cards, monitoring the connection status of each of the external cards; Determining whether there is an abnormal connection state of at least one of the external cards within the first time period; If within the first time period, at least one of the external cards has an abnormal connection state, it is determined that all of the external cards with abnormal connection states are in a fault state, and a first alarm message is output to a preset web page; If the connection status of each of the external cards is normal within the first time period, it is determined that each of the external cards is not currently faulty, and information indicating that each of the external cards is currently connected normally is output to the web page; After the first time period, determining whether there is an abnormal connection state of at least one of the external cards; If after the first period of time, at least one of the external cards has an abnormal connection state, it is determined that all of the external cards with abnormal connection states are in a suspected fault state, and a second alarm message is output to the web page; The warning level of the first warning information is higher than the warning level of the second warning information.

8. A monitoring system for a server plug-in card, characterized in that: include: The general input / output pin initial level setting module is used to set the detected identifier information of each external card to a default state and set the pre-selected general input / output pin to a first level state in the second stage of the basic input / output system startup process; An identifier information configuration module, used to initialize each of the external cards in the third stage of the basic input and output system startup process, and configure the identifier information of each of the external cards detected during the initialization process; The general input / output pin level adjustment module is used to set the general input / output pin to a second level state after initialization of each of the external cards is completed in the third stage of the basic input / output system startup process, so that when the baseboard management controller detects that the general input / output pin is switched from the first level state to the second level state, it obtains the identifier information of each of the external cards and starts monitoring for each of the external cards based on the obtained identifier information of each of the external cards.

9. A monitoring device for a server plug-in card, characterized in that: include: Memory for storing computer programs; A processor is used to execute the computer program to implement the steps of the monitoring method of the server external card as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for monitoring a server external card according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Hot plug identification method and device for PCIe equipment and medium

    CN109614286A

  • External plug-in card monitoring system, method and equipment and storage medium

    CN115454767A

  • Monitoring management method, system and device, and computer readable storage medium

    CN115543739A

  • Communication state detection method, system and device, medium and lightweight communication equipment

    CN116684324A