Fault diagnosis driver loading method and apparatus, electronic device, and storage medium

By setting up a shared area and the substrate management controller in the server, the out-of-band fault diagnosis driver loading is realized, which solves the problem of low loading efficiency of fault diagnosis drivers in the existing technology, and improves the loading efficiency of fault diagnosis drivers and system stability.

WO2025179881A1PCT designated stage Publication Date: 2025-09-04INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/122665
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-28
Filing Date
2024-09-30
Publication Date
2025-09-04

AI Technical Summary

Technical Problem

The prior art is inefficient in server fault diagnosis driver loading, especially when the network is paralyzed, resulting in poor service continuity.

Method used

By setting up a shared area in the computing device, adding firmware volume files to the shared area, using the coordinated work of the substrate management controller and the operating system to realize out-of-band troubleshooting driver loading, including generating standard format driver files, cyclic redundancy verification, power management and configuration interface commands, triggering system management interrupts, loading fault diagnosis drivers, and transmitting load status information through the intelligent platform management interface.

Benefits of technology

It realizes efficient loading of fault diagnosis drivers without restarting the basic input and output system, improves the loading efficiency of fault diagnosis drivers, ensures system stability and business continuity, and simplifies batch upgrade management of multiple devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024122665_04092025_PF_FP_ABST
    Figure CN2024122665_04092025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of fault diagnosis driver loading. Provided in the embodiments are a fault diagnosis driver loading method and apparatus, an electronic device, and a storage medium. The method comprises: by means of a user end device, adding to a shared area a firmware volume file for a basic input / output system and, when a computing device is powered on and the firmware volume file is detected, executing a system control interrupt and acquiring the firmware volume file from the shared area; and executing power management and configuration interface commands to trigger a system management interrupt for the basic input / output system, and loading a fault diagnosis driver on the basis of the firmware volume file. The present application loads and updates out-of-band fault diagnosis drivers for basic input / output systems, and can execute the updating without restarting the basic input / output systems, thereby improving the efficiency of loading the fault diagnosis drivers for the basic input / output systems.
Need to check novelty before this filing date? Find Prior Art

Description

Fault diagnosis driver loading method, device, electronic device and storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on February 28, 2024, with application number 202410224123.7 and application name “Fault diagnosis drive loading method, device, electronic device and storage medium”, all contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the technical field of fault diagnosis driver loading, and in particular to a fault diagnosis driver loading method, device, electronic device and storage medium. Background Art

[0004] In today's internet age, server reliability and stability are crucial to the normal operation of businesses and organizations. However, server failures and downtimes occur frequently due to hardware failures, software errors, or other unforeseen factors. These failures and downtimes not only result in data loss and business interruption, but can also pose significant financial losses and reputational risks to businesses. Therefore, quickly locating and remediating these failures is crucial, often requiring rapid updates to fault diagnosis drivers to improve fault location capabilities.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a fault diagnosis driver loading method, device, electronic device and computer-readable storage medium.

[0007] The present application discloses a fault diagnosis driver loading method, which is applied to a computing device equipped with a basic input and output system, wherein the computing device is equipped with a baseboard management controller, the baseboard management controller is provided with a shared area, and the shared area is configured to be mapped to the system memory of the basic input and output system, and the computing device has a corresponding user terminal device;

[0008] The client device is configured to add a firmware volume file for a basic input / output system to a shared area, the method comprising:

[0009] In response to determining that the computing device is powered on and the firmware volume file is detected, executing a system control interrupt and obtaining the firmware volume file from the shared area; and

[0010] Execute power management and configuration interface commands to trigger a system management interrupt for the basic input and output system and load a fault diagnosis driver based on the firmware volume file.

[0011] In some embodiments, the user terminal device is configured to:

[0012] Generate a standard format driver file containing a firmware volume file; and

[0013] Send the standard format driver file to the baseboard management controller.

[0014] In some embodiments, the standard format driver file is provided with a unique checksum value, and the baseboard management controller is configured as follows:

[0015] Performing a cyclic redundancy check on the standard format driver file using a unique checksum value; and

[0016] In response to a cyclic redundancy check being performed on the standard format driver file and the result being passed, the firmware volume file is stored in the shared area.

[0017] In some embodiments, the computing device is configured with a central processing unit, and the baseboard management controller is provided with a high-level signal pin for the central processing unit; the baseboard management controller is configured as follows:

[0018] After storing the firmware volume file in the shared area, generating a high-level signal for the firmware volume file; and

[0019] A high-level signal is sent to the central processing unit based on the high-level signal pin; the high-level signal is used to enable the operating system of the computing device to detect the firmware volume file.

[0020] In some embodiments, the computing device is configured with an advanced configuration and power management interface for an operating system, and the step of executing a system control interrupt includes:

[0021] Generates power management and configuration interface commands for the Advanced Configuration and Power Management Interfaces;

[0022] Calling the advanced configuration and power management interface through the power management and configuration interface command to send an interrupt request for the basic input and output system to the basic input and output system;

[0023] The basic input / output system determines, in response to the interrupt request, a system control interrupt vector for the general purpose event based on the general purpose event table; and

[0024] The system control interrupt is executed based on the system control interrupt vector.

[0025] In some embodiments, the computing device is provided with a system management mode buffer and a timer, and the step of loading a fault diagnosis driver based on the firmware volume file includes:

[0026] Dumping the firmware volume file to the system management mode buffer; and

[0027] Calling the basic input and output system resident function to read the firmware volume file from the system management mode buffer to load the fault diagnosis driver;

[0028] In response to determining to start loading the fault diagnosis driver, using a timer to determine a first target time;

[0029] In response to determining that loading of the fault diagnosis driver is complete, determining a second target time using a timer, and generating loading status information for the fault diagnosis driver;

[0030] determining update duration information for the fault diagnosis drive based on the first target time and the second target time; and

[0031] Send the loading status information and update duration information to the user end device.

[0032] In some embodiments, the step of sending the loading status information and the update duration information to the user terminal device includes:

[0033] Generate intelligent platform management interface commands for loading status information and update duration information; and

[0034] The loading status information and the update duration information are sent to the baseboard management controller based on the intelligent platform management interface command; the baseboard management controller is configured to forward the loading status information and the update duration information to the user terminal device.

[0035] In some embodiments, the baseboard management controller is configured to:

[0036] Generates logs for loading status information and update duration information.

[0037] In some embodiments, the user terminal device is configured to:

[0038] In response to determining that the loading status information indicates that the loading is successful, and determining that the update duration expressed by the update duration information is less than or equal to a preset threshold, first update result information is generated.

[0039] In some embodiments, the user terminal device is configured to:

[0040] In response to determining that the loading status information indicates loading failure, or determining that the update duration expressed by the update duration information is greater than a preset threshold, second update result information is generated.

[0041] In some embodiments, the user terminal device is configured to:

[0042] generating a device identification for the computing device; and

[0043] A fault diagnosis driver loading report is generated using the device identification, the first update result information, and the second update result information.

[0044] In some embodiments, the baseboard management controller is configured to: in response to a cyclic redundancy check failure performed on the standard format driver file, generate verification error information for the standard format driver file, and send the verification error information to the user terminal device.

[0045] In some embodiments, the user terminal device is configured to send a standard format driver file to the baseboard management controller based on a file transfer protocol.

[0046] In some embodiments, the baseboard management controller is configured to send the verification error information to the user terminal device based on a file transfer protocol.

[0047] In some embodiments, the baseboard management controller is configured to determine an unused target static random access memory; determine the target static random access memory as a shared area, and the method further includes:

[0048] Determining device resource allocation information for the shared area; the device resource allocation information is used to enable the basic input and output system to determine the shared area; and

[0049] Get the base address for the shared area and the area offset for the firmware volume file; and

[0050] The steps to obtain the firmware volume file from the shared area include:

[0051] Get the firmware volume file from the shared area based on the base address and area offset.

[0052] The present application also discloses a method for loading a fault diagnosis driver, which is applied to a user-end device. The user-end device is configured with a corresponding computing device, the computing device is equipped with a basic input / output system, the computing device is configured with a baseboard management controller, and the baseboard management controller is provided with a shared area. The shared area is configured to be mapped to the system memory of the basic input / output system. The method includes:

[0053] A firmware volume file for a basic input / output system is added to a shared area; the computing device is configured to, in response to determining that the computing device is powered on and the firmware volume file is detected, execute a system control interrupt and obtain the firmware volume file from the shared area; execute a power management and configuration interface command to trigger a system management interrupt for the basic input / output system, and load a fault diagnosis driver based on the firmware volume file.

[0054] The present application also discloses a fault diagnosis driver loading device, which is applied to a computing device equipped with a basic input and output system, wherein the computing device is equipped with a baseboard management controller, the baseboard management controller is provided with a shared area, and the shared area is configured to be mapped to the system memory of the basic input and output system, and the computing device has a corresponding user terminal device;

[0055] The user terminal device is configured to add a firmware volume file for a basic input and output system to a shared area, the device comprising:

[0056] a firmware volume file acquisition module for executing a system control interrupt and acquiring the firmware volume file from the shared area in response to determining that the computing device is powered on and the firmware volume file is detected; and

[0057] The fault diagnosis driver loading module is used to execute power management and configuration interface commands to trigger a system management interrupt for the basic input and output system and load the fault diagnosis driver based on the firmware volume file.

[0058] The present application also discloses a fault diagnosis driver loading device, which is applied to a user-end device. The user-end device is configured with a corresponding computing device, which is equipped with a basic input / output system (BIOS), and which is configured with a baseboard management controller (BMC). The BMC is provided with a shared area, which is configured to be mapped to the system memory of the BIOS. The device includes:

[0059] A firmware volume file adding module is used to add the firmware volume file for the basic input and output system to the shared area; the computing device is configured to execute a system control interrupt in response to determining that the computing device is powered on and the firmware volume file is detected, and obtain the firmware volume file from the shared area; execute power management and configuration interface commands to trigger a system management interrupt for the basic input and output system, and load a fault diagnosis driver based on the firmware volume file.

[0060] The embodiment of the present application further discloses an electronic device, comprising one or more processors, a communication interface, a memory, and a communication bus, wherein the one or more processors, the communication interface, and the memory communicate with each other via the communication bus;

[0061] The memory is used to store computer-readable instructions, which implement the method of the embodiment of the present application when read and executed by one or more processors.

[0062] The embodiments of the present application also disclose a non-transitory computer-readable storage medium, which stores computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the method of the embodiments of the present application is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] FIG1 is a flowchart of a method for loading a fault diagnosis driver according to an embodiment of the present invention;

[0064] FIG2 is a schematic structural diagram of a fault diagnosis drive loading system provided in an embodiment of the present application;

[0065] FIG3 is a schematic diagram of data interaction between a central processing unit and a baseboard management controller provided in an embodiment of the present application;

[0066] FIG4 is a flowchart of another method for loading a fault diagnosis driver provided in an embodiment of the present application;

[0067] FIG5 is a structural block diagram of a fault diagnosis drive loading device provided in an embodiment of the present application;

[0068] FIG6 is a structural block diagram of another fault diagnosis drive loading device provided in an embodiment of the present application;

[0069] FIG7 is a hardware structure block diagram of an electronic device provided in an embodiment of the present application;

[0070] FIG8 is a schematic diagram of a computer-readable medium provided in an embodiment of the present application;

[0071] FIG9 is a schematic structural diagram of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0072] In order to make the above-mentioned objectives, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and implementation methods.

[0073] In practice, out-of-band updates are performed before the operating system boots or while the operating system is running, using interfaces provided by hardware or firmware. In-band updates are performed using the operating system's own update tools. In-band updates rely on broadband and are unavailable when the network is down. Furthermore, related technologies store firmware volume files in firmware memory, requiring users to import these files to load the fault diagnosis driver for the BIOS. This requires restarting the BIOS to complete the update, resulting in poor business continuity and reduced efficiency in loading the fault diagnosis driver for the BIOS.

[0074] 1 , a flowchart of a method for loading a fault diagnosis driver according to an embodiment of the present invention is shown, which may include the following steps:

[0075] Step 101 , in response to determining that the computing device is powered on and a firmware volume file is detected, executing a system control interrupt and obtaining the firmware volume file from a shared area;

[0076] Step 102 : Execute the power management and configuration interface command to trigger a system management interrupt for the basic input and output system, and load a fault diagnosis driver based on the firmware volume file.

[0077] In practical applications, the embodiments of the present application can be applied to computing devices such as servers, i.e., hosts. Please refer to FIG9 , which is a schematic diagram of the structure of a computing device provided by an embodiment of the present application. The computing device is configured with a BIOS (Basic Input and Output System) and a baseboard management controller (BMC).

[0078] BIOS is a set of programs that are fixed on a ROM integrated circuit on the computer's motherboard. It stores the computer's most important power-on self-test, hardware initialization programs, and system-level service programs.

[0079] A BMC is a specialized service processor that uses sensors to monitor the status of a computer, network server, or other hardware device and communicates with the system administrator through independent connections. The BMC is part of the Intelligent Platform Management Interface (IPMI) and is typically contained within the motherboard or main circuit board of the device being monitored.

[0080] In implementation, an embodiment of the present application can set a shared area for the baseboard management controller. For example, an area in the memory that is not used by the baseboard management controller can be marked out to set as a shared area. The shared area can be configured to be mapped to the system memory BIOS Memory of the basic input and output system, thereby enabling the basic input and output system BIOS and the baseboard management controller BMC to directly read and write to the shared area, avoiding additional data transmission and delays.

[0081] In implementation, the computing device has a corresponding user terminal device. In actual applications, the user terminal device may be a device controlled by an operation and maintenance personnel. In some embodiments, the user terminal device may be connected to multiple computing devices and exchange data with multiple computing devices.

[0082] In implementation, the present application implements the method of adding a firmware volume file for updating a fault diagnosis driver of a basic input / output system BIOS, ie, an FV (Firmware Volume) file, to a shared area through a user-end device.

[0083] The GPE_Lxx SCI (General Purpose Event Low Pin Count System Control Interrupt) is a system control interrupt used to handle specific system events. In computer systems, the GPE_Lxx SCI is defined by the ACPI (Advanced Configuration and Power Interface) specification. ACPI is a power management and configuration interface standard used for communication between the operating system and computer hardware. The ACPI specification defines a set of system events, such as power button presses, sleep button presses, and excessive temperature, that can trigger specific handlers.

[0084] To make it easier for hardware and software designers to design interrupt routines that meet their needs, many CPUs provide an SMI (System Management Interrupt). To use it, the CPU enters System Management Mode (SMM), which requires a memory area called SMRAM. Before entering SMM, the CPU stores register values ​​in SMRAM and then jumps to the SMI ENTRY POINT for execution. After processing the interrupt, the CPU uses the RSM instruction to jump back to the original location and restore CPU register values.

[0085] An operating system (OS) is a built-in program that coordinates a computer's hardware and interacts with the user. Common operating systems include Windows, macOS, and the open-source Linux.

[0086] Exemplarily, the POST process is the process after the computing device is powered on. During the POST process, the service initialization module in the computing device can initialize the necessary BIOS runtime service memory (EfiRuntime Services Data) and the service EfiRuntimeServices that provides the update fault diagnosis driver, that is, the BIOS resident function.

[0087] In response to determining that the computing device Host is powered on, it is determined whether a firmware volume file is detected in the shared area. In response to determining that the firmware volume file is detected in the shared area, a system control interrupt is triggered, that is, a GPE_Lxx SCI interrupt is triggered. The computing device Host can obtain the firmware volume file from the shared area, and then the operating system OS can execute a power management and configuration interface command, that is, an ACPI interface command, to trigger a system management interrupt SMI to call a basic input and output system resident function, that is, a BIOS resident function to complete the loading and updating of the fault diagnosis driver.

[0088] In an embodiment of the present application, a firmware volume file for a basic input / output system is added to a shared area through a user-end device. In response to determining that a computing device is powered on and the firmware volume file is detected, a system control interrupt is executed, and the firmware volume file is obtained from the shared area. Power management and configuration interface commands are executed to trigger a system management interrupt for the basic input / output system, and a fault diagnosis driver is loaded based on the firmware volume file, thereby realizing out-of-band fault diagnosis driver loading and updating for the basic input / output system, and completing the update without restarting the basic input / output system, thereby improving the efficiency of loading the fault diagnosis driver for the basic input / output system.

[0089] Based on the above embodiment, a modified embodiment of the above embodiment is proposed. It should be noted that, in order to simplify the description, only the differences from the above embodiment are described in the modified embodiment.

[0090] In some embodiments of the present application, the user terminal device is configured to: generate a standard format driver file including a firmware volume file; and send the standard format driver file to a baseboard management controller.

[0091] In implementation, the HPM file is a standardized protocol and file format that ensures that BIOS update files from different vendors and system integrators have a consistent format and structure.

[0092] The embodiment of the present application can use a user-end device to generate a standard format driver file containing a firmware volume file, namely an HPM file, and send the standard format driver file to the baseboard management controller. This can simplify the system management process and enable more efficient loading and execution of basic input and output system BIOS updates.

[0093] In some embodiments of the present application, the user terminal device is configured to send a standard format driver file to the baseboard management controller based on a file transfer protocol.

[0094] In practice, the File Transfer Protocol (FTP) is a standard protocol for transferring files over the Internet. It operates at Layer 7 of the OSI (Open System Interconnect) model and Layer 4 of the TCP model, the application layer. It uses TCP rather than UDP. Before establishing a connection with a server, a client undergoes a three-way handshake to ensure a reliable connection between the two. FTP is connection-oriented, providing reliable data transmission. FTP allows users to communicate with one host using file operations (such as adding, deleting, modifying, viewing, and transferring files). However, users do not actually log in to the computer they wish to access and become full users. They can use the FTP program to access remote resources, enabling them to transfer files, manage directories, and access email, even if the two computers have different operating systems and file storage methods.

[0095] In implementation, the embodiment of the present application can use the file transfer protocol, namely the FTP protocol, through an out-of-band management tool to transfer the standard format driver file HPM to the baseboard management controller BMC to ensure the data security of the standard format driver file HPM during the transmission process.

[0096] In some embodiments of the present application, the standard format driver file is provided with a unique check value, and the baseboard management controller is configured to: perform a cyclic redundancy check on the standard format driver file using the unique check value; in response to the cyclic redundancy check on the standard format driver file passing, store the firmware volume file in a shared area.

[0097] In actual applications, related technologies usually use an in-band operating system (OS) password to verify the firmware volume file. This method is not conducive to batch upgrading and managing the basic input and output system (BIOS) of multiple computing devices.

[0098] In implementation, the embodiment of the present application can generate a unique check value for encrypting and verifying the firmware volume file when a new firmware volume file is compiled through code and the firmware volume file is packaged to generate a standard format driver file HPM. For example, each byte in the firmware volume file can be involved in the calculation, and the SHA-256 (Secure Hash Algorithm 256) algorithm is used to generate a unique check value, which is stored in the header data position of the HPM file, so that the baseboard management controller BMC responds to the determination to read the data of the standard format driver file HPM and gives priority to reading the unique check value.

[0099] Of course, the above examples are only examples, and those skilled in the art may use other algorithms to generate unique check values, and the embodiments of the present application do not limit this.

[0100] Cyclic Redundancy Check (CRC), also known as cyclic code, is a commonly used checksum with both error detection and correction capabilities, widely used in early communications. CRC is often used for data verification in external storage devices and computer synchronous communications. While parity check and Hamming check codes both use even-even parity detection for error detection and correction (parity check codes lack error correction capabilities), CRC uses mathematical operations to establish a predetermined relationship between data bits and check bits.

[0101] In implementation, the baseboard management controller BMC of the embodiment of the present application can read the unique check value before decompressing the standard format driver file HPM, and perform a cyclic redundancy CRC check on the standard format driver file HPM through the unique check value to ensure the integrity and uniqueness of the firmware volume file, thereby ensuring data security. In response to determining that the standard format driver file HPM passes the cyclic redundancy CRC check, the standard format driver file HPM is decompressed to obtain the firmware volume file, and the firmware volume file is stored in a shared area.

[0102] In some embodiments of the present application, the baseboard management controller is configured to: in response to the failure of a cyclic redundancy check on a standard format driver file, generate a verification error message for the standard format driver file, and send the verification error message to the user-end device to inform the operation and maintenance personnel who control the user-end device that the firmware volume file is not authorized to participate in the fault diagnosis driver loading of the basic input and output system.

[0103] In an embodiment of the present application, a cyclic redundancy check is performed on a standard format driver file through a unique check value; in response to the cyclic redundancy check on the standard format driver file passing the check, the firmware volume file is stored in a shared area, thereby avoiding the use of an in-band OS password to verify the firmware volume file and improving the efficiency of batch upgrading and management of the basic input and output system BIOS of multiple computing devices.

[0104] To further enhance data security, in some embodiments of the present application, the baseboard management controller may further send verification error information to the user terminal device based on the file transfer protocol FTP.

[0105] In some embodiments of the present application, the computing device is configured with a central processing unit, and the baseboard management controller is provided with a high-level signal pin for the central processing unit; the baseboard management controller is configured to: generate a high-level signal for the firmware volume file after storing the firmware volume file in a shared area; send a high-level signal to the central processing unit based on the high-level signal pin; the high-level signal is used to enable the operating system of the computing device to monitor the firmware volume file.

[0106] GPIO (General-purpose input / output) functions similarly to P0-P3 on the 8051. Its pins can be freely programmed for user control. Depending on practical considerations, pins can function as general-purpose inputs (GPIs), general-purpose outputs (GPOs), or both (GPIOs), such as in a clk generator or chip select. Since a pin can be used for input, output, or other special functions, registers must be used to select these functions. For input, a register can be read to determine the pin's voltage level; for output, a register can be written to set the pin's voltage high or low. Other special functions are controlled by separate registers.

[0107] In implementation, an embodiment of the present application can configure a high-level signal pin for the baseboard management controller BMC for the central processing unit CPU. The high-level signal pin can be a GPIO pin. The baseboard management controller BMC can be connected to the central processing unit CPU through the high-level signal pin. After the baseboard management controller BMC stores the firmware volume file to the shared area, the baseboard management controller BMC can generate a high-level signal for the firmware volume file, and can send a high-level signal to the central processing unit based on the high-level signal pin, so that the operating system of the computing device can monitor the firmware volume file.

[0108] In some embodiments of the present application, the computing device is configured with an advanced configuration and power management interface for the operating system, and the step of executing the system control interrupt includes: generating a power management and configuration interface command for the advanced configuration and power management interface; calling the advanced configuration and power management interface through the power management and configuration interface command to send an interrupt request for the basic input and output system to the basic input and output system; the basic input and output system responds to the interrupt request and determines the system control interrupt vector for the general purpose event based on the general purpose event table; and executing the system control interrupt based on the system control interrupt vector.

[0109] In implementation, the embodiment of the present application can configure an advanced configuration and power management interface for the operating system OS for the computing device Host. The embodiment of the present application can generate power management and configuration interface commands for the advanced configuration and power management interface, and call the advanced configuration and power management interface through the power management and configuration interface command to send an interrupt request for the basic input and output system to the basic input and output system. After receiving the terminal request, the basic input and output system can respond to the interrupt request and determine the system control interrupt vector for the general purpose event GPE_Lxx based on the configuration in the general purpose event table GPE, and trigger the GPE_Lxx SCI interrupt through the interrupt vector to transfer control to the operating system OS. The operating system OS can then execute the GPE_Lxx SCI handler to trigger SMI to call the BIOS resident function to load the fault diagnosis driver based on the firmware volume file.

[0110] In an embodiment of the present application, a baseboard management controller is used to generate power management and configuration interface commands for an advanced configuration and power management interface; an interrupt request is sent to a basic input / output system through the advanced configuration and power management interface; the basic input / output system responds to the interrupt request and determines a system control interrupt vector for a general-purpose event based on a general-purpose event table; and a system control interrupt is executed based on the system control interrupt vector, thereby realizing that when a firmware volume file is aggregated in a shared area, the operating system can automatically sense it to trigger a fault diagnosis driver loading process for the basic input / output system, thereby improving the efficiency of loading the fault diagnosis driver for the basic input / output system.

[0111] In some embodiments of the present application, the computing device is provided with a system management mode buffer and a timer, and the steps of loading a fault diagnostic driver based on a firmware volume file include: transferring the firmware volume file to the system management mode buffer; calling a basic input / output system resident function to read the firmware volume file from the system management mode buffer to load the fault diagnostic driver; in response to determining that loading of the fault diagnostic driver has started, using a timer to determine a first target time; in response to determining that loading of the fault diagnostic driver is complete, using a timer to determine a second target time, and generating loading status information for the fault diagnostic driver; determining update duration information for the fault diagnostic driver based on the first target time and the second target time; and sending the loading status information and the update duration information to the user-end device.

[0112] SMM (System Management Mode) communication buffer is a buffer used for communication in system management mode.

[0113] In implementation, an embodiment of the present application may set a system management mode buffer (SMM communication buffer) and a timer in a computing device. The basic input / output system resident function may first read the firmware volume file in the shared area and transfer the firmware volume file to the system management mode buffer (SMM communication buffer). When the basic input / output system resident function is called to read the firmware volume file from the system management mode buffer (SMM communication buffer) to start loading the fault diagnosis driver, the timer may be read for the first time to determine a first target time. Then, the old fault diagnosis driver may be uninstalled and the new driver may be loaded, and the context environment of the driver operation may be saved and restored to implement the fault diagnosis driver update. In response to determining that the loading of the fault diagnosis driver is complete, the timer may be read for the second time to determine a second target time. Exemplarily, the update time may be calculated in milliseconds. Update duration information for the fault diagnosis driver is determined based on the first target time and the second target time. The update duration information may be used to express the duration of loading the fault diagnosis driver. When the loading of the fault diagnosis driver is complete, loading status information for the fault diagnosis driver may also be generated. The loading status information may be used to express whether the loading of the fault diagnosis driver for the basic input / output system BIOS is successful.

[0114] In an embodiment of the present application, the firmware volume file is transferred to a system management mode buffer; a basic input / output system resident function is called to read the firmware volume file from the system management mode buffer to load a fault diagnosis driver; in response to determining that the fault diagnosis driver loading has started, a timer is used to determine a first target time; in response to determining that the loading of the fault diagnosis driver is completed, a timer is used to determine a second target time, and loading status information for the fault diagnosis driver is generated; based on the first target time and the second target time, update duration information for the fault diagnosis driver is determined; the loading status information and the update duration information are sent to the user-end device, so that subsequent operation and maintenance personnel can check whether the loading of the fault diagnosis driver for the basic input / output system BIOS is successful through the loading status information. At the same time, the loading process can be determined through the update duration information to determine whether the loading process has timed out, thereby determining whether the update mechanism of the basic input / output system BIOS needs to be troubleshooted and optimized, further improving the efficiency of loading the fault diagnosis driver for the basic input / output system BIOS.

[0115] In some embodiments of the present application, the step of sending loading status information and update duration information to the user-end device includes: generating an intelligent platform management interface command for the loading status information and update duration information; sending the loading status information and update duration information to the baseboard management controller based on the intelligent platform management interface command; and the baseboard management controller is configured to forward the loading status information and update duration information to the user-end device.

[0116] In actual applications, IPMI (Intelligent Platform Management Interface) can span different operating systems, firmware, and hardware platforms, and can intelligently monitor, control, and automatically report the operating status of a large number of servers to reduce server system costs.

[0117] In implementation, the embodiment of the present application can generate an intelligent platform management interface IPMI command for loading status information and update duration information, and send the loading status information and update duration information to the baseboard management controller BMC based on the intelligent platform management interface command. The baseboard management controller BMC can then forward the loading status information update duration information to the user-end device to improve the data transmission efficiency for the loading status information update duration information.

[0118] In some embodiments of the present application, the baseboard management controller BMC can be used to generate a record log for loading status information and update duration information to ensure that when the data transmission of the loading status information and update duration information fails, the loading result of the fault diagnosis driver can be determined by consulting the record log.

[0119] In some embodiments of the present application, the user-end device can generate first update result information in response to determining that the loading status information is loading successfully and the update duration expressed by the update duration information is less than or equal to a preset threshold, to inform the operation and maintenance personnel that the update for the fault diagnosis drive is successful and the update duration is as expected; in response to determining that the loading status information is loading failure, or determining that the update duration expressed by the update duration information is greater than a preset threshold, generate second update result information to inform the operation and maintenance personnel that the update for the fault diagnosis drive has failed, or the update duration is not as expected.

[0120] In some embodiments of the present application, the user terminal device can be used to generate a device identification for the computing device; and generate a fault diagnosis driver loading report using the device identification, the first update result information, and the second update result information.

[0121] Exemplarily, the fault diagnosis driver loading report can be presented in a tabular form, with the server IP to be updated as the device identifier placed in the first column of the table. The user-end device can traverse the table when updating, and at the same time complete the loading of the fault diagnosis driver for the computing device, and save the loading status information and update duration information to the second column respectively. In the third column, the data row where the computing device corresponding to the first update result information is located is marked with a first color, and the data row where the computing device corresponding to the second update result information is located is marked with a second color. The table is output and sent to relevant parties, thereby achieving smarter and more efficient operation and maintenance.

[0122] In some embodiments of the present application, the baseboard management controller is configured to determine an unused target static random access memory; determine the target static random access memory as a shared area, and the method further includes: determining device resource allocation information for the shared area; the device resource allocation information is used to enable a basic input and output system to determine the shared area; obtain a base address for the shared area, and an area offset for a firmware volume file; the step of obtaining the firmware volume file from the shared area includes: obtaining the firmware volume file from the shared area based on the base address and the area offset.

[0123] In implementation, an embodiment of the present application can use a baseboard management controller BMC to determine an unused target static random access memory SRAM, and determine the target static random access memory SRAM as a shared area, and at the same time map the target static random access memory SRAM to the system memory BIOS Memory, so that both BIOS and BMC can read and write to the shared area; an embodiment of the present application can determine the device resource allocation information for the shared area. For example, the device resource allocation information may include BUS: bus number, Device: device number and Function: function number. The BIOS system can find the corresponding shared memory through a specific bus number, device number and function number, and obtain the base address of the shared area and the area offset for storing the fv file (firmware volume file), and complete the data copy for the firmware volume file based on the base address and area offset.

[0124] In practical applications, Copy Handler is a program used to copy / move files and folders between different storage media (hard disk, floppy disk, LAN, CD-ROM and others).

[0125] In some embodiments of the present application, Copy Hander can also perform crc32-bit calculation based on the acquired HPM file and compare it with the unique check value in the header data position to ensure consistency and data integrity.

[0126] In order to enable those skilled in the art to better understand the embodiments of the present application, a complete example is used below to illustrate the embodiments of the present application.

[0127] 2 and 3, FIG2 is a structural diagram of a fault diagnosis driver loading system provided in an embodiment of the present application; FIG3 is a data interaction diagram for a central processing unit and a baseboard management controller provided in an embodiment of the present application; the baseboard management controller is connected to the central processing unit through an intelligent platform management interface, and a shared area (SRAM) opened up by the baseboard management controller BMC is used to map to the system memory BIOS Memory, and both the basic input and output system BIOS and the baseboard management controller BMC can read and write access to achieve; by passing the fault diagnosis driver to the baseboard management controller BMC, and then the baseboard management controller BMC places the shared memory and notifies the host Host, the host Host triggers the GPE_Lxx SCI interrupt after receiving the change, and the operating system OS executes the ACPI interface command to trigger the SMI to call the BIOS resident function to complete the update of the fault diagnosis driver; the resident function will first read the Fv file in the shared memory and place it in the SMM (System Management Mode) communication The update process is as follows: in the buffer, the old fault diagnosis driver is uninstalled, the corresponding area is erased, the new driver is loaded, and the context environment of the driver operation is saved and restored; the update status is notified to the BMC through the IPMI command, and the BMC returns the update result to the user after receiving the command; further, since it is an out-of-band update, the server IP to be updated can be placed in the first column of the table, and when updating, Excel is traversed and the update of the server fault diagnosis driver is completed at the same time, and the returned results (whether the update is successful, the update time) are stored in the second column and the third column respectively. In response to determining that an update has failed, the data in the row is marked red. In response to determining that the update time exceeds the preset update time, the data row is marked yellow, and the update result table is output and notified to the relevant parties by email.

[0128] Compared to traditional fault diagnosis driver update methods, this solution does not require an in-band OS password and uses a standard HPM format for out-of-band updates, facilitating batch upgrades and management. The fault diagnosis driver is updated out-of-band by the baseboard management controller (BMC) while the system is running, taking effect in real time. This also avoids the traditional approach of requiring users to manually import fault diagnosis policies to activate the update through firmware reboots. This improves efficiency, saves time, and minimizes disruptions to user business continuity, significantly facilitating R&D and testing. This update method offers several advantages. First, by mapping a shared area (SRAM) into BIOS memory, the BIOS and BMC can directly read and write to each other, eliminating additional data transfers and latency. Second, by transferring the fault diagnosis driver to the BMC and notifying the host via shared memory, real-time fault diagnosis and driver updates are possible. This is crucial for timely detection and resolution of system faults, improving system reliability and stability. Furthermore, by utilizing the SMM communication buffer and SMI mechanism, seamless driver loading and runtime environment preservation and restoration are achieved, ensuring proper driver operation and system stability. That is, by using BMC out-of-band update fault diagnosis driver, security is provided, manageability is improved, and the continuous availability of the entire machine is increased. The delay time is reduced by an order of magnitude, providing business-sensitive customers with a stable and secure business operating environment, improving user experience, and increasing server utilization efficiency and practicality.

[0129] 4 , a flowchart of another method for loading a fault diagnosis driver provided in an embodiment of the present application is shown, which may include the following steps:

[0130] Step 301, adding a firmware volume file for a basic input / output system to a shared area; the computing device is configured to, in response to determining that the computing device is powered on and the firmware volume file is detected, execute a system control interrupt and obtain the firmware volume file from the shared area; execute a power management and configuration interface command to trigger a system management interrupt for the basic input / output system, and load a fault diagnosis driver based on the firmware volume file.

[0131] In implementation, the embodiments of the present application can be applied to a user-end device, the user-end device is configured with a corresponding computing device, the computing device is equipped with a basic input / output system, the computing device is configured with a baseboard management controller, the baseboard management controller is provided with a shared area, and the shared area is configured to be mapped to the system memory of the basic input / output system.

[0132] As for the user-end device side embodiment, since it is basically similar to the computing device side method embodiment, the description is relatively simple. For relevant details, please refer to the partial description of the computing device side method embodiment.

[0133] It should be noted that for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the order of the actions described, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the actions involved in the embodiments described in the specification are not necessarily required by the embodiments of the present application.

[0134] 5 , a block diagram of a fault diagnosis drive loading device provided in an embodiment of the present application is shown, which may include the following modules:

[0135] The firmware volume file acquisition module 401 is configured to, in response to determining that the computing device is powered on and a firmware volume file is detected, execute a system control interrupt and acquire the firmware volume file from the shared area;

[0136] The fault diagnosis driver loading module 402 is used to execute the power management and configuration interface command to trigger the system management interrupt for the basic input and output system, and load the fault diagnosis driver based on the firmware volume file.

[0137] 6 , a block diagram of another fault diagnosis drive loading device provided in an embodiment of the present application is shown, which may include the following modules:

[0138] The firmware volume file adding module 501 is used to add the firmware volume file for the basic input and output system to the shared area; the computing device is configured to execute a system control interrupt in response to determining that the computing device is powered on and the firmware volume file is detected, and obtain the firmware volume file from the shared area; execute the power management and configuration interface command to trigger the system management interrupt for the basic input and output system, and load the fault diagnosis driver based on the firmware volume file.

[0139] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0140] In addition, an embodiment of the present application also provides an electronic device, including: one or more processors, a memory, and computer-readable instructions stored in the memory and executable on the processor. When the computer-readable instructions are executed by one or more processors, the various processes of the above-mentioned fault diagnosis driven loading method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, they will not be repeated here.

[0141] The present application also provides a non-transitory computer-readable storage medium having computer-readable instructions stored thereon. When the computer-readable instructions are executed by one or more processors, the various processes of the above-mentioned fault diagnosis driver loading method embodiment are implemented, and the same technical effects are achieved. To avoid repetition, the non-transitory computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0142] FIG7 is a schematic diagram of the hardware structure of an electronic device implementing various embodiments of the present application.

[0143] The electronic device 600 includes but is not limited to components such as a radio frequency unit 601, a network module 602, an audio output unit 603, an input unit 604, a sensor 605, a display unit 606, a user input unit 607, an interface unit 608, a memory 609, a processor 610, and a power supply 611. Those skilled in the art will appreciate that the electronic device structure shown in FIG7 does not constitute a limitation on the electronic device, and the electronic device may include more or fewer components than shown, or combine certain components, or arrange the components differently. In the embodiments of the present application, the electronic device includes but is not limited to a mobile phone, a tablet computer, a laptop computer, a PDA, a vehicle-mounted terminal, a wearable device, and a pedometer.

[0144] It should be understood that in the embodiments of the present application, the RF unit 601 may be used to receive and transmit signals during information transmission or calls. In some embodiments, the RF unit 601 receives downlink data from the base station and transmits it to the processor 610 for processing; in addition, the RF unit 601 transmits uplink data to the base station. Typically, the RF unit 601 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and the like. Furthermore, the RF unit 601 may communicate with the network and other devices via a wireless communication system.

[0145] The electronic device provides users with wireless broadband Internet access through the network module 602, such as helping users to send and receive emails, browse web pages, and access streaming media.

[0146] The audio output unit 603 can convert audio data received by the RF unit 601 or the network module 602 or stored in the memory 609 into an audio signal and output it as sound. In addition, the audio output unit 603 can also provide audio output related to a specific function performed by the electronic device 600 (for example, a call signal reception sound, a message reception sound, etc.). The audio output unit 603 includes a speaker, a buzzer, a receiver, etc.

[0147] The input unit 604 is used to receive audio or video signals. The input unit 604 may include a graphics processing unit (GPU) 6041 and a microphone 6042. The graphics processor 6041 processes image data of a still picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The processed image frames can be displayed on the display unit 606. The image frames processed by the graphics processor 6041 can be stored in the memory 609 (or other storage medium) or transmitted via the radio frequency unit 601 or the network module 602. The microphone 6042 can receive sound and process such sound into audio data. The processed audio data can be converted into a format that can be sent to a mobile communication base station via the radio frequency unit 601 in the case of a telephone call mode.

[0148] The electronic device 600 also includes at least one sensor 605, such as a light sensor, a motion sensor, and other sensors. In some embodiments, the light sensor includes an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 6061 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 6061 and / or the backlight when the electronic device 600 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used to identify the posture of the electronic device (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; the sensor 605 can also include a fingerprint sensor, a pressure sensor, an iris sensor, a molecular sensor, a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, etc., which will not be repeated here.

[0149] The display unit 606 is used to display information input by the user or information provided to the user. The display unit 606 may include a display panel 6061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

[0150] The user input unit 607 can be used to receive input digital or character information and generate key signal input related to user settings and function control of the electronic device. In some embodiments, the user input unit 607 includes a touch panel 6071 and other input devices 6072. The touch panel 6071, also known as a touch screen, can collect user touch operations on or near it (for example, operations performed by the user using a finger, stylus, or any other suitable object or accessory on or near the touch panel 6071). The touch panel 6071 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch direction and detects the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 610, which receives and executes commands sent by the processor 610. In addition, the touch panel 6071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 6071, the user input unit 607 may also include other input devices 6072. In some embodiments, other input devices 6072 may include but are not limited to a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which are not described in detail here.

[0151] Furthermore, the touch panel 6071 may be overlaid on the display panel 6061. When the touch panel 6071 detects a touch operation on or near it, it transmits the information to the processor 610 to determine the type of touch event. The processor 610 then provides a corresponding visual output on the display panel 6061 based on the type of touch event. Although in FIG7 , the touch panel 6071 and the display panel 6061 are used as two independent components to implement the input and output functions of the electronic device, in some embodiments, the touch panel 6071 and the display panel 6061 may be integrated to implement the input and output functions of the electronic device, which is not limited here.

[0152] The interface unit 608 is an interface for connecting external devices to the electronic device 600. For example, the external devices may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, etc. The interface unit 608 may be used to receive input (e.g., data information, power, etc.) from the external device and transmit the received input to one or more elements within the electronic device 600, or may be used to transmit data between the electronic device 600 and the external device.

[0153] Memory 609 can be used to store software programs and various data. Memory 609 may primarily include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function (such as a sound playback function or an image playback function); the data storage area may store data generated based on the use of the mobile phone (such as audio data, a phone book, etc.). Furthermore, memory 609 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0154] The processor 610 is the control center of the electronic device. It connects all parts of the electronic device using various interfaces and circuits. By running or executing software programs and / or modules stored in the memory 609 and accessing data stored in the memory 609, it performs various functions of the electronic device and processes data, thereby providing overall monitoring of the electronic device. The processor 610 may include one or more processing units. In some embodiments, the processor 610 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into the processor 610.

[0155] The electronic device 600 may also include a power supply 611 (such as a battery) to supply power to each component. In some embodiments, the power supply 611 may be logically connected to the processor 610 through a power management system, thereby enabling the power management system to manage functions such as charging, discharging, and power consumption.

[0156] In addition, the electronic device 600 includes some functional modules not shown, which will not be described here.

[0157] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.

[0158] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the relevant technology, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, air conditioner, or network equipment, etc.) to execute the methods of each embodiment of the present application.

[0159] As shown in FIG8 , in some other embodiments provided in the present application, a computer-readable storage medium 701 is further provided, in which instructions are stored. When the computer-readable storage medium 701 is run on a computer, the computer executes the fault diagnosis driver loading method in the above embodiment.

[0160] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned implementation methods. The above-mentioned implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0161] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the embodiments of this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. 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 this application.

[0162] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the working processes of the above-described systems, devices and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0163] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0164] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0165] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0166] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the relevant technology, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, ROM, RAM, a magnetic disk, or an optical disk.

[0167] The above are merely embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A fault diagnosis driver loading method, characterized in that: Applicable to a computing device equipped with a basic input / output system, the computing device is configured with a baseboard management controller, the baseboard management controller is provided with a shared area, the shared area is configured to be mapped to the system memory of the basic input / output system, and the computing device has a corresponding user terminal device; The user terminal device is configured to add a firmware volume file for the basic input and output system to the shared area, and the method includes: In response to determining that the computing device is powered on and the firmware volume file is detected, executing a system control interrupt and obtaining the firmware volume file from the shared area; as well as A power management and configuration interface command is executed to trigger a system management interrupt for the basic input and output system, and a fault diagnosis driver is loaded based on the firmware volume file.

2. The method according to claim 1, characterized in that The user terminal device is configured as follows: generating a standard format driver file including the firmware volume file; and The standard format driver file is sent to the baseboard management controller.

3. The method according to claim 2, characterized in that The standard format driver file is provided with a unique check value, and the baseboard management controller is configured as follows: Performing a cyclic redundancy check on the standard format driver file using the unique check value; as well as In response to a cyclic redundancy check being performed on the standard format driver file and the result being passed, the firmware volume file is stored in the shared area.

4. The method according to claim 3, characterized in that The computing device is configured with a central processing unit, and the baseboard management controller is provided with a high-level signal pin for the central processing unit; the baseboard management controller is configured as follows: After storing the firmware volume file in the shared area, generating a high-level signal for the firmware volume file; as well as The high-level signal is sent to the central processing unit based on the high-level signal pin; the high-level signal is used to enable the operating system of the computing device to monitor the firmware volume file.

5. The method according to claim 4, characterized in that The computing device is configured with an advanced configuration and power management interface for the operating system, and the step of executing a system control interrupt comprises: generating power management and configuration interface commands for the advanced configuration and power management interface; Calling the advanced configuration and power management interface through the power management and configuration interface command to send an interrupt request for the basic input and output system to the basic input and output system; The basic input / output system determines, in response to the interrupt request, a system control interrupt vector for a general purpose event based on a general purpose event table; and A system control interrupt is executed based on the system control interrupt vector.

6. The method according to claim 5, characterized in that The computing device is provided with a system management mode buffer and a timer, and the step of loading a fault diagnosis driver based on the firmware volume file includes: Transferring the firmware volume file to the system management mode buffer; calling a basic input / output system resident function to read the firmware volume file from the system management mode buffer to load a fault diagnosis driver; In response to determining to start loading the fault diagnosis driver, using the timer to determine a first target time; In response to determining that loading of the fault diagnosis driver is complete, determining a second target time using the timer, and generating loading status information for the fault diagnosis driver; determining update duration information for the fault diagnosis drive based on the first target time and the second target time; and The loading status information and the update duration information are sent to the user terminal device.

7. The method according to claim 6, characterized in that The step of sending the loading status information and the update duration information to the user terminal device includes: generating an intelligent platform management interface command for the loading status information and the update duration information; and The loading status information and the update duration information are sent to the baseboard management controller based on the intelligent platform management interface command; the baseboard management controller is configured to forward the loading status information and the update duration information to the user terminal device.

8. The method according to claim 7, characterized in that The baseboard management controller is configured as follows: Generate a record log for the loading status information and the update duration information.

9. The method according to claim 7, characterized in that The user terminal device is configured as follows: In response to determining that the loading status information indicates that the loading is successful, and determining that the update duration expressed by the update duration information is less than or equal to a preset threshold, first update result information is generated.

10. The method according to claim 9, characterized in that The user terminal device is configured as follows: In response to determining that the loading status information indicates loading failure, or that the update duration expressed by the update duration information is greater than a preset threshold, second update result information is generated.

11. The method according to claim 10, characterized in that The user terminal device is configured as follows: generating a device identification for the computing device; and A fault diagnosis driver loading report is generated using the device identification, the first update result information, and the second update result information.

12. The method according to claim 3, characterized in that The baseboard management controller is configured as follows: In response to a cyclic redundancy check failure performed on the standard format driver file, verification error information for the standard format driver file is generated, and the verification error information is sent to the user terminal device.

13. The method according to claim 2, characterized in that The user terminal device is configured as follows: The standard format drive file is sent to the baseboard management controller based on a file transfer protocol.

14. The method according to claim 12, characterized in that The baseboard management controller is configured as follows: The verification error information is sent to the user terminal device based on a file transfer protocol.

15. The method according to claim 11, characterized in that The baseboard management controller is configured to determine an unused target static random access memory; Determining the target static random access memory as a shared area, the method further comprising: determining device resource allocation information for the shared area; the device resource allocation information is used to enable the basic input and output system to determine the shared area; and Obtaining a base address for the shared area and an area offset for the firmware volume file; and The step of obtaining the firmware volume file from the shared area includes: The firmware volume file is obtained from the shared area based on the base address and the area offset.

16. A method for loading a fault diagnosis driver, characterized in that: Applied to a user-end device, the user-end device is configured with a corresponding computing device, the computing device is equipped with a basic input / output system, the computing device is configured with a baseboard management controller, the baseboard management controller is provided with a shared area, and the shared area is configured to be mapped to the system memory of the basic input / output system. The method includes: A firmware volume file for the basic input / output system is added to the shared area; the computing device is configured to, in response to determining that the computing device is powered on and the firmware volume file is detected, execute a system control interrupt and obtain the firmware volume file from the shared area; and execute a power management and configuration interface command to trigger a system management interrupt for the basic input / output system and load a fault diagnosis driver based on the firmware volume file.

17. A fault diagnosis drive loading device, characterized in that: Applicable to a computing device equipped with a basic input / output system, the computing device is configured with a baseboard management controller, the baseboard management controller is provided with a shared area, the shared area is configured to be mapped to the system memory of the basic input / output system, and the computing device has a corresponding user terminal device; The user terminal device is configured to add a firmware volume file for the basic input and output system to the shared area, and the device includes: a firmware volume file acquisition module, configured to, in response to determining that the computing device is powered on and the firmware volume file is detected, execute a system control interrupt and acquire the firmware volume file from the shared area; as well as The fault diagnosis driver loading module is used to execute power management and configuration interface commands to trigger a system management interrupt for the basic input and output system, and load a fault diagnosis driver based on the firmware volume file.

18. A fault diagnosis drive loading device, characterized in that: Applied to a user-end device, the user-end device is configured with a corresponding computing device, the computing device is equipped with a basic input / output system, the computing device is configured with a baseboard management controller, the baseboard management controller is provided with a shared area, and the shared area is configured to be mapped to the system memory of the basic input / output system, the apparatus comprises: A firmware volume file adding module is used to add a firmware volume file for the basic input / output system to the shared area; the computing device is configured to, in response to determining that the computing device is powered on and the firmware volume file is detected, execute a system control interrupt and obtain the firmware volume file from the shared area; and execute a power management and configuration interface command to trigger a system management interrupt for the basic input / output system and load a fault diagnosis driver based on the firmware volume file.

19. An electronic device, characterized in that: comprising one or more processors, a communication interface, a memory, and a communication bus, wherein the one or more processors, the communication interface, and the memory communicate with each other via the communication bus; The memory is used to store computer-readable instructions, and the computer-readable instructions implement the method according to any one of claims 1 to 15 or 16 when read and executed by the one or more processors.

20. A non-transitory computer-readable storage medium, characterized in that The non-transitory computer-readable storage medium stores computer-readable instructions, which implement the method according to any one of claims 1 to 15 or 16 when executed by one or more processors.

Citation Information

Patent Citations

  • Fault diagnosis method, apparatus and device

    CN109032867A

  • Fault diagnosis method and device, storage medium, electronic device and BMC chip

    CN116541227A

  • Fault-recoverable firmware detection system and method, storage medium and server

    CN117389790A

  • Fault diagnosis drive loading method and device, electronic equipment and storage medium

    CN117806721A

  • Component firmware update from baseboard management controller

    US20200218527A1