Function configuration method and device, equipment and medium
The BIOS determines the VMD function activation policy and automatically configures the VMD function, which solves the problem of inefficient activation configuration in the existing technology, and realizes efficient and flexible VMD function configuration, improving customer experience.
Patent Information
- Application Number
- CN202510421576.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-03
- Publication Date
- 2025-07-08
AI Technical Summary
In the prior art, the VMD function enable configuration efficiency is low, manual configuration is required, professional requirements are high, and the response is slow, resulting in customer complaints.
Provides a function configuration method, determines the VMD function activation policy through the BIOS, including turning off, on and customizing the activation, querying the management controller for information about VMD functions to be turned on, and automatically configures the VMD function based on the information, supporting batch settings.
Improves the efficiency of enabling configuration of VMD functions, reduces manpower investment, improves customer experience, and avoids customer complaints caused by slow response to technical support.
Smart Images

Figure CN120276778A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of servers, and particularly to a function configuration method, device, equipment and medium. Background Art
[0002] In modern computer systems, the CPU (Central Processing Unit) connects multiple high-speed devices, such as NVMe (Non-Volatile Memory Express) solid-state drives, through the root port of PCIe (Peripheral Component Interconnect Express). To optimize the performance and management capabilities of the devices, the VMD function is introduced to support functions such as hot plugging and error isolation. Due to the diversity of customer requirements, the BIOS cannot default to enable the VMD function for all ports, otherwise it may cause abnormal recognition of other PCIe devices.
[0003] In the related art, it is usually necessary to manually configure the VMD function for each port, which results in a low enabling configuration efficiency of the VMD function.
[0004] Therefore, how to improve the enabling configuration efficiency of the VMD function is an urgent problem to be solved currently. Summary of the Invention
[0005] This application provides a function configuration method, device, equipment and medium to at least solve the problem of low enabling configuration efficiency of the VMD function in the related art.
[0006] This application provides a function configuration method applied to the Basic Input / Output System (BIOS). The method includes:
[0007] Responding to an option configuration command input by a user, determining an enabling policy for the Volume Management Device (VMD) function during the BIOS startup process; the enabling policy includes: turning off the VMD function, turning on the VMD function, and customizing the enabling of the VMD function;
[0008] When the enabling policy for the VMD function is to customize the enabling of the VMD function, sending a query command to the management controller; the query command is used to query information about the VMD function to be enabled from the management controller; the information about the VMD function to be enabled is stored in a VMD enabling list;
[0009] Receiving the information about the VMD function to be enabled sent by the management controller;
[0010] According to the information about the VMD function to be enabled, enabling the VMD function for corresponding preset ports.
[0011] The present application also provides a function configuration method, which is applied to a management controller. The method includes:
[0012] Receiving a query command sent by the BIOS; the query command is used to query information about the VMD function to be enabled from the management controller; the information about the VMD function to be enabled is stored in a VMD enable list;
[0013] In response to the query command sent by the BIOS, sending the information about the VMD function to be enabled to the BIOS, so that the BIOS enables the VMD function of the corresponding preset port according to the information about the VMD function to be enabled.
[0014] The present application also provides a function configuration device, which is applied to a basic input / output system (BIOS). The device includes:
[0015] A policy determination module, configured to determine an enabling policy for the volume management device (VMD) function during the BIOS startup process in response to an option configuration command input by a user; the enabling policy includes: turning off the VMD function, turning on the VMD function, and customizing the enabling of the VMD function;
[0016] An information query module, configured to send a query command to the management controller when the enabling policy for the VMD function is to customize the enabling of the VMD function; the query command is used to query information about the VMD function to be enabled from the management controller; the information about the VMD function to be enabled is stored in a VMD enable list;
[0017] An information receiving module, configured to receive the information about the VMD function to be enabled sent by the management controller;
[0018] A function enabling module, configured to enable the VMD function of the corresponding preset port according to the information about the VMD function to be enabled.
[0019] The present application also provides a function configuration device, which is applied to a management controller. The device includes:
[0020] A command receiving module, configured to receive a query command sent by the BIOS; the query command is used to query information about the VMD function to be enabled from the management controller; the information about the VMD function to be enabled is stored in a VMD enable list;
[0021] An information sending module, configured to send the information about the VMD function to be enabled to the BIOS in response to the query command sent by the BIOS, so that the BIOS enables the VMD function of the corresponding preset port according to the information about the VMD function to be enabled.
[0022] The present application also provides an electronic device, including: a memory for storing a computer program; a processor for implementing the steps of any of the above function configuration methods when executing the computer program.
[0023] The present application also provides a computer-readable storage medium storing a computer program, wherein the computer program implements the steps of any of the above function configuration methods when executed by a processor.
[0024] The present application also provides a computer program product including a computer program, which implements the steps of any of the above function configuration methods when executed by a processor.
[0025] Through the present application, in response to an option configuration command input by a user, an enabling policy for the volume management device (VMD) function during the BIOS startup process is determined. When the enabling policy is to customarily enable the VMD function, a query command is sent to the management controller. The query command is used to query information about the VMD function to be enabled from the management controller. The information about the VMD function to be enabled sent by the management controller is received, and based on the information about the VMD function to be enabled, the VMD function of the corresponding preset port is enabled. Since the enabling policy includes disabling the VMD function, enabling the VMD function, and customarily enabling the VMD function, multiple flexible VMD function enabling configuration options are provided for the user, enabling the user to configure the enabling policy of the VMD function by themselves without relying on a developer to provide a script or manually enter the BIOS settings, thereby improving the enabling configuration efficiency of the VMD function and avoiding customer complaints caused by slow response from technical support personnel. Additionally, since the information about the VMD function to be enabled is stored in a user-defined VMD enabling list, the user can store all the port information for which the VMD function needs to be enabled in the VMD enabling list in advance. When the enabling policy is to customarily enable the VMD function, a query command is sent to the management controller to query the information about the VMD function to be enabled from the VMD enabling list of the management controller, and based on the information about the VMD function to be enabled, the VMD function of the corresponding preset port is enabled, thereby achieving batch setting, improving the enabling configuration efficiency of the VMD function, effectively reducing the manpower investment, and enhancing the customer experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] To more clearly illustrate the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0027] Figure 1 FIG. 18 is one of the schematic flowcharts of a function configuration method provided for an embodiment of the present application;
[0028] Figure 2 It is the second flowchart diagram of a function configuration method provided by an embodiment of the present application;
[0029] Figure 3 It is the first structural diagram of a function configuration device provided by an embodiment of the present application;
[0030] Figure 4 It is the second structural diagram of a function configuration device provided by an embodiment of the present application. Detailed implementation manners
[0031] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the protection scope of the present application.
[0032] It should be noted that in the description of the present application, the terms "include", "comprise" or any other variant thereof are intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects and not to describe a specific order or sequence.
[0033] To enable those skilled in the art of the present technology to better understand the solution of the present application, the present application will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.
[0034] Term explanation:
[0035] BIOS: Base Input / Output System, the basic input and output system. BIOS is a key software layer between computer hardware and the operating system, used to initialize hardware devices, start the operating system, and provide runtime services. BIOS is the first software in the computer startup process. It runs when the computer is powered on, completes hardware initialization and self-check, and boots the operating system. Users can configure hardware parameters such as startup order, clock settings, and memory configuration through the BIOS setup interface (usually entered by pressing a specific key during startup).
[0036] VMD: Volume Management Device, the volume management device. VMD is a technology introduced by Intel, mainly used to manage and control NVMe solid-state drives (SSDs) connected to the PCIe bus.
[0037] BMC: Baseboard Management Controller, the baseboard management controller, usually integrated on the server motherboard, is used to monitor and manage the hardware status of the server. The BMC runs independently of the host system and has its own processor, memory, and operating system, and can work properly even when the server is turned off.
[0038] PCIE: Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard, is widely used to connect the computer motherboard to various expansion cards (such as graphics cards, network cards, storage devices, etc.).
[0039] NVMe: Non-Volatile Memory Express, a non-volatile memory host controller interface specification, is a logical device interface specification.
[0040] In a server system, VMD (Volume Management Device) is a technology used to manage NVMe (Non-Volatile Memory Express) solid-state drives. VMD requires the coordinated support of hardware, BIOS (Base Input / Output System), and the operating system. In terms of hardware, the NVMe SSD (Solid State Drive) is directly managed through the PCIe (Peripheral Component Interconnect Express) root port of the CPU (Central Processing Unit). Each root port consists of 16 PCIe channels, forming a VMD domain. The BIOS needs to support the VMD function and correctly configure the PCIe channels, and the operating system needs to support the VMD driver to achieve management. Due to the diversity of customer requirements, the BIOS cannot default to enabling the VMD function for all ports, otherwise it may cause abnormal recognition of other PCIe devices.
[0041] In the related art, in a server environment, if different numbers of NVMe solid-state drives (SSDs) need to be configured for different customers, and these drives need to be connected to the PCIe slots under the pending CPU slots, it can be achieved by reasonably planning the PCIe topology. For example, the customer requirements are as follows: Customer A needs 4 NVMe drives, and these drives are connected to the P0 slot of CPU0; Customer B needs 8 NVMe drives, and these drives are connected to the P5 slot of CPU0. Assume that the server supports multiple CPUs and multiple PCIe slots, and each CPU has multiple PCIe root ports that can be connected to multiple NVMe drives; First, use a PCIe expansion card (such as a PCIe adapter card that can be connected to multiple NVMe drives) to connect 4 NVMe drives to the P0 slot of CPU0; Use a PCIe expansion card that supports 8 NVMe drives to connect 8 NVMe drives to the P5 slot of CPU0. Then, by manually enabling the VMD function in the BIOS SETUP or by enabling the VMD function through a custom script, in the above way, different numbers of NVMe drives can be configured for different customers and ensure that they are connected to the PCIe slots under the specified CPU slots, and this configuration method can meet the personalized needs of customers.
[0042] However, by manually enabling the VMD function in the BIOS SETUP or by enabling the VMD function through a custom script, however, manual enabling requires guidance from R & D personnel, and custom scripts require strict evaluation of customer requirements and NVMe insertion ports. Both of these methods have the problems of high professional requirements and slow response.
[0043] Based on the above problems, the embodiments of the present application provide a function configuration method applied to the basic input / output system. Combining the execution process of the function configuration method, the method is described in detail (technical terms involved must be explained).
[0044] Refer to Figure 1 As shown, the function configuration method provided by the embodiments of the present invention includes the following steps:
[0045] S11. In response to an option configuration command input by a user, determine an enabling policy for the volume management device (VMD) function during the BIOS startup process.
[0046] Among them, the enabling policy includes: turning off the VMD function, turning on the VMD function, and customizing the enabling of the VMD function.
[0047] Specifically, the BIOS determines the enabling policy of the VMD function in the BIOS startup process in response to the option configuration command input by the user. It should be noted that the VMD function of all PCIE ports is default disabled when the server is powered on. Before determining the enabling policy of the volume management device (VMD) function in the BIOS startup process in response to the option configuration command input by the user, a new VMD Configuration Mode option can be added in the Socket Configuration interface of the BIOS SETUP. The option mapstring is vmdConfMode, and this option is used to control the VMD enabling policy during the startup process.
[0048] The optional values of the VMD Configuration Mode option include 0: Disable, 1: Enable, 2: Custom. Among them, Disable means that the VMD function is default disabled; Enable means that the VMD function of all CPU PE ports that can be directly connected to NVMe is default enabled; Custom means that the VMD is enabled according to the CPU PE ports set by the customer. The default setting is Disable, that is, the VMD function is default disabled, and the current value and default value of the option are stored in the NVRAM.
[0049] The user can modify the VMD function configuration policy in the following three ways. One way is to find the "Socket Configuration" or a similar option in the BIOS setup interface. This option is usually located under the "Advanced" or "System Configuration" menu. In the "Socket Configuration" menu, find the "VMD Configuration Mode" option, and according to the customer's needs, select the appropriate value of the VMD Configuration Mode option. The option values include: Disabled: Disable the VMD function; Enabled: Enable the VMD function; Custom: Customize the VMD function. After the user inputs the required option configuration, save and restart to take effect. This way can achieve modification for a single machine. Another way is to enter the OS or Shell and use the SCE tool to modify the option value to 0, 1, or 2 through the mapstring vmdConfMode, and restart the system to take effect. This way can achieve batch modification. Another way is to use the redfish tool to modify the option and restart the system to take effect. This way can achieve modification for a single machine and can also achieve batch modification.
[0050] In some embodiments, the above step S11 (determining the enabling policy of the volume management device VMD function in the BIOS startup process) further includes:
[0051] (1) When the enabling policy of the VMD function is to enable the VMD function, poll each preset port of each CPU to be enabled and obtain the bandwidth allocation of each preset port.
[0052] Among them, the preset port is the PCIe root port used by the CPU to connect to external devices.
[0053] Specifically, when the enabling policy of the VMD function is to enable the VMD function, that is, by default, enable the VMD function of all CPU PEports that can be directly connected to NVME. Obtain the list of all PEports of the CPU through the system management tool. The ports included in the PEport list are the PCIe root ports used by the CPU to connect to external devices. For each PEport, obtain its bandwidth allocation by reading the hardware register or the system management tool. The bandwidth allocation may include, but is not limited to, modes such as x4x4x4x4, x4x4xxx8, xxx8x4x4, etc.
[0054] (2) Determine whether to enable the VMD function of the corresponding preset port according to the bandwidth allocation of each preset port.
[0055] Optionally, the above step (2) can be implemented in the following way:
[0056] If the bandwidth allocation of the target preset port meets the preset conditions, enable the VMD function at the target position.
[0057] Among them, the preset conditions include, but are not limited to, x4x4x4x4, x4x4xxx8, xxx8x4x4.
[0058] Specifically, if the bandwidth allocation of the PEport meets a specific mode (such as x4x4x4x4, x4x4xxx8, xxx8x4x4), then automatically enable the VMD function at the corresponding x4 position. The specific operations include: checking the VMDEnable status of the current port; if the VMDEnable status is off, set it to the on state; save the configuration and restart the machine.
[0059] Enable the VMD function of the corresponding preset port through automatic configuration, reducing the complexity and error rate of manual settings.
[0060] Optionally, the above step S11 (determine the enabling policy of the volume management device VMD function during the BIOS startup process) further includes:
[0061] When the enabling policy of the VMD function is to disable the VMD function, by default, disable the VMD function of all preset ports.
[0062] S12. When the enabling policy of the VMD function is to customize the enabling of the VMD function, send a query command to the management controller.
[0063] Among them, the query command is used to query the VMD function information to be enabled from the management controller; the VMD function information to be enabled is stored in the VMD enabling list. Customizing the enabling of the VMD function can be understood as customizing which ports' VMD functions to enable according to customer needs.
[0064] Specifically, when the enabling policy of the VMD function is to customize the enabling of the VMD function, send a query command to the management controller. The query command is used to query the stored VMD function information to be enabled from the management controller. The VMD information to be enabled includes the flag bit _VMD_, the number of the CPU socket to be enabled, the resource PEport supported by the CPU, and the resource index number Index.
[0065] S13. Receive the VMD function information to be enabled sent by the management controller.
[0066] Specifically, the BIOS receives the VMD function information to be enabled sent by the management controller.
[0067] S14. According to the VMD function information to be enabled, enable the VMD function of the corresponding preset port.
[0068] Among them, the VMD enabling list includes the preset port indexes of the VMD function to be enabled.
[0069] Optionally, the above step S14 (According to the VMD function information to be enabled, enable the VMD function of the corresponding preset port) can be implemented through the following steps:
[0070] A. Traverse each preset port index in the VMD enabling list.
[0071] Specifically, the customer fills in the PEport indexes that need to enable the VMD function in the VMD enabling list according to the requirements. For example, VmdEnableList can be an array or a list that stores the port indexes that need to enable the VMD function. Each PEport index in VmdEnableList is taken out sequentially through a loop structure.
[0072] B. Determine whether the bandwidth corresponding to each preset port index is the preset bandwidth in turn.
[0073] Among them, the preset bandwidth can be set according to the actual situation. For example, the preset bandwidth is x4.
[0074] Specifically, for each PEport index, obtain its bandwidth allocation through the system management tool or the hardware interface. If the bandwidth allocation is not x4, skip the current port and continue to process the next port.
[0075] C. If the bandwidth corresponding to the target preset port index is the preset bandwidth, enable the VMD function of the target preset port.
[0076] Specifically, if the bandwidth of the PEport is x4, set the VMDEnable of the corresponding PEport to 1 through the system management tool or the hardware interface, that is, enable the VMD function. Repeat the above steps until all entries in the VmdEnableList are processed, and complete the configuration of all PEports that need to enable the VMD function.
[0077] Through this automated configuration method based on customer-defined settings, the complexity and error rate of manual settings are reduced, and the reliability and performance of the system are improved. Through automatic detection and configuration, it is ensured that all eligible PEports can correctly enable the VMD function, thereby optimizing the performance and management capabilities of the device.
[0078] The function configuration method provided by the embodiments of the present disclosure determines the enabling policy of the volume management device (VMD) function during the BIOS startup process in response to an option configuration command input by the user. When the enabling policy is to customarily enable the VMD function, a query command is sent to the management controller. The query command is used to query the information of the VMD function to be enabled from the management controller, receive the information of the VMD function to be enabled sent by the management controller, and enable the VMD function of the corresponding preset port according to the information of the VMD function to be enabled. Since the enabling policy includes disabling the VMD function, enabling the VMD function, and customarily enabling the VMD function, multiple flexible VMD function enabling configuration options are provided for the user, enabling the user to configure the enabling policy of the VMD function by themselves without relying on the R & D personnel to provide scripts or manually enter the BIOS settings, thereby improving the enabling configuration efficiency of the VMD function and avoiding customer complaints caused by slow response from technical support personnel. Additionally, since the information of the VMD function to be enabled is stored in the user-defined VMD enabling list, the user can store all the port information that needs to enable the VMD function in the VMD enabling list in advance. When the enabling policy is to customarily enable the VMD function, a query command is sent to the management controller to query the information of the VMD function to be enabled from the VMD enabling list of the management controller, and the VMD function of the corresponding preset port is enabled according to the information of the VMD function to be enabled, thereby achieving batch setting, improving the enabling configuration efficiency of the VMD function, effectively reducing the human input, and enhancing the customer experience.
[0079] Based on the above problems, an embodiment of the present application provides a function configuration method, which is applied to a management controller. Combining with the execution process of the function configuration method, the method is described in detail.
[0080] S21. Receive a query command sent by the BIOS.
[0081] Wherein, the query command is used to query the VMD function information to be enabled from the management controller; the VMD function information to be enabled is stored in the VMD enable list.
[0082] Specifically, the management controller receives the query command sent by the BIOS.
[0083] S22. In response to the query command sent by the BIOS, send the VMD function information to be enabled to the BIOS, so that the BIOS can enable the VMD function of the corresponding preset port according to the VMD function information to be enabled.
[0084] Specifically, when the management controller receives the query command, it parses and determines whether the information header is _VMD_. If the information header is _VMD_, a new structure is added to store the parsed information. For example, the structure can be:
[0085] typedef struct{UINT16 Socket;
[0086] UINT16 Port;
[0087] UINT16 Index;
[0088] }VMD_ENABLE_LIST;
[0089] And set the variable VmdEnableList to store the information of the VMD function enabled by the customer. Then, obtain the VMD function information to be returned to the BIOS from the specified location of the non-volatile memory according to the requirements, fill the VMD function information to be enabled into VmdEnableList, and after escaping the information in VmdEnableList, return it to the BIOS according to the specified rules.
[0090] In some embodiments, before performing the above step S21 (receiving the query command sent by the BIOS), the following steps may also be performed:
[0091] 1) In response to the write command input by the user, parse the write command to obtain the first VMD function information to be enabled.
[0092] Among them, the write command is used to write the information that needs to enable the VMD function manually set by the customer into the memory of the management controller, that is, the first VMD function information to be enabled.
[0093] Optionally, the above step 1) (parsing the write command to obtain the first VMD function information to be enabled) can be implemented in the following way:
[0094] Parse the write command and determine whether the information header is a preset character.
[0095] Among them, the preset character can be set according to the actual situation. For example, the preset character can be set to _VMD_.
[0096] If the information header is the preset character, then determine whether the parsed data is valid.
[0097] Specifically, whether the parsed data is valid can be determined according to the following conditions. For example, the maximum number of CPUs of a machine is 8 currently, so Socket is less than 8; the maximum number of PEports is 5, so its quantity is less than 5; the minimum unit of index is 2, so it is restricted to be less than 8.
[0098] If the parsed data is valid, then obtain the first VMD function information to be enabled.
[0099] Specifically, parse the write command, determine whether the information header is a preset character. If the information header is the preset character, then further determine whether the parsed data is valid. If the parsed data is valid, then obtain the first VMD function information to be enabled.
[0100] By determining whether the information header is a preset character, commands that meet the requirements can be quickly screened out, avoiding invalid or incorrect commands from entering the subsequent processing flow, thereby reducing the waste of system resources. Further determining whether the parsed data is valid ensures that only verified data will be processed, avoiding system failures or incorrect operations caused by incorrect data. Only when both the information header and the data meet the requirements will the first VMD function information to be enabled be obtained, enabling the system to quickly locate the valid information that truly needs to be processed.
[0101] 2) Read the VMD enable list from the memory of the management controller.
[0102] 3) Determine whether the first VMD function information to be enabled is stored in the VMD enable list.
[0103] 4) If the first VMD function information to be enabled is not stored in the VMD enable list, then write the first VMD function information to be enabled into the memory of the management controller.
[0104] Specifically, since the VMD enable list in the memory of the management controller stores information about the VMD function that the user has set to be enabled, it is determined whether the first VMD function information to be enabled currently obtained is stored in the VMD enable list. If the first VMD function information to be enabled is not stored in the VMD enable list, the first VMD function information to be enabled is written into the memory of the management controller.
[0105] Exemplarily, when the management controller receives a write command, it parses and determines whether the information header is _VMD_. If the information header is _VMD_, a new structure is added to store the parsed information. For example, the structure can be:
[0106] typedef struct{UINT16 Socket;
[0107] UINT16 Port;
[0108] UINT16 Index;
[0109] }VMD_ENABLE_MESSAGE;
[0110] And a variable VmdEnableMessage is set to store the newly added information for enabling the VMD function. The information of the write command is parsed in sequence, and each field is two bytes (BYTE). The validity of the data is judged according to the actual situation (including Socket less than 8, Port information less than 5, and Index information less than 8). If the data is invalid, return 02 and jump to the end; if the data is valid, assign values to Socket, Port, and Index in sequence, and store the information in VmdEnableMessage; read the information at the specified position in the EEPROM, return the stored number N, and store it in EepromVmdList. Compare the information in VmdEnableMessage with the information in EepromVmdList. If the first VMD function information to be enabled currently obtained already exists, return 01 to indicate the existence of the currently set information; if the first VMD function information to be enabled currently obtained does not exist, write the information in EepromVmdList to the (N + 1)th position and return the information 00 to indicate that the information for enabling the VMD has been successfully stored in the EEPROM.
[0111] In some instances, before performing the above step S21 (receiving the query command sent by the BIOS), the following steps can also be performed:
[0112] In response to the delete command input by the user, the delete command is parsed to obtain the second VMD function information to be enabled.
[0113] Among them, the deletion command is used to delete the information that does not need to enable the VMD function, that is, the second piece of information to be enabled with the VMD function.
[0114] Read the VMD enable list from the memory of the management controller.
[0115] Determine whether the second piece of information to be enabled with the VMD function is stored in the VMD enable list.
[0116] If the second piece of information to be enabled with the VMD function is not stored in the VMD enable list, delete the second piece of information to be enabled with the VMD function from the memory of the management controller.
[0117] Specifically, the management controller responds to the deletion command input by the user, parses the deletion command to obtain the second piece of information to be enabled with the VMD function, reads the VMD enable list from the memory of the management controller, determines whether the second piece of information to be enabled with the VMD function is stored in the VMD enable list, and if the second piece of information to be enabled with the VMD function is not stored in the VMD enable list, deletes the second piece of information to be enabled with the VMD function from the memory of the management controller.
[0118] Exemplarily, when the management controller receives a deletion command, it parses and determines whether the information header is _VMD_. If the information header is _VMD_, a new structure is added to store the parsed information. For example, the structure can be:
[0119] typedef struct{UINT16 Socket;
[0120] UINT16 Port;
[0121] UINT16 Index;
[0122] }VMD_ENABLE_MESSAGE;
[0123] A new variable VmdEnableDelete is added to store the information of enabling the VMD function to be deleted; the information of the IPMI command is parsed in sequence, and each field is two BYTEs, which are Socket, PEport, and Index in turn, and the information is stored in VmdEnableDelete; a new variable VMD_ENABLE_MESSAGE*VmdEnableList is added to store the information of enabling the VMD function that has been set; obtain the information of enabling the VMD function set by the customer from the specified location of the EEPROM as required and fill the returned information into VmdEnableList; poll the information in VmdEnableList to query whether there is information matching VmdEnableDelete. If the match is successful, jump to the next step; otherwise, return the information 05, indicating that there is no information to be deleted; delete the VmdEnableDelete information in VmdEnableList; erase the information area of enabling the VMD function in the EEPROM, rewrite the data in the latest VmdEnableList into the EEPROM and return 00, indicating that the device information has been successfully deleted.
[0124] In the function configuration method provided by the embodiment of the present disclosure, since the information of enabling the VMD function to be enabled is stored in the VMD enable list of the management controller, the user can store all the port information that needs to enable the VMD function in the VMD enable list in advance. When the enabling policy is to customize the enabling of the VMD function, receive the query command sent by the BIOS, and query the information of enabling the VMD function to be enabled from the VMD enable list of the management controller, so that the BIOS can enable the VMD function of the corresponding preset port according to the information of enabling the VMD function to be enabled, thereby realizing batch setting, improving the enabling configuration efficiency of the VMD function, effectively reducing the labor input, and enhancing the customer experience.
[0125] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation.
[0126] The embodiments of the present application also provide a function configuration device 300 and a function configuration device 400, which are applied to different execution entities respectively. The content of the omitted virtual device claims should be described in detail in the specification and correspond to the method claims one by one.
[0127] Figure 3 The structure diagram of a function configuration device 300 provided by the present disclosure is as Figure 3 shown. The device of this embodiment is applied to the basic input / output system BIOS and includes:
[0128] A policy determination module 310, configured to determine an enabling policy for the Volume Management Device (VMD) function during the BIOS startup process in response to an option configuration command input by a user; the enabling policy includes: turning off the VMD function, turning on the VMD function, and customizing the enabling of the VMD function;
[0129] An information query module 320, configured to send a query command to a management controller when the enabling policy for the VMD function is to customize the enabling of the VMD function; the query command is used to query information about the VMD function to be enabled from the management controller; the information about the VMD function to be enabled is stored in a VMD enabling list;
[0130] An information receiving module 330, configured to receive the information about the VMD function to be enabled sent by the management controller;
[0131] A function enabling module 340, configured to enable the VMD function of a corresponding preset port according to the information about the VMD function to be enabled.
[0132] As an optional implementation manner of an embodiment of the present disclosure, the policy determination module 310 is further configured to:
[0133] When the enabling policy for the VMD function is to turn on the VMD function, poll each preset port of each CPU to be enabled to obtain the bandwidth allocation situation of each preset port;
[0134] Determine whether to enable the VMD function of the corresponding preset port according to the bandwidth allocation situation of each preset port.
[0135] As an optional implementation manner of an embodiment of the present disclosure, the VMD enabling list includes preset port indexes of the VMD function to be enabled; the function enabling module 340 is specifically configured to:
[0136] Traverse each preset port index in the VMD enabling list;
[0137] Sequentially determine whether the bandwidth corresponding to each preset port index is a preset bandwidth;
[0138] If the bandwidth corresponding to a target preset port index is the preset bandwidth, enable the VMD function of the target preset port.
[0139] The function configuration device provided by the embodiments of the present disclosure determines the enabling policy of the volume management device (VMD) function during the BIOS startup process in response to an option configuration command input by the user. When the enabling policy is to customize and enable the VMD function, a query command is sent to the management controller. The query command is used to query the VMD function information to be enabled from the management controller. The VMD function information to be enabled is received from the management controller, and based on the VMD function information to be enabled, the VMD function of the corresponding preset port is enabled. Since the enabling policy includes disabling the VMD function, enabling the VMD function, and customizing and enabling the VMD function, multiple flexible VMD function enabling configuration options are provided for the user, enabling the user to configure the enabling policy of the VMD function by themselves without relying on the R & D personnel to provide scripts or manually enter the BIOS settings, thereby improving the enabling configuration efficiency of the VMD function and avoiding customer complaints caused by slow response from technical support personnel. In addition, since the VMD function information to be enabled is stored in the user-defined VMD enabling list, the user can store all the port information for which the VMD function needs to be enabled in the VMD enabling list in advance. When the enabling policy is to customize and enable the VMD function, a query command is sent to the management controller to query the VMD function information to be enabled from the VMD enabling list of the management controller, and based on the VMD function information to be enabled, the VMD function of the corresponding preset port is enabled, thereby achieving batch setting, improving the enabling configuration efficiency of the VMD function, effectively reducing the manpower investment, and enhancing the customer experience.
[0140] Figure 4 FIG. 4 is a schematic structural diagram of a function configuration device 400 provided by the present disclosure, as Figure 4 shown. The device of this embodiment is applied to a management controller and includes:
[0141] A command receiving module 410, configured to receive a query command sent by the BIOS; the query command is used to query the VMD function information to be enabled from the management controller; the VMD function information to be enabled is stored in a VMD enabling list;
[0142] An information sending module 420, configured to send the VMD function information to be enabled to the BIOS in response to the query command sent by the BIOS, so that the BIOS enables the VMD function of the corresponding preset port according to the VMD function information to be enabled.
[0143] As an optional implementation manner of the embodiments of the present disclosure, the device further includes a writing module, and the writing module is configured to:
[0144] Parse the writing command in response to a writing command input by the user, and obtain the first VMD function information to be enabled;
[0145] Read the VMD enable list from the memory of the management controller;
[0146] Determine whether the first VMD function information to be enabled is stored in the VMD enable list;
[0147] If the first VMD function information to be enabled is not stored in the VMD enable list, write the first VMD function information to be enabled into the memory of the management controller.
[0148] As an optional implementation manner of an embodiment of the present disclosure, the device further includes a deletion module, and the deletion module is configured to:
[0149] In response to a deletion command input by a user, parse the deletion command to obtain second VMD function information to be enabled;
[0150] Read the VMD enable list from the memory of the management controller;
[0151] Determine whether the second VMD function information to be enabled is stored in the VMD enable list;
[0152] If the second VMD function information to be enabled is not stored in the VMD enable list, delete the second VMD function information to be enabled from the memory of the management controller.
[0153] For the descriptions of the features in the corresponding embodiments of the function configuration device 300 and the function configuration device 400, reference may be made to the relevant descriptions of the corresponding embodiments of the function configuration method, which will not be elaborated here one by one.
[0154] In the function configuration device provided by the embodiment of the present disclosure, since the VMD function information to be enabled is stored in the VMD enable list of the management controller, the user can store all the port information that needs to enable the VMD function in the VMD enable list in advance. When the enabling policy is to customize the enabling of the VMD function, receive the query command sent by the BIOS, and query the VMD function information to be enabled from the VMD enable list of the management controller, so that the BIOS can enable the VMD function of the corresponding preset port according to the VMD function information to be enabled, thereby realizing batch setting, improving the enabling configuration efficiency of the VMD function, effectively reducing the labor input, and enhancing the customer experience.
[0155] An embodiment of the present application further provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the embodiments of the above function configuration method.
[0156] Embodiments of the present application also provide a computer-readable storage medium storing a computer program, where the computer program is configured to execute the steps in any of the above-described functional configuration method embodiments when running.
[0157] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to, various media capable of storing a computer program, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disc.
[0158] Embodiments of the present application also provide a computer program product, where the computer program product includes a computer program that, when executed by a processor, implements the steps in any of the above-described functional configuration method embodiments.
[0159] Embodiments of the present application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps in any of the above-described functional configuration method embodiments.
[0160] Those skilled in the art can further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described according to their functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present application.
[0161] The above provides a detailed introduction to a functional configuration method provided by the present application. Specific examples are used herein to elaborate on the principle and implementation manner of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.
Claims
1. A function configuration method, characterized in that Applied to the basic input / output system, the method includes: In response to an option configuration command input by the user, determining an enabling policy for the volume management device function during the startup process of the basic input / output system; the enabling policy includes: turning off the volume management device function, turning on the volume management device function, and customizing the turning on of the volume management device function; When the enabling policy for the volume management device function is to customize the turning on of the volume management device function, sending a query command to the management controller; the query command is used to query information about the volume management device function to be turned on from the management controller; the information about the volume management device function to be turned on is stored in the volume management device enabling list; Receiving the information about the volume management device function to be turned on sent by the management controller; According to the information about the volume management device function to be turned on, turning on the volume management device function of the corresponding preset port.
2. The functional configuration method according to claim 1, wherein The determining of the enabling policy for the volume management device function during the startup process of the basic input / output system further includes: When the enabling policy for the volume management device function is to turn on the volume management device function, polling each preset port of each CPU to be turned on to obtain the bandwidth allocation situation of each preset port; According to the bandwidth allocation situation of each preset port, determining whether to turn on the volume management device function of the corresponding preset port.
3. The functional configuration method according to claim 1, wherein, The volume management device enabling list includes the preset port indexes of the volume management device functions to be turned on; the turning on of the volume management device function of the corresponding preset port according to the information about the volume management device function to be turned on includes: Traversing each preset port index in the volume management device enabling list; Sequentially determining whether the bandwidth corresponding to each preset port index is the preset bandwidth; If the bandwidth corresponding to the target preset port index is the preset bandwidth, turning on the volume management device function of the target preset port.
4. A function configuration method, characterized in that, Applied to the management controller, the method includes: Receiving a query command sent by the basic input / output system; the query command is used to query information about the volume management device function to be turned on from the management controller; the information about the volume management device function to be turned on is stored in the volume management device enabling list; In response to the query command sent by the basic input / output system, sending the information about the volume management device function to be turned on to the basic input / output system, so that the basic input / output system turns on the volume management device function of the corresponding preset port according to the information about the volume management device function to be turned on.
5. The functional configuration method according to claim 4, characterized in that Before receiving the query command sent by the basic input / output system, the method further includes: In response to a write command input by the user, parsing the write command to obtain first information about the volume management device function to be turned on; Reading the volume management device enabling list from the memory of the management controller; Determining whether the first information about the volume management device function to be turned on is stored in the volume management device enabling list; If the first information about the volume management device function to be turned on is not stored in the volume management device enabling list, writing the first information about the volume management device function to be turned on into the memory of the management controller.
6. The functional configuration method according to claim 4, wherein The method further includes: In response to a delete command input by the user, parsing the delete command to obtain second information about the volume management device function to be turned on; Read a volume management device enable list from the memory of the management controller; Determine whether the second volume management device function information to be enabled is stored in the volume management device enable list; If the second volume management device function information to be enabled is not stored in the volume management device enable list, delete the second volume management device function information from the memory of the management controller.
7. A function configuration device, characterized in that, Applied to the basic input / output system, the device includes: A policy determination module, configured to determine an enabling policy for the volume management device function during the startup process of the basic input / output system in response to an option configuration command input by a user; the enabling policy includes: turning off the volume management device function, turning on the volume management device function, and customizing the enabling of the volume management device function; An information query module, configured to send a query command to the management controller when the enabling policy for the volume management device function is to customize the enabling of the volume management device function; the query command is used to query the volume management device function information to be enabled from the management controller; the volume management device function information to be enabled is stored in the volume management device enable list; An information receiving module, configured to receive the volume management device function information to be enabled sent by the management controller; A function enabling module, configured to enable the volume management device function of a corresponding preset port according to the volume management device function information to be enabled.
8. A function configuration device, characterized in that, Applied to the management controller, the device includes: A command receiving module, configured to receive a query command sent by the basic input / output system; the query command is used to query the volume management device function information to be enabled from the management controller; the volume management device function information to be enabled is stored in the volume management device enable list; An information sending module, configured to send the volume management device function information to be enabled to the basic input / output system in response to the query command sent by the basic input / output system, so that the basic input / output system enables the volume management device function of a corresponding preset port according to the volume management device function information to be enabled.
9. An electronic device, characterized in that, Includes: A memory, configured to store a computer program; A processor, configured to implement the steps of the function configuration method according to any one of claims 1 to 6 when executing the computer program.
10. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, wherein the computer program implements the steps of the function configuration method according to any one of claims 1 to 6 when executed by a processor.
Citation Information
Cited By
Function configuration method and electronic equipment
CN122450515A
Functional configuration methods and electronic devices
CN122450515B