Function configuration method, computer program product, device, and storage medium

By employing a multi-level detection and automated function configuration scheme, the problem of relying on bandwidth for judgment errors in the early stages of BIOS startup is solved. This enables accurate detection of the target memory's in-situ status and automated function configuration, thereby improving system stability and configuration efficiency.

WO2026113299A1PCT designated stage Publication Date: 2026-06-04INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

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

AI Technical Summary

Technical Problem

In the early stages of BIOS startup, existing technologies rely on bandwidth to determine whether the target memory is connected, which is prone to errors, and manual function configuration is inconvenient and limited to a single scenario.

Method used

By employing a multi-level detection scheme, the memory presence signal is obtained using the first and second target devices. Combined with the topology table and preset function configuration scheme, automated function configuration is achieved.

Benefits of technology

Accurately obtain the in-situ status of the target memory to achieve automated function configuration, thereby improving system stability and configuration efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025098156_04062026_PF_FP_ABST
    Figure CN2025098156_04062026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to a function configuration method, a computer program product, a device, and a storage medium. The function configuration method is applied to a function configuration system. The method comprises: in response to a basic input / output system receiving a function configuration instruction, determining whether an in-place signal corresponding to a target memory can be acquired by a first target device; if yes, determining an in-place state of the target memory on the basis of the in-place signal corresponding to the target memory; if not, determining whether a second target device can acquire the in-place signal corresponding to the target memory; if yes, the second target device acquiring and transmitting the in-place state of the target memory to the basic input / output system; if not, acquiring the in-place state of the target memory on the basis of a topology table; and when it is determined that the target memory is in place, acquiring a preset function configuration scheme matching a function configuration type corresponding to the function configuration instruction, and performing function configuration on an interface of the target memory on the basis of the preset function configuration scheme. The method can improve the reliability of the system.
Need to check novelty before this filing date? Find Prior Art

Description

Functional configuration methods, computer program products, devices and storage media

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202411702074.X, filed on November 26, 2024, entitled “Functional Configuration Method, Computer Program Product, Device and Storage Medium”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of functional configuration, and in particular to a functional configuration method, computer program product, device, and storage medium. Background Technology

[0004] During the initial startup of the BIOS (Basic Input Output System) and the initialization of function configuration, bandwidth is typically used to determine whether a target memory is connected to the corresponding interface. Then, the presence status of the target memory is obtained, and the interfaces connected to the target memory are configured. However, relying on bandwidth to determine the presence status of the target memory is prone to errors.

[0005] In related technologies, it is common to enter the BIOS interface and manually configure the interface connected to the target memory. This is inconvenient, inefficient, and the scenarios for configuring functions are relatively limited. Summary of the Invention

[0006] In a first aspect, this application provides a function configuration method applied to a function configuration system. The function configuration system includes a first target device, a second target device, a basic input / output system, and a memory. A first terminal of the basic input / output system is connected to a first terminal of the first target device and a first terminal of the second target device, respectively. A second terminal of the first target device and a second terminal of the second target device are connected to the memory, respectively. The function configuration method includes:

[0007] In response to the basic input / output system receiving a function configuration instruction, a target memory presence detection instruction is triggered to determine whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device;

[0008] In response to determining that the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device, the basic input / output system determines the presence status of the target memory based on the presence signal corresponding to the target memory;

[0009] In response to determining that the basic input / output system cannot obtain the presence signal corresponding to the target memory through the first target device, it is then determined whether the second target device can obtain the presence signal corresponding to the target memory.

[0010] In response to determining that the second target device can obtain the presence signal corresponding to the target memory, the second target device parses the presence signal corresponding to the target memory to obtain the presence status of the target memory, and transmits the presence status of the target memory to the basic input / output system.

[0011] In response to determining that the second target device cannot obtain the presence signal corresponding to the target memory, the basic input / output system obtains the topology table in the storage device and, based on the topology table, obtains the presence status of the target memory. The topology table includes the mapping relationship between the identifiers of the interfaces connected to the memory and the memory types; and

[0012] In response to the basic input / output system determining that the target memory is in place, the function configuration instruction is parsed to obtain the function configuration type corresponding to the function configuration instruction, obtain the preset function configuration scheme that matches the function configuration type, and perform function configuration on the interface of the target memory based on the preset function configuration scheme.

[0013] In some embodiments, determining whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device includes:

[0014] Determine whether the basic input / output system can obtain the identifier sent by the first target device, where the first target device is a device with a direct data path to the basic input / output system; and

[0015] In response to determining that the basic input / output system can acquire the identifier sent by the first target device, the basic input / output system acquires the presence signal corresponding to the target memory through the first target device, and determines the presence status of the target memory based on the presence signal corresponding to the target memory.

[0016] In some embodiments, the basic input / output system determines the in-situ state of the target memory based on the in-situ signal corresponding to the target memory, including:

[0017] In response to the basic input / output system acquiring the presence signal corresponding to the target memory sent by the first target device, the presence signal corresponding to the target memory is parsed to obtain the voltage state of the presence signal corresponding to the target memory;

[0018] In response to the voltage of the presence signal corresponding to the target memory being determined to be a high-level voltage, the target memory is in a present state; and

[0019] In response to the voltage of the signal indicating that the target memory is in place being low, the target memory is in a state of not being in place.

[0020] In some embodiments, determining whether the second target device can obtain the presence signal corresponding to the target memory includes:

[0021] Acquire a second target device, which includes a first sub-target device and a second sub-target device. The second target device is a device that has an indirect data path with the basic input / output system.

[0022] Determine whether the first sub-target device can acquire the presence signal corresponding to the target memory;

[0023] In response to determining that the first sub-target device can obtain the presence signal corresponding to the target memory, the first sub-target device parses the presence signal corresponding to the target memory, obtains the parsing result, and transmits the parsing result to the basic input / output system;

[0024] In response to determining that the first sub-target device cannot obtain the presence signal corresponding to the target memory, it is then determined whether the second sub-target device can obtain the presence signal corresponding to the target memory; and

[0025] In response to determining that the second sub-target device can acquire the presence signal corresponding to the target memory, the second sub-target device parses the presence signal corresponding to the target memory, obtains the parsing result, and transmits the parsing result to the basic input / output system.

[0026] In some embodiments, the basic input / output system acquires a topology table in the storage device and obtains the target memory in-situ state based on the topology table, including:

[0027] The basic input / output system obtains the identifier of the interface connected to the memory, and retrieves the device type from the topology table based on the identifier of the interface connected to the memory; and

[0028] Determine whether the acquired device type matches the device type corresponding to the target memory;

[0029] In response to determining that the acquired device type matches the device type corresponding to the target memory, the target memory is considered to be in a present state; and

[0030] If it is determined that the acquired device type does not match the device type corresponding to the target memory, the target memory is considered to be in an in-situ state.

[0031] In some embodiments, the method further includes:

[0032] In response to the target memory being in place at the current time and the target memory being in place at the target time being sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory being in place at the current time and the target memory being in place at the target time, and updates the change information of the target memory to the storage device.

[0033] In some embodiments, parsing the function configuration instruction to obtain the function configuration type corresponding to the function configuration instruction, obtaining a preset function configuration scheme matching the function configuration type, and configuring the interface of the target memory based on the preset function configuration scheme includes:

[0034] The basic input / output system parses function configuration commands to obtain the function configuration type corresponding to the function configuration command;

[0035] Obtain preset function configuration schemes that are pre-stored in the storage device. These preset function configuration schemes include function configuration schemes of various function configuration types.

[0036] Find the preset function configuration scheme that matches the function configuration type from the preset function configuration schemes; and

[0037] The target memory interface is configured with functions based on a preset function configuration scheme that matches the function configuration type.

[0038] In some embodiments, configuring the interface of the target memory based on a preset function configuration scheme that matches the function configuration type includes:

[0039] The Basic Input / Output System (BIOS) acquires and displays the pending function configuration page based on the function configuration type. The pending function configuration page is the configuration page in the BIOS that configures the interface of the target memory.

[0040] Retrieve the target specification from the preset function configuration scheme corresponding to the function configuration type;

[0041] Match the target specifications with the feature configuration pages to be processed, and locate the modules to be processed on the feature configuration pages; and

[0042] Configure the modules to be processed according to the target specifications.

[0043] In some embodiments, there are multiple function configuration instructions, and after configuring the module to be processed according to the target specification, the instructions also include:

[0044] In response to the completion of the configuration of the module to be processed according to the target specification, the basic input / output system determines whether it includes function configuration instructions of other function configuration types;

[0045] In response to the determination that the basic input / output system includes function configuration instructions of other function configuration types, the function configuration instructions of other function configuration types are executed.

[0046] Find the preset function configuration scheme that matches other function configuration types from the preset function configuration schemes; and

[0047] The interface of the target memory is configured with functions based on a preset function configuration scheme that matches other function configuration types.

[0048] In some embodiments, configuring the module to be processed according to the target specification includes:

[0049] Find the target definition and target algorithm for each module to be processed in the target specification;

[0050] The target adjustment parameters for each module to be processed are determined based on the target definition and the target algorithm, respectively.

[0051] Obtain the attribute information of each module to be processed. The attribute information of each module includes the variable parameter information and the fixed parameter information of the module; and

[0052] Replace the changing parameters of each module to be processed with the target adjustment parameters corresponding to each module.

[0053] In some embodiments, replacing the changed parameters of each module to be processed with the target adjustment parameters corresponding to each module to be processed includes:

[0054] Obtain the target function, which is the runtime interface function of the Unified Extensible Firmware Interface for the Basic Input / Output System Setup Interface; and

[0055] The target function is called to automatically replace the changed parameters of each module to be processed with the target adjustment parameters corresponding to each module.

[0056] In some embodiments, prior to configuring the target memory interface based on a preset function configuration scheme that matches the function configuration type, the following steps are included:

[0057] The basic input / output system obtains the system function configuration status, which includes the on and off states.

[0058] In response to determining that the system function configuration status is enabled, the interface of the target memory is configured with functions based on a preset function configuration scheme that matches the function configuration type; and

[0059] In response to the system function configuration status being determined to be off, function configuration is not supported for pending modules on the function configuration page.

[0060] In some embodiments, the first target device is a device having a direct data path with the basic input / output system, wherein the direct data path means that the in-situ signal is directly read by the basic input / output system.

[0061] In some embodiments, the second target device is a device having an indirect data path with the basic input / output system, wherein the indirect data path is in-situ signals that are indirectly read by the basic input / output system.

[0062] In some embodiments, the first sub-target device is a baseboard management controller, and the second sub-target device is a complex programmable logic device.

[0063] In some embodiments, the method further includes: predefining a topology table and storing the topology table in a storage structure.

[0064] In some embodiments, after the step of the substrate management controller obtaining the change information of the target memory based on the target memory's in-situ state at the current time and the target memory's in-situ state at the target time, the method further includes:

[0065] Based on the target memory's current state and its state at the target time, information on changes in the target memory is obtained, and it is determined whether the target memory's state has changed within the time range of the current and target times; and

[0066] In response to determining that the in-situ state of the target memory has changed, the latest in-situ state of the target memory is obtained.

[0067] In a second aspect, a computer program product is provided, including computer-readable instructions that, when executed by one or more processors, implement the steps of the method described in the first aspect.

[0068] Thirdly, a computer device is provided, including...

[0069] One or more processors; and

[0070] A memory associated with one or more processors, the memory being used to store computer-readable instructions that, when read and executed by one or more processors, implement the method steps described above.

[0071] Fourthly, this application provides a non-volatile computer-readable storage medium storing computer-readable instructions thereon, which, when executed by one or more processors, implement the above-described method steps.

[0072] Unlike related technologies, the functional configuration method in this application is applied to a functional configuration system, which includes a first target device, a second target device, a basic input / output system (PIS), and a memory. A first terminal of the PIS is connected to a first terminal of the first target device and a first terminal of the second target device, respectively. Second terminals of the first and second target devices are connected to the memory. The functional configuration method includes: in response to the PIS receiving a functional configuration instruction, triggering a target memory presence detection instruction, and determining whether the PIS can obtain the presence signal corresponding to the target memory through the first target device; in response to determining that the PIS can obtain the presence signal corresponding to the target memory through the first target device, the PIS determines the presence status of the target memory based on the presence signal corresponding to the target memory; in response to determining that the PIS cannot obtain the presence signal corresponding to the target memory through the first target device... If the system detects the presence of the target memory, it determines whether the second target device can acquire the presence signal corresponding to the target memory. If it determines that the second target device can acquire the presence signal, it parses the presence signal to obtain the target memory's presence status and transmits it to the basic input / output system (PIS). If it determines that the second target device cannot acquire the presence signal, the PIS retrieves the topology table from the storage device and uses it to obtain the target memory's presence status. The topology table includes a mapping between the identifiers of interfaces connected to the memory and the memory type. If the PIS determines that the target memory is present, it parses the function configuration command to obtain the corresponding function configuration type, retrieves a preset function configuration scheme matching the function configuration type, and configures the target memory's interface based on the preset function configuration scheme. Thus, by employing a multi-level detection scheme, the target memory's presence status can be accurately obtained, and by acquiring a preset function configuration scheme matching the function configuration type and performing function configuration based on the preset scheme, automated function configuration can be achieved. Attached Figure Description

[0073] Figure 1 is a schematic diagram of the structure of the functional configuration system provided in an embodiment of this application;

[0074] Figure 2 is a flowchart illustrating the functional configuration method provided in an embodiment of this application;

[0075] Figure 3 is a structural block diagram of the functional configuration device provided in an embodiment of this application;

[0076] Figure 4 is an internal structural diagram of the computer device provided in an embodiment of this application;

[0077] Figure 5 is a structural block diagram of a non-volatile computer-readable storage medium provided in an embodiment of this application;

[0078] Figure 6 is a structural block diagram of the computer program product provided in the embodiments of this application. Detailed Implementation

[0079] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0080] In UEFI (Unified Extensible Firmware Interface) boot mode, the platform's BIOS Setup interface provides control options for VMD (Volume Management Device) functionality for each PCIe (Peripheral Component Interconnect Express) port under each CPU (Central Processing Unit) stack. Each stack has x16 bandwidth, and each port also has VMD functionality control options, called VMD Technology. VMD is a deployment solution introduced for next-generation storage. This solution supports hot-scaling and replacing NVMe SSDs from the PCIe bus without shutting down the system, while standardized LED management helps to more quickly identify the SSD status.

[0081] Of course, manufacturers of various server and other computer products can also modify this name. This option allows you to enable or disable VMD functionality for the PCIe Port (PCIe interface). In other words, it's a toggle setting; selecting "on" will configure the VMD functionality in the code to support it, while selecting "off" will disable the feature.

[0082] After enabling the VMD Technology setting, a series of VMD-related parameters can be configured. When VMD Technology is disabled, these parameters are unselectable and grayed out. When the VMD Technology setting on the port connected to the target memory on the stack is enabled, and the settings are saved and restarted, during the VMD initialization configuration phase, the BIOS code will configure relevant parameters and registers based on the enabling status of Stack VMD and Port VMD, determine which device has VMD enabled, and hide the target memory device with VMD enabled from the OS. Stack and Port correspond to the CPU PCIe interface and the sub-interface connected to the target memory, respectively, and are related to the configured register data. The corresponding target memory sub-port can be identified through the register data, which in turn identifies the device.

[0083] Simultaneously, after detecting that VMD is enabled, when a VROC Key (hardware key) is plugged into the machine, it is equivalent to the user obtaining permission to use the VROC function. The BIOS code will load the VROC function driver file, and in the BIOS Setup (Basic Input / Output System Settings) interface, the Advanced tab will dynamically generate a Virtual RAID (Redundant Arrays of Independent Disks) on CPU (an enterprise-level RAID solution) menu, and load the target storage with VMD enabled under this option. It can also dynamically generate the option Create RAID to support RAID use of the target storage group. However, when no VROC Key is plugged into the machine, it means that the user does not have the right to use the VROC function, the Virtual RAID on CPU menu will not be generated in the BIOS Setup, and the related function cannot be used.

[0084] In related technologies, when the BIOS initializes the VMD function during the initial startup phase, it cannot directly detect which ports are connected to the target memory. It can determine this based on whether a PE port / Stack is allocated x4 bandwidth, but this is not accurate enough. For example, a port might be configured with x4 bandwidth but might be idle and not connected to any target memory. Furthermore, manual configuration is not intelligent enough. Whether each stack and port has VMD enabled, and the related parameter settings, are manually configured. This requires the BIOS to know which ports are connected to the target memory device, boot into the BIOS Setup interface, configure the settings, save the settings, and restart the machine before the function can function. The supported configuration scenarios in these technologies are relatively simple: a default setting of "disabled" or the option to manually change it to "enabled," limiting their application scenarios.

[0085] In some embodiments, this application provides a functional configuration system, which includes a first target device, a second target device, a basic input / output system, and a memory. A first terminal of the basic input / output system is connected to a first terminal of the first target device and a first terminal of the second target device, and a second terminal of the first target device and the second target device is connected to the memory.

[0086] Referring to Figure 1, the Baseboard Management Controller (BMC) provides the intelligent features within the IPMI (Intelligent Platform Management Interface) architecture. It is a dedicated microcontroller embedded in a computer (typically a server motherboard). The BMC is responsible for the interface between the system management software and the platform hardware.

[0087] The controller can be a CPLD (Field-Programmable Gate Array), a digital integrated circuit whose logic functions are constructed by the user according to their own needs. Its basic design method involves using an integrated development software platform, employing schematics, hardware description languages, and other methods to generate corresponding target files. The code is then transferred to the target chip via a download cable ("in-system" programming) to realize the designed digital system.

[0088] The basic input / output system is the system in a computer system that enables communication between the host and external devices. It is mainly used for hardware detection and initialization during the computer startup process.

[0089] The memory is located on the memory backplane. The memory can be a hard disk device, which is the most important storage device in a computer. The memory in this application can be an NVME (Non-Volatile Memory Express, Logical Device Interface) disk.

[0090] The first target device can be a hardware device such as a GPIO (General-purpose input / output), a Present Pin, or / and an identification signal on a memory backplane or other adapter. The first terminal of the first target device is connected to the first terminal of the basic input / output system (PIS), and the second terminal of the first target device is connected to the memory. The PIS can use the first target device to obtain the memory's presence signal. This application does not limit the type of the first target device; any device or component with a direct data path to the PIS can be used as the first target device. A direct data path refers to a method in which the PIS can directly sense the presence signal; here, "sense" refers to whether the data can be directly read by the PIS.

[0091] The second target device is a device that has an indirect data path with the basic input / output system (PIS). The second target device may include a first sub-target device and a second sub-target device. A first terminal of the first sub-target device is connected to a first terminal of the PIS, and a second terminal of the first sub-target device is connected to a memory. Similarly, a first terminal of the second sub-target device is connected to a first terminal of the PIS, and a second terminal of the second sub-target device is connected to a first terminal of the PIS, and a second terminal of the second sub-target device is connected to the memory. The PIS can utilize the first sub-target device and / or the second sub-target device to obtain the memory's presence signal. In this application, the first sub-target device may be a board management controller (BMC), and the second sub-target device may be a complex programmable logic device (CPLD). The second target device in this application may also include other sub-target devices; any device or component that has an indirect data path with the PIS can serve as a sub-target device.

[0092] The indirect data path here refers to the way in which the presence signal can be indirectly sensed by the basic input / output system. For example, it could be information from relevant software or firmware that can parse the presence signal corresponding to the target memory. For instance, the signal or data is first acquired through the BMC or CPLD, and then relayed to the BIOS for parsing. Alternatively, the BMC or CPLD acquires the signal or data, parses it, and then transmits the parsing result to the BIOS. In this way, the BIOS indirectly learns the presence status of the target memory it wants to know.

[0093] This application establishes a functional configuration system that includes a first target device, a second target device, a basic input / output system (BIOS), and a memory. This system can connect to the memory through multiple devices such as the first target device and the second target device to support multiple ways of obtaining the memory presence signal. This realizes the functional configuration method of the multi-level detection scheme included in this application, which is beneficial to improving the stability of the system.

[0094] In some embodiments, as shown in FIG2, this application provides a function configuration method, which includes the following steps:

[0095] Step S10: In response to the basic input / output system receiving a function configuration instruction, a target memory presence detection instruction is triggered to determine whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device.

[0096] Step S11: In response to determining that the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device, the basic input / output system determines the presence status of the target memory based on the presence signal corresponding to the target memory.

[0097] Step S12: In response to determining that the basic input / output system cannot obtain the presence signal corresponding to the target memory through the first target device, it is determined whether the second target device can obtain the presence signal corresponding to the target memory.

[0098] Before issuing function configuration instructions to the interface of the target memory, it is necessary to determine the presence status of the target memory and to perform function configuration on the interface of the target memory whose presence status is present. The target memory in this application can be an NVME memory.

[0099] First, it can be determined whether the Basic Input / Output System (BIOS) can obtain the presence signal corresponding to the target memory through the first target device. In some embodiments, it can first be determined whether the BIOS can obtain the identifier sent by the first target device, where the first target device is a device with a direct data path to the BIOS. In response to determining that the BIOS can obtain the identifier sent by the first target device, the BIOS obtains the presence signal corresponding to the target memory through the first target device and determines the presence status of the target memory based on the presence signal. For example, the identifier can be directly given to the BIOS through hardware methods such as GPIO, Present Pin, or / and identifier signals on the memory backplane or other adapter devices. In this way, when the BIOS reads the high or low level states of certain signals, it can correspond to which ports are designed to connect to the target memory and whether the target memory is present. If there is no presence signal that can be directly read by the BIOS in the hardware, then it cannot be directly read by the BIOS. In response to determining that the first target device can obtain the presence signal corresponding to the target memory, the presence signal corresponding to the target memory is transmitted to the basic input / output system. The basic input / output system can directly obtain the presence signal corresponding to the target memory and obtain the presence status of the target memory based on the presence signal.

[0100] In some embodiments, in response to the basic input / output system acquiring an in-situ signal corresponding to the target memory sent by the first target device, the in-situ signal corresponding to the target memory is parsed to obtain the voltage state of the in-situ signal corresponding to the target memory; in response to determining that the voltage of the in-situ signal corresponding to the target memory is a high-level voltage, the target memory is in-situ; in response to determining that the voltage of the in-situ signal corresponding to the target memory is a low-level voltage, the target memory is not in-situ.

[0101] In response to determining that the first target device cannot obtain the presence signal corresponding to the target memory, it is further determined whether the second target device can obtain the presence signal corresponding to the target memory.

[0102] Step S13: In response to determining that the second target device can obtain the presence signal corresponding to the target memory, the second target device parses the presence signal corresponding to the target memory, obtains the presence status of the target memory, and transmits the presence status of the target memory to the basic input / output system.

[0103] In some embodiments, in response to determining that the second target device can obtain the presence signal corresponding to the target memory, the second target device is used to parse the presence signal corresponding to the target memory to obtain the presence state of the target memory, and the presence state of the target memory is transmitted to the basic input / output system.

[0104] In some embodiments, determining whether a second target device can acquire the presence signal corresponding to the target memory includes: determining whether a first sub-target device can acquire the presence signal corresponding to the target memory; in response to determining that the first sub-target device can acquire the presence signal corresponding to the target memory, the first sub-target device parses the presence signal corresponding to the target memory, obtains a parsing result, and transmits the parsing result to the basic input / output system; in response to determining that the first sub-target device cannot acquire the presence signal corresponding to the target memory, determining whether a second sub-target device can acquire the presence signal corresponding to the target memory; in response to determining that the second sub-target device can acquire the presence signal corresponding to the target memory, the second sub-target device parses the presence signal corresponding to the target memory, obtains a parsing result, and transmits the parsing result to the basic input / output system.

[0105] First, it is determined whether the first sub-target device can acquire the presence signal corresponding to the target memory. If it is determined that the first sub-target device can acquire the presence signal, it parses the presence signal to obtain the presence status of the target memory and then transmits the presence status to the basic input / output system. If it is determined that the first sub-target device cannot acquire the presence signal, it is then determined whether the second sub-target device can acquire the presence signal. If it is determined that the second sub-target device can acquire the presence signal, it parses the presence signal to obtain the presence status of the target memory and then transmits the presence status to the basic input / output system.

[0106] Step S14: In response to determining that the second target device cannot obtain the presence signal corresponding to the target memory, the basic input / output system obtains the topology table in the storage device and obtains the presence status of the target memory according to the topology table. The topology table includes the mapping relationship between the identification code of the interface connected to the memory and the memory type.

[0107] In some embodiments, the interface connected to the memory may be a PCIe interface. The basic input / output system obtains the interface identifier code of the PCIe interface, and based on the PCIe interface identifier code, retrieves the device type from the topology table to determine whether the obtained device type matches the device type corresponding to the target memory. If the obtained device type matches the device type corresponding to the target memory, the target memory is considered to be in place; if the obtained device type does not match the device type corresponding to the target memory, the target memory is considered to be out of place. For example, this can be done by pre-defining a topology table, which is stored in the data storage structure, such as a storage cell or a memory chip. When the basic input / output system reads the corresponding data, it can parse the data according to the pre-defined data structure to determine what devices are on the machine, thus knowing which interfaces are designed to connect to the target memory and whether the target memory is present.

[0108] Understandably, a topology table refers to the hardware topology and device configuration, such as which interfaces will connect to which devices. This data format is not fixed; it only needs to meet the requirements. The device identifier can be a numerical identifier of the target memory interface. For example, the first byte can be defined as representing the device connected to the CPU0 PCIe interface, and different numbers represent different devices or the number of devices connected, and so on.

[0109] This application uses a predefined data table to obtain the presence status of the target memory when the presence signal of the target memory cannot be obtained directly or indirectly, thus enriching the technical means of detecting the presence status of the target memory and making the obtained presence status more accurate.

[0110] In some embodiments, this application further includes, in response to the baseboard management controller receiving the target memory's current state of being in place and the target memory's state of being in place at a target time from the monitoring device, the baseboard management controller obtains the target memory's change information based on the target memory's current state of being in place and the target memory's state of being in place at a target time, and updates the target memory's change information to the storage device.

[0111] In some embodiments, based on the target memory's current state and the target memory's state at the target time, the change information of the target memory can be obtained to determine whether the target memory's state has changed within the time range of the current and target times. In response to determining that a change has occurred, it is necessary to obtain the latest target memory's state. This can be achieved by using the aforementioned method of reading and writing storage chips or software storage units. Based on the changes in the hardware signal indicating the state of presence caused by adding or removing disks, the data area in the data definition indicating whether the device is present is updated. For example, if a disk is removed, the presence signal will change from 1 to 0, and the bit in the defined data representing the state of presence of that device will also be changed from 1 to 0.

[0112] Step S15: In response to the basic input / output system determining that the target memory is in place, the function configuration instruction is parsed to obtain the function configuration type corresponding to the function configuration instruction, a preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is configured based on the preset function configuration scheme.

[0113] After obtaining the presence status of the target memory, the interface corresponding to the target memory in the presence status can be configured functionally, including:

[0114] The basic input / output system parses the function configuration instructions to obtain the function configuration type corresponding to the function configuration instructions; obtains the preset function configuration schemes pre-stored in the storage device, which include function configuration schemes of various function configuration types; searches for a preset function configuration scheme that matches the function configuration type from the preset function configuration schemes; and configures the target memory interface based on the preset function configuration scheme that matches the function configuration type.

[0115] In this application, by obtaining the function configuration type corresponding to the function configuration instruction, and obtaining the corresponding preset system function matching scheme according to the function configuration type, the accuracy of function configuration can be improved, and the function configuration can be automated.

[0116] In some implementations, configuring the interface of the target memory based on a preset function configuration scheme that matches the function configuration type includes: the basic input / output system acquiring a function configuration page to be processed displayed according to the function configuration type, wherein the function configuration page to be processed is the configuration page in the basic input / output system for configuring the interface of the target memory; acquiring the target specification in the preset function configuration scheme corresponding to the function configuration type; matching the target specification with the function configuration page to be processed to find the module to be processed on the function configuration page to be processed; and configuring the module to be processed according to the target specification.

[0117] In some embodiments, the target specification may be the standard state of a functional module on a pre-defined functional configuration type's configuration page. If it is determined that the current state of any functional module on the configuration page is inconsistent with the standard state of the functional module recorded in the target specification, then the functional module needs to be adjusted and designated as a module to be processed.

[0118] The target definition and target algorithm for each module to be processed can be found in the target specification; the target adjustment parameters for each module to be processed can be determined based on the target definition and target algorithm; the attribute information of each module to be processed can be obtained, including the variable parameter information and the fixed parameter information of the module to be processed; and the variable parameters of each module to be processed can be replaced with the target adjustment parameters corresponding to each module to be processed.

[0119] For example, any module to be processed may have two states: open and closed. The configuration page for the module to be processed may show it as closed, but the standard state of the module in the target specification may be open. Subsequently, the module to be processed may be adjusted according to the standard state of the module recorded in the target specification. When the parameters of any module need to be calculated and configured, the target algorithm corresponding to the module may be found in the target specification, the calculation may be performed according to the target algorithm, and the module to be processed may be adjusted according to the calculation results.

[0120] The variable parameters of a module to be processed refer to the parameters that need to be configured within that module, while the fixed parameters refer to the parameters that do not need to be configured. For example, if a module to be processed is "A size: S", and A is the parameter type, then "A size: S" means that the size of parameter A is S. Here, "A size:" represents a fixed parameter, and "S" represents a variable parameter. This application further divides the module to be processed into fixed parameters and configuration parameters, allowing for more precise configuration of the module.

[0121] The process of replacing the changed parameters of each module with the corresponding target adjustment parameters involves: obtaining the target function, which is the runtime interface function of the unified extensible firmware interface of the basic input / output system settings interface; and calling the target function to automatically replace the changed parameters of each module with the corresponding target adjustment parameters. The target function can be the SetVariable (parameter setting) API (Application Programming Interface) function provided by the UEFI specification. By calling the target function, the target adjustment parameters are set to the corresponding positions, eliminating the need for manual settings and achieving automated configuration.

[0122] In some implementations, there are multiple function configuration instructions. After configuring the module to be processed according to the target specification, the system further includes: in response to the completion of the configuration of the module to be processed according to the target specification, the basic input / output system determines whether there are function configuration instructions of other function configuration types; in response to determining that there are function configuration instructions of other function configuration types, the system executes the function configuration instructions of other function configuration types; searches for a preset function configuration scheme that matches other function configuration types from the preset function configuration schemes; and performs function configuration on the interface of the target memory based on the preset function configuration scheme that matches other function configuration types.

[0123] This application allows for multiple function configuration types and multiple function configuration instructions. After completing a function configuration instruction, it can determine whether other function configuration types are included. In response to determining that other function configuration types are included, the function configuration instructions for those other types are executed. A preset function configuration scheme matching other function configuration types is searched from the preset function configuration schemes. Function configuration is then performed based on the preset function configuration scheme matching other function configuration types. This not only automates the function configuration of the target memory interface but also implements an automated conversion scheme for multiple function configuration types, and performs function configuration based on the converted scheme, thereby improving system reliability.

[0124] This application can not only obtain real-time and accurate information about the presence of the target memory and the port where the target memory is located, but also design the functional configuration of the target memory, that is, the configuration of the target memory system function (implementation mode) to achieve the corresponding function. The mode switching setting option is still designed to be implemented in the menu provided by the BIOS Setup.

[0125] Before configuring the target memory interface based on a preset function configuration scheme that matches the function configuration type, this application further includes: the basic input / output system acquiring the system function configuration status, which includes an on state and a off state; in response to determining that the system function configuration status is on, configuring the target memory interface based on a preset function configuration scheme that matches the function configuration type; and in response to determining that the system function configuration status is off, not supporting function configuration of the pending module of the pending function configuration page.

[0126] In some implementations, the function configuration type of this application may include manual type, VMD mode, automatic Auto mode, etc. The function configuration type may be set according to the target memory Mode Selecting function, and the preset function configuration scheme may include manual configuration scheme, VMD configuration scheme, and Auto configuration scheme.

[0127] The Manual mode allows users to manually configure the features they need. The VMD mode is for users who do not have a VROC Key (a special hardware key used to activate the VROC NVMe RAID function, allowing users to manage NVMe disks via RAID in software) and cannot use its RAID function, but still need to support features such as LED activation, hot-swapping, and error reporting. In VMD mode, VMD functions and parameters are configured regardless of whether a VROC Key exists on the machine, and the VROC RAID function is disabled. In VROC mode, VMD functions and parameters are configured, and the VORC RAID function is enabled if a VORC Key exists.

[0128] In Auto mode, the hardware signal determines whether the VROC Key is present and then enables or disables VMD and sets parameters accordingly, eliminating the need for manual user configuration. When VMD is set to Disable, the parameters are grayed out and cannot be set.

[0129] In response to the determination that VMD is set to Enable, the corresponding device configuration space register is accessed according to the algorithm defined in the specification, the data is obtained and calculated to obtain the required parameters, and then the settings are performed. The settings are divided into two types: manual settings and automatic settings.

[0130] The automatic setting method is to obtain the required parameter settings, such as resource type and size, by following the algorithm defined in the specification in the BIOS function code for devices that support VMD. Then, the corresponding parameters are set to the corresponding settings items through the target function, so that manual setting is no longer required.

[0131] In some implementations, a schematic diagram of the VMD function and parameters of the current BIOS is shown below:

[0132] The following parameters can be set, for example:

[0133] VMD Technology (UEFI Mode Display)

[0134] The VMD technology-related settings submenu allows you to configure the VMD on / off settings on each PStack of each CPU.

[0135] CfgBar Size: Configures the size of the bar.

[0136] CfgBar Attribute: Configures the properties of the Bar.

[0137] MemBar Size and Attribute represent the size and attributes of the memory bar, respectively.

[0138] 64-bit prefetchable and 32-bit non-prefetchable refer to two properties: 64-bit prefetchable and 32-bit non-prefetchable.

[0139] VMD for Direct Assign: VMD Direct Assign is a new use case supported by the VMD driver value chain system, which can improve the storage performance of HCI (Hyper-Converged Infrastructure) architecture.

[0140] Furthermore, these three scenarios are not limited to the cases mentioned above. If there are other reasonable scenarios, the solution in this application can also be adjusted and implemented, thus enriching the supported scenarios for VMD and VROC functions.

[0141] In some embodiments, this application further includes determining whether the target memory connected to the interface is a legitimate device; in response to the target memory connected to the interface being a legitimate device, the connection status of the target memory is detected and determined. Specifically, the tag corresponding to the target memory is obtained, the tag corresponding to the target memory is matched with tags in a preset legitimate database to obtain a matching result; and the target memory is determined as a legitimate device based on the matching result.

[0142] By verifying the legitimacy of the target storage device, only legitimate target storage devices can be detected and their connection status determined after connecting to the target storage interface, thereby controlling the on / off state of the VMD function. Determining the legitimacy of a target storage device can be done through its IP address, tag, and access time. For example, to determine if the IP address of the target storage device connected to the interface is legitimate, it can be compared with various legitimate IP addresses in a preset legitimate IP address table; a successful comparison indicates a legitimate IP address. Further, determining if the target storage device connected to the interface is legitimate includes: matching the target storage device's tag with tags in a preset legitimate tag library to obtain a matching result; and determining whether the target storage device is legitimate based on the matching result. In some embodiments, the target storage device's tag is X, and the preset legitimate tag library includes X1, X2, X3, and X4. If X successfully matches tag X1 in the preset legitimate tag library, the target storage device is determined to be legitimate; if X fails to match any tag in the preset legitimate tag library, the target storage device is determined to be illegitimate. This improves security.

[0143] This application acquires in-situ signals or predefined relationships in the topology table through GPIO or other means, and obtains signals or data through BMC, CPLD, etc., and then relays them to the BIOS for parsing. This mainly enriches the dimensions of in-situ model detection and can effectively solve the problem that computer products such as servers cannot accurately identify the in-situ status of target memory. In the past, the x4 bandwidth setting was used to approximate the judgment, but it could not determine whether the target memory was actually connected on the port set to x4 bandwidth, and it could not detect if it was unplugged. At the same time, it also enriches the support scenarios for VMD and VROC functions, and designed and implemented BIOS function switching options to support them, which is an improvement and development of general functions.

[0144] It should be understood that although the steps in the flowchart of Figure 2 are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in Figure 2 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0145] In some embodiments, as shown in FIG3, a function configuration device is provided, including: a judgment module 20 and a configuration module 21, wherein:

[0146] The judgment module 20 is configured to, in response to the basic input / output system receiving a function configuration instruction and triggering a target memory presence detection instruction, determine whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device; in response to determining that the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device, the basic input / output system determines the presence status of the target memory based on the presence signal corresponding to the target memory; in response to determining that the basic input / output system cannot obtain the presence signal corresponding to the target memory through the first target device, determine whether the second target device can obtain the presence signal corresponding to the target memory; in response to determining that the second target device can obtain the presence signal corresponding to the target memory, the second target device parses the presence signal corresponding to the target memory to obtain the presence status of the target memory and transmits the presence status of the target memory to the basic input / output system; in response to determining that the second target device cannot obtain the presence signal corresponding to the target memory, the basic input / output system obtains the topology table in the storage device and obtains the presence status of the target memory according to the topology table, wherein the topology table includes the mapping relationship between the identifier code of the interface connected to the memory and the memory type.

[0147] The configuration module 21 is used to parse the function configuration instruction in response to the basic input / output system determining that the target memory is in place, obtain the function configuration type corresponding to the function configuration instruction, obtain the preset function configuration scheme that matches the function configuration type, and perform function configuration on the interface of the target memory based on the preset function configuration scheme.

[0148] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0149] Determining whether the basic input / output system can obtain the in-situ signal corresponding to the target memory through the first target device includes:

[0150] Determine whether the basic input / output system can obtain the identifier sent by the first target device, where the first target device is a device that has a direct data path with the basic input / output system;

[0151] In response to determining that the basic input / output system can acquire the identifier sent by the first target device, the basic input / output system acquires the presence signal corresponding to the target memory through the first target device, and determines the presence status of the target memory based on the presence signal corresponding to the target memory.

[0152] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0153] The basic input / output system determines the in-situ state of the target memory based on the in-situ signal corresponding to the target memory, including:

[0154] In response to the basic input / output system acquiring the presence signal corresponding to the target memory sent by the first target device, the presence signal corresponding to the target memory is parsed to obtain the voltage state of the presence signal corresponding to the target memory;

[0155] In response to the voltage of the presence signal corresponding to the target memory being high, the presence state of the target memory is "in".

[0156] In response to the voltage of the signal indicating that the target memory is in place being low, the target memory is in a state of not being in place.

[0157] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0158] Determining whether the second target device can obtain the presence signal corresponding to the target memory includes:

[0159] Acquire a second target device, which includes a first sub-target device and a second sub-target device. The second target device is a device that has an indirect data path with the basic input / output system.

[0160] Determine whether the first sub-target device can acquire the presence signal corresponding to the target memory;

[0161] In response to determining that the first sub-target device can obtain the presence signal corresponding to the target memory, the first sub-target device parses the presence signal corresponding to the target memory, obtains the parsing result, and transmits the parsing result to the basic input / output system;

[0162] In response to determining that the first sub-target device cannot obtain the presence signal corresponding to the target memory, it is then determined whether the second sub-target device can obtain the presence signal corresponding to the target memory.

[0163] In response to determining that the second sub-target device can acquire the presence signal corresponding to the target memory, the second sub-target device parses the presence signal corresponding to the target memory, obtains the parsing result, and transmits the parsing result to the basic input / output system.

[0164] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0165] The basic input / output system acquires a topology table from the storage device and, based on the topology table, obtains the in-situ status of the target memory, including:

[0166] The basic input / output system obtains the identifier of the interface connected to the memory, and retrieves the device type from the topology table based on the identifier of the interface connected to the memory;

[0167] Determine whether the acquired device type matches the device type corresponding to the target memory;

[0168] In response to the determination that the acquired device type matches the device type corresponding to the target memory, the target memory is considered to be in the present state.

[0169] If it is determined that the acquired device type does not match the device type corresponding to the target memory, the target memory is considered to be in an in-situ state.

[0170] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0171] The method also includes:

[0172] In response to the target memory being in place at the current time and the target memory being in place at the target time being sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory being in place at the current time and the target memory being in place at the target time, and updates the change information of the target memory to the storage device.

[0173] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0174] The function configuration instructions are parsed to obtain the corresponding function configuration type. A preset function configuration scheme matching the function configuration type is then obtained. Based on the preset function configuration scheme, the interface of the target memory is configured with the following functions:

[0175] The basic input / output system parses function configuration commands to obtain the function configuration type corresponding to the function configuration command;

[0176] Obtain preset function configuration schemes that are pre-stored in the storage device. These preset function configuration schemes include function configuration schemes of various function configuration types.

[0177] Find the preset function configuration scheme that matches the function configuration type from the preset function configuration schemes;

[0178] The target memory interface is configured with functions based on a preset function configuration scheme that matches the function configuration type.

[0179] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0180] The interface of the target memory is configured with functions based on a preset function configuration scheme that matches the function configuration type, including:

[0181] The Basic Input / Output System (BIOS) acquires and displays the pending function configuration page based on the function configuration type. The pending function configuration page is the configuration page in the BIOS that configures the interface of the target memory.

[0182] Retrieve the target specification from the preset function configuration scheme corresponding to the function configuration type;

[0183] Match the target specifications with the function configuration page to be processed, and find the modules to be processed on the function configuration page to be processed;

[0184] Configure the modules to be processed according to the target specifications.

[0185] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0186] The function configuration instructions are multiple, and after configuring the module to be processed according to the target specification, they also include:

[0187] In response to the completion of the configuration of the module to be processed according to the target specification, the basic input / output system determines whether it includes function configuration instructions of other function configuration types;

[0188] In response to determining that a function configuration instruction includes other function configuration types, the function configuration instruction of the other function configuration type is executed;

[0189] Find the preset function configuration scheme that matches other function configuration types from the preset function configuration schemes;

[0190] The interface of the target memory is configured with functions based on a preset function configuration scheme that matches other function configuration types.

[0191] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0192] The configuration of the module to be processed according to the target specification includes:

[0193] Find the target definition and target algorithm for each module to be processed in the target specification;

[0194] The target adjustment parameters for each module to be processed are determined based on the target definition and the target algorithm, respectively.

[0195] Obtain the attribute information of each module to be processed. The attribute information of the module to be processed includes the variable parameter information and the fixed parameter information of the module to be processed.

[0196] Replace the changing parameters of each module to be processed with the target adjustment parameters corresponding to each module.

[0197] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0198] Replacing the changed parameters of each module to be processed with the target adjustment parameters corresponding to each module includes:

[0199] Obtain the target function, which is the interface function of the unified extensible firmware interface of the basic input / output system settings interface at runtime;

[0200] The target function is called to automatically replace the changed parameters of each module to be processed with the target adjustment parameters corresponding to each module.

[0201] In some embodiments, the above-described apparatus can implement another implementation of the functional configuration method, with the following steps:

[0202] Before configuring the target memory interface based on a preset function configuration scheme that matches the function configuration type, the following steps are also included:

[0203] The basic input / output system obtains the system function configuration status, which includes the on and off states.

[0204] In response to determining that the system function configuration status is open, the interface of the target memory is configured with functions based on a preset function configuration scheme that matches the function configuration type.

[0205] In response to the system function configuration status being determined to be off, function configuration is not supported for pending modules on the function configuration page.

[0206] For limitations on the functional configuration device, please refer to the limitations on the functional configuration method above, which will not be repeated here. Each module in the aforementioned functional configuration device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0207] In some embodiments, as shown in FIG6, this application also provides a computer program product, which includes computer-readable instructions stored on a non-volatile computer-readable storage medium, which, when executed by one or more processors, implement the functional configuration methods provided by the methods described above.

[0208] In some embodiments, a computer device is provided, which may be a server, and its internal structure may be as shown in Figure 4. The computer device includes a processor, memory, a network interface, and a database connected via a system bus. The processor of the computer device provides computing and control capabilities. The memory of the computer device includes a non-volatile computer-readable storage medium and internal memory. The non-volatile computer-readable storage medium stores an operating system, computer-readable instructions, and a database. The internal memory provides an environment for the operation of the operating system and computer-readable instructions in the non-volatile computer-readable storage medium. The database of the computer device stores data applied in a function configuration method. The network interface of the computer device is used to communicate with external terminals via a network connection. When the computer-readable instructions are executed by the processor, a function configuration method is implemented.

[0209] Those skilled in the art will understand that the structure shown in Figure 4 is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. The computer device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.

[0210] In some embodiments, a computer device is provided, including a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein the processor performs the following steps when executing the computer-readable instructions:

[0211] Step S10: In response to the basic input / output system receiving a function configuration instruction, a target memory presence detection instruction is triggered to determine whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device.

[0212] Step S11: In response to determining that the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device, the basic input / output system determines the presence status of the target memory based on the presence signal corresponding to the target memory.

[0213] Step S12: In response to determining that the basic input / output system cannot obtain the presence signal corresponding to the target memory through the first target device, it is determined whether the second target device can obtain the presence signal corresponding to the target memory.

[0214] Step S13: In response to determining that the second target device can obtain the presence signal corresponding to the target memory, the second target device parses the presence signal corresponding to the target memory, obtains the presence status of the target memory, and transmits the presence status of the target memory to the basic input / output system.

[0215] Step S14: In response to determining that the second target device cannot obtain the presence signal corresponding to the target memory, the basic input / output system obtains the topology table in the storage device and obtains the presence status of the target memory according to the topology table. The topology table includes the mapping relationship between the identification code of the interface connected to the memory and the memory type.

[0216] Step S15: In response to the basic input / output system determining that the target memory is in place, the function configuration instruction is parsed to obtain the function configuration type corresponding to the function configuration instruction, a preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is configured based on the preset function configuration scheme.

[0217] In some embodiments, as shown in FIG5, a non-volatile computer-readable storage medium is provided, on which computer-readable instructions are stored, which, when executed by a processor, perform the following steps:

[0218] Step S10: In response to the basic input / output system receiving a function configuration instruction, a target memory presence detection instruction is triggered to determine whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device.

[0219] Step S11: In response to determining that the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device, the basic input / output system determines the presence status of the target memory based on the presence signal corresponding to the target memory.

[0220] Step S12: In response to determining that the basic input / output system cannot obtain the presence signal corresponding to the target memory through the first target device, it is determined whether the second target device can obtain the presence signal corresponding to the target memory.

[0221] Step S13: In response to determining that the second target device can obtain the presence signal corresponding to the target memory, the second target device parses the presence signal corresponding to the target memory, obtains the presence status of the target memory, and transmits the presence status of the target memory to the basic input / output system.

[0222] Step S14: In response to determining that the second target device cannot obtain the presence signal corresponding to the target memory, the basic input / output system obtains the topology table in the storage device and obtains the presence status of the target memory according to the topology table. The topology table includes the mapping relationship between the identification code of the interface connected to the memory and the memory type.

[0223] Step S15: In response to the basic input / output system determining that the target memory is in place, the function configuration instruction is parsed to obtain the function configuration type corresponding to the function configuration instruction, a preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is configured based on the preset function configuration scheme.

[0224] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a non-volatile computer-readable storage medium. When executed, these computer-readable instructions can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous forwarding path DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0225] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0226] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A function configuration method, characterized in that, An application is made in a function configuration system, the function configuration system including a first target device, a second target device, a basic input / output system, and a memory. A first terminal of the basic input / output system is connected to a first terminal of the first target device and a first terminal of the second target device, respectively. A second terminal of the first target device and a second terminal of the second target device are connected to the memory, and the function configuration method includes: In response to the basic input / output system receiving a function configuration instruction, a target memory presence detection instruction is triggered to determine whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device; In response to determining that the basic input / output system can acquire the presence signal corresponding to the target memory through the first target device, the basic input / output system determines the presence status of the target memory based on the presence signal corresponding to the target memory; In response to determining that the basic input / output system cannot obtain the presence signal corresponding to the target memory through the first target device, it is then determined whether the second target device can obtain the presence signal corresponding to the target memory. In response to determining that the second target device can obtain the presence signal corresponding to the target memory, the second target device parses the presence signal corresponding to the target memory to obtain the presence status of the target memory, and transmits the presence status of the target memory to the basic input / output system. In response to determining that the second target device cannot obtain the presence signal corresponding to the target memory, the basic input / output system obtains a topology table from the storage device and, based on the topology table, obtains the presence status of the target memory. The topology table includes a mapping between the identifiers of interfaces connected to the memory and the memory type. In response to the basic input / output system determining that the target memory is in place, the function configuration instruction is parsed to obtain the function configuration type corresponding to the function configuration instruction, a preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is configured based on the preset function configuration scheme.

2. The method according to claim 1, characterized in that, The determination of whether the basic input / output system can obtain the in-situ signal corresponding to the target memory through the first target device includes: Determine whether the basic input / output system can obtain the identifier sent by the first target device, where the first target device is a device with a direct data path to the basic input / output system; and In response to determining that the basic input / output system can acquire the identifier sent by the first target device, the basic input / output system acquires the presence signal corresponding to the target memory through the first target device, and determines the presence status of the target memory based on the presence signal corresponding to the target memory.

3. The method according to claim 1, characterized in that, The basic input / output system determines the in-situ status of the target memory based on the in-situ signal corresponding to the target memory, including: In response to the basic input / output system acquiring the presence signal corresponding to the target memory sent by the first target device, the presence signal corresponding to the target memory is parsed to obtain the voltage state of the presence signal corresponding to the target memory; In response to determining that the voltage of the presence signal corresponding to the target memory is a high-level voltage, the target memory is in a present state; and In response to determining that the voltage of the present signal corresponding to the target memory is a low level voltage, the present state of the target memory is absent.

4. The method according to claim 1, characterized in that, The determination of whether the second target device can obtain the in-situ signal corresponding to the target memory includes: Acquire a second target device, the second target device including a first sub-target device and a second sub-target device, the second target device being a device that has an indirect data path with the basic input / output system; Determine whether the first sub-target device can acquire the presence signal corresponding to the target memory; In response to determining that the first sub-target device can obtain the presence signal corresponding to the target memory, the first sub-target device parses the presence signal corresponding to the target memory, obtains the parsing result, and transmits the parsing result to the basic input / output system; In response to determining that the first sub-target device cannot obtain the presence signal corresponding to the target memory, it is then determined whether the second sub-target device can obtain the presence signal corresponding to the target memory; and In response to determining that the second sub-target device can acquire the presence signal corresponding to the target memory, the second sub-target device parses the presence signal corresponding to the target memory, obtains the parsing result, and transmits the parsing result to the basic input / output system.

5. The method according to claim 1, characterized in that, The basic input / output system acquires a topology table from the storage device and obtains the in-situ status of the target memory based on the topology table, including: The basic input / output system obtains the identification code of the interface connected to the memory, and obtains the device type from the topology table based on the identification code of the interface connected to the memory; Determine whether the acquired device type matches the device type corresponding to the target memory; In response to determining that the acquired device type matches the device type corresponding to the target memory, the target memory is considered to be in a present state; and In response to determining that the acquired device type does not match the device type corresponding to the target memory, the target memory is considered to be in an in-situ state.

6. The method according to claim 1, characterized in that, The method further includes: In response to the baseboard management controller receiving the target memory's current location status and target memory's location status at the target time from the monitoring device, the baseboard management controller obtains the target memory's change information based on the target memory's current location status and target memory's location status at the target time, and updates the target memory's change information to the storage device.

7. The method according to claim 1, characterized in that, The step of parsing the function configuration instruction, obtaining the function configuration type corresponding to the function configuration instruction, obtaining a preset function configuration scheme matching the function configuration type, and configuring the interface of the target memory based on the preset function configuration scheme includes: The basic input / output system parses the function configuration instructions to obtain the function configuration type corresponding to the function configuration instructions; Obtain a preset function configuration scheme pre-stored in a storage device, wherein the preset function configuration scheme includes function configuration schemes of multiple function configuration types; Find a preset function configuration scheme that matches the function configuration type from the preset function configuration schemes; and The target memory interface is configured with functions based on a preset function configuration scheme that matches the function configuration type.

8. The method according to claim 7, characterized in that, The function configuration of the target memory interface based on a preset function configuration scheme that matches the function configuration type includes: The basic input / output system acquires a function configuration page to be processed that is displayed according to the function configuration type. The function configuration page to be processed is a configuration page in the basic input / output system for configuring the interface of the target memory. Obtain the target specification from the preset function configuration scheme corresponding to the function configuration type; Match the target specification with the function configuration page to be processed, and find the modules to be processed on the function configuration page; and Configure the modules to be processed according to the target specifications.

9. The method according to claim 8, characterized in that, The function configuration instructions are multiple, and after configuring the module to be processed according to the target specification, it also includes: In response to the completion of the configuration of the module to be processed according to the target specification, the basic input / output system determines whether it includes function configuration instructions of other function configuration types; In response to determining that a function configuration instruction includes other function configuration types, the function configuration instruction of the other function configuration type is executed; Search for a preset function configuration scheme that matches other function configuration types from the preset function configuration schemes; and The interface of the target memory is configured with functions based on a preset function configuration scheme that matches other function configuration types.

10. The method according to claim 9, characterized in that, The configuration of the module to be processed according to the target specification includes: Find the target definition and target algorithm corresponding to each module to be processed from the target specification; The target adjustment parameters for each module to be processed are determined based on the target definition and the target algorithm, respectively. Obtain the attribute information of each module to be processed, including variable parameter information and fixed parameter information of the module; and Replace the changing parameters of each module to be processed with the target adjustment parameters corresponding to each module.

11. The method according to claim 10, characterized in that, Replacing the changed parameters of each module to be processed with the target adjustment parameters corresponding to each module includes: Obtain the target function, which is the interface function of the Unified Extensible Firmware Interface (UEMI) runtime of the Basic Input / Output System Settings Interface; and The target function is called to automatically replace the changed parameters of each module to be processed with the target adjustment parameters corresponding to each module.

12. The method according to claim 7, characterized in that, Before configuring the target memory interface based on a preset function configuration scheme that matches the function configuration type, the following steps are also included: The basic input / output system acquires the system function configuration status, which includes an on state and a off state. In response to determining that the system function configuration state is enabled, the interface of the target memory is configured with functions based on a preset function configuration scheme that matches the function configuration type; and In response to determining that the system function configuration status is off, function configuration of pending modules on the function configuration page to be processed is not supported.

13. The method according to claim 1, characterized in that, The first target device is a device that has a direct data path with the basic input / output system, wherein the direct data path means that the in-situ signal is directly read by the basic input / output system.

14. The method according to claim 1, characterized in that, The second target device is a device that has an indirect data path with the basic input / output system, wherein the indirect data path is in-situ signals that are indirectly read by the basic input / output system.

15. The method according to claim 4, characterized in that, The first sub-target device is a baseboard management controller, and the second sub-target device is a complex programmable logic device.

16. The method according to claim 1, characterized in that, The method further includes: pre-defining the topology table and storing the topology table in a storage structure.

17. The method according to claim 6, characterized in that, After the step of obtaining the change information of the target memory based on the target memory's current in-situ state and the target memory's in-situ state at the target time, the substrate management controller further includes: Based on the target memory's current state and its state at the target time, information on changes in the target memory is obtained, and it is determined whether the target memory's state has changed within the time range of the current and target times; and In response to determining that the in-situ state of the target memory has changed, the latest in-situ state of the target memory is obtained.

18. A computer program product comprising computer-readable instructions, characterized in that, When the computer-readable instructions are executed by one or more processors, they implement the steps of the method according to any one of claims 1 to 17.

19. A computer device, comprising One or more processors; and A memory associated with the one or more processors, the memory being used to store computer-readable instructions that, when read and executed by the one or more processors, implement the steps of the method as described in any one of claims 1 to 17.

20. A non-volatile computer-readable storage medium storing computer-readable instructions thereon, characterized in that, When the computer-readable instructions are executed by one or more processors, they implement the steps of the method according to any one of claims 1 to 17.