Function configuration method, computer program product, device and storage medium
Through the multi-level detection scheme and preset function configuration scheme, the problems of inconvenient function configuration and in-position state detection error in the prior art are solved, the precise in-position detection and automated function configuration of the target memory are achieved, and the system reliability and Configuration efficiency.
Patent Information
- Application Number
- CN202411702074.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-11-26
AI Technical Summary
In the functional configuration of the BIOS in the early stage of startup, the existing technology is prone to errors in determining the memory's bit state by relying on bandwidth, and manual configuration is inconvenient, low efficiency, and a single scenario.
Provide a functional configuration method, obtaining the in-position state of the target memory through a multi-level detection scheme, including obtaining the in-position signal through the first target device, the second target device and the topology table, and automatically configuring the target based on the preset functional configuration scheme. Memory interface.
Accurate detection of the in-bit state of the target memory and automatic functional configuration are achieved, improving the reliability and configuration efficiency of the system.
Smart Images

Figure CN119201252B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of function configuration, and in particular to a function configuration method, a computer program product, a device and a storage medium. Background Art
[0002] In the early stage of BIOS (Basic Input Output System) startup, when initializing function configuration, bandwidth is usually relied on to determine whether the target memory is connected to the corresponding interface, the in-place status of the target memory is obtained, and the function configuration of the interface connected to the target memory is performed. However, relying on bandwidth to obtain the in-place status of the target memory is prone to errors. In the prior art, the function configuration of the interface connected to the target memory is usually performed manually by entering the BIOS interface, which is inconvenient and inefficient, and the function configuration scenario is also relatively single. Summary of the invention
[0003] Based on this, it is necessary to provide a function configuration method, computer program product, device and storage medium that can improve system reliability in response to the above technical problems.
[0004] In order to solve the above technical problems, in a first aspect, a function configuration method is provided, which is 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 end of the basic input / output system is respectively connected to a first end of the first target device and a first end of the second target device, and a second end of the first target device and a second end of the second target device are respectively connected to the memory. The function configuration method includes:
[0005] In response to the basic input and output system receiving the function configuration instruction, triggering the target memory presence detection instruction, and determining whether the basic input and output system can obtain a presence signal corresponding to the target memory through the first target device;
[0006] If yes, the basic input and output system determines the in-place state of the target memory based on the in-place signal corresponding to the target memory;
[0007] If not, determining whether the second target device can obtain the presence signal corresponding to the target memory;
[0008] If yes, the second target device analyzes the in-place signal corresponding to the target memory to obtain the in-place state of the target memory, and transmits the in-place state of the target memory to the basic input and output system;
[0009] If not, the basic input and output system obtains a topology table in the storage device, and obtains the in-place state of the target storage according to the topology table, wherein the topology table includes a mapping relationship between an identification code of an interface connected to the storage and a storage type;
[0010] In response to the basic input and output system determining that the target memory is in place, the function configuration instruction is parsed, the function configuration type corresponding to the function configuration instruction is obtained, the preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is functionally configured based on the preset function configuration scheme.
[0011] In one embodiment, determining whether the basic input and output system can obtain the presence signal corresponding to the target memory through the first target device includes:
[0012] Determine whether the basic input and output system can obtain the identifier sent by the first target device, the first target device being a device having a direct data path with the basic input and output system;
[0013] If yes, the basic input and output system obtains a presence signal corresponding to the target memory through the first target device, and determines the presence state of the target memory based on the presence signal corresponding to the target memory.
[0014] In one embodiment, the basic input and output system determines the target memory in-place state based on the in-place signal corresponding to the target memory, including:
[0015] In response to the basic input and output system acquiring a presence signal corresponding to the target memory sent by the first target device, parsing the presence signal corresponding to the target memory to acquire a voltage state of the presence signal corresponding to the target memory;
[0016] If the voltage of the in-place signal corresponding to the target memory is a high-level voltage, the in-place state of the target memory is in-place;
[0017] If the voltage of the in-place signal corresponding to the target memory is a low-level voltage, the in-place state of the target memory is not in-place.
[0018] In one embodiment, determining whether the second target device can obtain the presence signal corresponding to the target memory includes:
[0019] Acquire a second target device, the second target device includes a first sub-target device and a second sub-target device, and the second target device is a device having an indirect data path with a basic input and output system;
[0020] Determine whether the first sub-target device can obtain a presence signal corresponding to the target memory;
[0021] If yes, the first sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system;
[0022] If not, determining whether the second sub-target device can obtain a presence signal corresponding to the target memory;
[0023] If yes, the second sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system.
[0024] In one embodiment, the basic input and output system obtains a topology table in the storage device, and obtains the in-place status of the target storage according to the topology table, including:
[0025] The basic input and output system obtains an identification code of the interface connected to the storage, and obtains a device type from a topology table based on the identification code of the interface connected to the storage;
[0026] Determine whether the acquired device type matches the device type corresponding to the target storage;
[0027] If there is a match, the target memory in-place state is considered to be in-place;
[0028] If there is no match, the target memory is considered to be not in place.
[0029] In one embodiment, the method further comprises:
[0030] In response to the baseboard management controller receiving the target memory in-place status at the current moment and the target memory in-place status at the target moment sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory in-place status at the current moment and the target memory in-place status at the target moment, and updates the change information of the target memory to the storage device.
[0031] In one embodiment, 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 performing function configuration on the interface of the target memory based on the preset function configuration scheme includes:
[0032] The basic input and output system parses the function configuration instruction and obtains the function configuration type corresponding to the function configuration instruction;
[0033] Acquire a preset function configuration scheme pre-stored in a storage device, where the preset function configuration scheme includes function configuration schemes of multiple function configuration types;
[0034] Searching for a preset function configuration scheme matching the function configuration type from the preset function configuration schemes;
[0035] The target memory interface is functionally configured based on a preset functional configuration scheme that matches the functional configuration type.
[0036] In one embodiment, functionally configuring the interface of the target memory based on a preset functional configuration scheme matching the functional configuration type includes:
[0037] The basic input / output system obtains and displays a function configuration page to be processed according to the function configuration type, where the function configuration page to be processed is a configuration page for performing function configuration on an interface of a target memory in the basic input / output system;
[0038] Obtain target specifications in a preset function configuration scheme corresponding to a function configuration type;
[0039] Match the target specification with the function configuration page to be processed, and find the module to be processed on the function configuration page to be processed;
[0040] The modules to be processed are configured according to the target specification.
[0041] In one embodiment, there are multiple function configuration instructions, and after configuring the processing module according to the target specification, the following further includes:
[0042] In response to completing the configuration of the processing module according to the target specification, the basic input and output system determines whether function configuration instructions of other function configuration types are included;
[0043] If yes, execute function configuration instructions of other function configuration types;
[0044] Searching for a preset function configuration scheme matching other function configuration types from the preset function configuration schemes;
[0045] The interface of the target memory is functionally configured based on a preset functional configuration scheme that matches other functional configuration types.
[0046] In one embodiment, configuring the processing module according to the target specification includes:
[0047] Find the target definition and target algorithm corresponding to each module to be processed from the target specification;
[0048] Determine the target adjustment parameters corresponding to each module to be processed based on the target definition and the target algorithm respectively;
[0049] Acquire attribute information of each module to be processed, where the attribute information of the module to be processed includes variable parameter information of the module to be processed and fixed parameter information of the module to be processed;
[0050] The changed parameters of each module to be processed are replaced by the target adjustment parameters corresponding to each module to be processed.
[0051] In one embodiment, replacing the change parameter of each module to be processed with the target adjustment parameter corresponding to each module to be processed includes:
[0052] Obtaining a target function, where the target function is an interface function of a basic input / output system setting interface during a unified extensible firmware interface runtime;
[0053] 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 to be processed.
[0054] In one of the embodiments, before functionally configuring the target memory interface based on a preset functional configuration scheme matching the functional configuration type, the method further includes:
[0055] The basic input and output system obtains the system function configuration state, and the system function configuration state includes an open state and a closed state;
[0056] When the system function configuration state is in the open state, the interface of the target memory is functionally configured based on a preset function configuration scheme matching the function configuration type;
[0057] When the system function configuration status is closed, function configuration of the pending modules on the pending function configuration page is not supported.
[0058] In order to solve the above technical problem, in a second aspect, a computer program product is provided, including a computer program, which implements the steps of the method in the first aspect when executed by a processor.
[0059] In order to solve the above technical problem, a third aspect provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the following steps when executing the computer program: the processor implements the steps of the above first aspect method when executing the computer program.
[0060] In order to solve the above technical problems, in a fourth aspect, the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of the method of the above first aspect are implemented.
[0061] Different from the prior art, the function configuration method in the present application is 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, the first end of the basic input / output system is respectively connected to the first end of the first target device and the first end of the second target device, the second end of the first target device and the second end of the second target device are respectively connected to the memory, the function configuration method includes: in response to the basic input / output system receiving a function configuration instruction, triggering a target memory in-place detection instruction, judging whether the basic input / output system can obtain a corresponding in-place signal of the target memory through the first target device; if so, the basic input / output system determines the in-place state of the target memory based on the corresponding in-place signal of the target memory; if not, judging Whether the second target device can obtain the in-place signal corresponding to the target memory; if so, the second target device parses the in-place signal corresponding to the target memory, obtains the in-place state of the target memory, and transmits the in-place state of the target memory to the basic input and output system; if not, the basic input and output system obtains the topology table in the storage device, and obtains the in-place state of the target memory according to the topology table, and the topology table includes the mapping relationship between the identification code of the interface connected to the memory and the memory type; in response to the basic input and output system determining that the target memory is in place, the function configuration instruction is parsed, the function configuration type corresponding to the function configuration instruction is obtained, the preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is functionally configured based on the preset function configuration scheme. In this way, by adopting a multi-level detection scheme, the in-place state of the target memory can be accurately obtained, and by obtaining the preset function configuration scheme matching the function configuration type, the function configuration is performed based on the preset function configuration scheme, and automatic function configuration can be achieved, thereby improving system reliability. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] Figure 1 A schematic diagram of the structure of a function configuration system in one embodiment;
[0063] Figure 2 A schematic diagram of a flow chart of a function configuration method in an embodiment;
[0064] Figure 3 It is a structural block diagram of a function configuration device in one embodiment;
[0065] Figure 4 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0066] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0067] In UEFI (Unified Extensible Firmware Interface) boot mode, the BIOS Setup interface of the Intel platform provides VMD function control options for each PCIE Port (PCIE interface) under each CPU Socket (central processing unit stack). Each Stack has a bandwidth of X16, and each Port also has VMD function control options, all called IntelVMD Technology. Intel VMD (Volume Management Device) is a deployment solution for next-generation storage. This solution supports hot upgrades and replacements of NVME SSDs from the PCIE bus without shutting down the system, and standardized LED management can help identify SSD status more quickly.
[0068] Of course, various server and other computer product manufacturers can also modify this name. Through this option, you can turn on or off whether the PCIE Port (PCIE interface) supports the VMD function. That is, this is a switch setting option. After selecting to turn it on, the settings related to the VMD function will be configured in the code to support the function. After selecting to turn it off, the function will be turned off.
[0069] After setting the Intel VMD Technology setting item to Enable, you can set a series of VMD-related parameters; when Intel VMD Technology is set to Disable, these parameter items cannot be selected or set, and are displayed in gray; when the Intel VMD Technology setting item on the port connected to the target storage on this Stack is set to Enable, and after saving and restarting, in the VMD initialization configuration stage, the BIOS code will configure the relevant parameters and registers according to the enabling status of Stack VMD and Port VMD, and parse which device has VMD turned on, and will hide the target storage device with VMD function turned on from the OS operating system; Among them, Stack and Port correspond to the CPU PCIE interface and the sub-interface connected to the target storage below, respectively, and have a corresponding relationship with the configured register data. The corresponding target storage sub-Port can be parsed through the register data, that is, the corresponding device.
[0070] At the same time, after detecting that the VMD function is enabled, when a VROC Key (hardware key) is inserted in the machine, it is equivalent to the user obtaining Intel's permission to use the VROC function. The BIOS code will load the VROC function driver file and dynamically generate the Advanced tab in the BIOS Setup (Basic Input and Output System Setup) interface. (An enterprise-class RAID solution) menu, and load the target storage with VMD function turned on to this option, and dynamically generate the option Create RAID to support the use of target storage group RAID; however, when the machine is not inserted with VORC Key, it means that the user does not have the right to use the VROC function, and the BIOS Setup will not generate If the menu is not open, the related functions cannot be used.
[0071] In the prior art, when the BIOS initializes the VMD function at the early stage of machine startup, it cannot directly sense which ports are connected to the target storage, and can only judge based on whether a PE Port / Stack is allocated an X4 bandwidth port, but this is not accurate enough. For example, although a Port is set with an X4 bandwidth, it may be idle and not connected to the target storage; and the manual setting method is not smart enough. Whether each Stack and Port turns on the VMD function and performs related parameter settings are manually set. It is necessary to understand which ports are connected to the target storage device, then start the machine, enter the BIOS Setup interface, make settings, save the settings and restart the machine, and then the function can be realized; the setting scenarios supported by the prior art are relatively simple, with the default setting of closed and manually changed to open, and the usage scenarios are relatively single.
[0072] In one embodiment, the present application provides a function configuration system, which specifically includes a first target device, a second target device, a basic input / output system, and a memory, wherein the first end of the basic input / output system is respectively connected to the first end of the first target device and the second target device, and the second end of the first target device and the second target device is respectively connected to the memory.
[0073] See also Figure 1 , the baseboard management controller (BMC) provides the intelligence in the IPMI architecture. It is a dedicated microcontroller embedded in a computer (usually a server motherboard). The BMC is responsible for managing the interface between the system management software and the platform hardware.
[0074] The controller can be (CPLD, complex programmable logic device) which is a digital integrated circuit with logic functions that users can construct according to their own needs. Its basic design method is to use the integrated development software platform, schematic diagram, hardware description language and other methods to generate the corresponding target file, and transfer the code to the target chip through the download cable ("in-system" programming) to realize the designed digital system.
[0075] The Basic Input Output System is a system that allows the host computer in a computer system to communicate with the outside world. It is mainly used for hardware detection and initialization during computer startup.
[0076] The memory is located on the memory backplane. The memory can be a hard disk device, which is the most important storage device of the computer. The memory of this application can be an NVME disk.
[0077] The first target device may be a hardware method such as an identification signal on a switching device such as a GPIO, (or / and) a Present Pin, (or / and) a memory backplane, etc. The first end of the first target device is connected to the first end of the basic input / output system, and the second end of the first target device is connected to the memory. The basic input / output system can use the first target device to obtain a presence signal of the memory. The present application does not limit the specific type of the first target device. Any device or component that has a direct data path with the basic input / output system can be used as the first target device. The direct data path refers to a method in which the presence signal can be directly sensed by the basic input / output system. Here, perception refers to whether the data can be directly read by the basic input / output system.
[0078] The second target device is a device that has an indirect data path with the basic input and output system; the second target device may include a first sub-target device and a second sub-target device, the first end of the first sub-target device is connected to the first end of the basic input and output system, and the second end of the first sub-target device is connected to the memory; the first end of the second sub-target device is connected to the first end of the basic input and output system, the second end of the second sub-target device is connected to the first end of the basic input and output system, and the second end of the second sub-target device is connected to the memory. The basic input and output system can use the first target device and / or the second sub-target device to obtain the in-place signal of the memory. The first sub-target device in the present application may be a baseboard management controller (BMC), and the second sub-target device may be a complex programmable logic device (CPLD). The second target device of the present application may also include other sub-target devices, as long as the device or component that has an indirect data path with the basic input and output system can be used as a sub-target device.
[0079] The indirect data path here refers to a method in which the basic input and output system can indirectly sense the presence signal, such as the information of the relevant software or firmware that can parse the presence signal corresponding to the target memory. For example, through BMC, CPLD, etc., the signal or data is first obtained, and then transferred to BIOS for analysis, or after BMC, CPLD, etc. obtains the signal or data, analyzes the data, and transmits the analysis result to BIOS, so that BIOS indirectly knows the presence status of the target memory that it wants to know.
[0080] The present application sets up a functional configuration system including a first target device, a second target device, a basic input and output system (BIOS) and a memory. The memory can be connected to multiple devices such as the first target device and the second target device to support multiple ways of obtaining the memory presence signal, thereby realizing the functional configuration method of the multi-level detection scheme included in the present application, which is beneficial to improving the stability of the system.
[0081] In one embodiment, Figure 2 As shown, the present application provides a function configuration method, which specifically includes the following steps:
[0082] Step S10 , in response to the basic input / output system receiving the function configuration instruction, triggering the target memory presence detection instruction, and determining whether the basic input / output system can obtain a presence signal corresponding to the target memory through the first target device.
[0083] Step S11 : if yes, the BIOS determines the target memory presence status based on the presence signal corresponding to the target memory.
[0084] Step S12: If not, determine whether the second target device can obtain the presence signal corresponding to the target memory.
[0085] Before executing a function configuration instruction on the interface of the target memory, it is necessary to determine the in-place status of the target memory, and to perform function configuration on the interface of the target memory whose in-place status is in-place. The target memory of the present application may be an NVME memory.
[0086] It can be determined first whether the basic input / output system can obtain the in-place signal corresponding to the target memory through the first target device. Specifically, it can be determined first whether the basic input / output system can obtain the identification sent by the first target device, and the first target device is a device with a direct data path to the basic input / output system. If it can, the basic input / output system obtains the in-place signal corresponding to the target memory through the first target device, and determines the in-place state of the target memory based on the in-place signal corresponding to the target memory. Exemplarily, the identification is directly given to the basic input / output system through hardware methods such as GPIO, (or / and) Present Pin, (or / and) identification signals on adapter devices such as memory backplanes, so that the BIOS reads the high and low level states of certain / some signals, which can correspond to which port / ports are designed to connect to the target memory and whether the target memory is in place; if the hardware does not have an in-place signal directly read by the basic input / output system, it cannot be directly read by the BIOS. If 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 and output system. The basic input and output system can directly obtain the presence signal corresponding to the target memory, and the basic input and output system obtains the presence status of the target memory based on the presence signal.
[0087] Specifically, in response to the basic input and output system obtaining the in-place signal corresponding to the target memory sent by the first target device, the in-place signal corresponding to the target memory is parsed to obtain the voltage state of the in-place signal corresponding to the target memory; if the voltage of the in-place signal corresponding to the target memory is a high-level voltage, then the in-place state of the target memory is in-place; if the voltage of the in-place signal corresponding to the target memory is a low-level voltage, then the in-place state of the target memory is not in-place.
[0088] If 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.
[0089] Step S13: If yes, the second target device analyzes the in-place signal corresponding to the target memory to obtain the in-place status of the target memory, and transmits the in-place status of the target memory to the basic input and output system.
[0090] Specifically, if the second target device can obtain the in-place signal corresponding to the target memory, the second target device is used to parse the in-place signal corresponding to the target memory to obtain the in-place state of the target memory, and transmit the in-place state of the target memory to the basic input and output system.
[0091] Specifically, determining whether the second target device can obtain the presence signal corresponding to the target memory includes: determining whether the first sub-target device can obtain the presence signal corresponding to the target memory; if so, the first sub-device parses the presence signal corresponding to the target memory, obtains a parsing result, and transmits the parsing result to the basic input and output system; if not, determining whether the second sub-target device can obtain the presence signal corresponding to the target memory; if so, the second sub-device parses the presence signal corresponding to the target memory, obtains a parsing result, and transmits the parsing result to the basic input and output system.
[0092] First, determine whether the first sub-target device can obtain the in-place signal corresponding to the target memory. If so, the first sub-target device parses the in-place signal of the target memory to obtain the in-place state of the target memory, and then transmits the in-place state of the target memory to the basic input and output system. If the first sub-target device cannot obtain the in-place signal corresponding to the target memory, determine whether the second sub-target device can obtain the in-place signal corresponding to the target memory. If the second sub-target device can obtain the in-place signal corresponding to the target memory, the second sub-target device parses the in-place signal corresponding to the target memory to obtain the in-place state of the target memory, and then transmits the in-place state of the target memory to the basic input and output system.
[0093] Step S14: If not, the basic input and output system obtains a topology table in the storage device, and obtains the in-place status of the target memory according to the topology table, wherein the topology table includes a mapping relationship between an identification code of an interface connected to the memory and a memory type.
[0094] Specifically, the interface connected to the memory may be a PCIE interface, the basic input / output system obtains the interface representation code of the PCIE interface, obtains the device type of the device connected to the PCIE interface from the topology table based on the identification code of the PCIE interface, and determines whether the acquired device type matches the device type corresponding to the target memory; if it matches, the target memory is considered to be in-place; if it does not match, the target memory is considered to be out-of-place. Exemplarily, it may be in the form of a predefined topology table, and the topology table is stored in a data storage structure, which may be a storage unit or a storage chip, so that when the basic input / output system reads the corresponding data, it can parse what devices are on the machine according to the predefined data structure definition, and thus know which interface / interfaces are designed to connect to the target memory and whether the target memory is in-place.
[0095] It can be understood that the 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, as long as it can meet the needs, the device identification code can be the digital identification code of the interface of the target memory, for example, it is stipulated that the first Byte represents the device connected to the CPU0 PCIE interface, different numbers represent different connected devices, or the number of devices, and so on.
[0096] In the present application, by pre-defining the form of a data table, the presence status of the target memory can be obtained when the target memory presence signal cannot be directly or indirectly obtained, which further enriches the technical means for detecting the presence status of the target memory, and the obtained target memory presence status is more accurate.
[0097] In one embodiment, the present application also includes, in response to the baseboard management controller receiving the target memory in-place status at the current moment and the target memory in-place status at the target moment sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory in-place status at the current moment and the target memory in-place status at the target moment, and updates the change information of the target memory to the storage device.
[0098] Specifically, by obtaining the change information of the target memory based on the target memory in-place status at the current moment and the target memory in-place status at the target moment, it can be determined whether the target memory in-place status has changed within the time range of the current moment and the target moment. If it has changed, it is necessary to obtain the latest target memory in-place status. The above-mentioned read-write memory chip or software storage unit method can be used to update the data area of whether the device is in place in the data definition according to the change of the hardware signal identifying the in-place status caused by adding or deleting a disk. For example, if a disk is unplugged, the in-place signal will change from 1 to 0, and the bit representing the in-place status of that device in the defined data will also be written from 1 to 0.
[0099] Step S15: In response to the basic input and output system determining that the target memory is in place, the function configuration instruction is parsed, the function configuration type corresponding to the function configuration instruction is obtained, the preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is functionally configured based on the preset function configuration scheme.
[0100] After the in-place status of the target memory is obtained, the interface corresponding to the target memory whose in-place status is in-place may be functionally configured, specifically:
[0101] The basic input / output system parses the function configuration instruction to obtain the function configuration type corresponding to the function configuration instruction; obtains a preset function configuration scheme pre-stored in a storage device, the preset function configuration scheme includes function configuration schemes of multiple function configuration types; searches for a preset function configuration scheme that matches the function configuration type from the preset function configuration schemes; and functionally configures the target memory interface based on the preset function configuration scheme that matches the function configuration type.
[0102] In the present application, by obtaining the function configuration type corresponding to the function configuration instruction and obtaining the corresponding preset system function matching plan according to the function configuration type, the accuracy of the function configuration can be improved and the automatic setting of the function configuration can be realized.
[0103] In one embodiment, functional configuration of the interface of the target memory based on a preset functional configuration scheme that matches the functional configuration type includes: a basic input / output system obtains a function configuration page to be processed that is displayed according to the functional configuration type, and the function configuration page to be processed is a configuration page for functionally configuring the interface of the target memory in the basic input / output system; obtains a target specification in a preset functional configuration scheme corresponding to the functional configuration type; matches the target specification with the function configuration page to be processed, and searches for a module to be processed on the function configuration page to be processed; and configures the module to be processed according to the target specification.
[0104] Specifically, the target specification can be the standard state of the function module on the pending function configuration page corresponding to the preset function configuration type. When the current state of any function module on the pending function configuration page is inconsistent with the standard state of the function module recorded on the target specification, the function module needs to be adjusted and the function module is used as the pending module.
[0105] The target definition and target algorithm corresponding to each module to be processed can be found from the target specification; the target adjustment parameters corresponding to each module to be processed are determined based on the target definition and the target algorithm respectively; the attribute information of each module to be processed is obtained, and the attribute information of the module to be processed includes the variable parameter information of the module to be processed and the fixed parameter information of the module to be processed; and the variable parameters of each module to be processed are replaced with the target adjustment parameters corresponding to each module to be processed.
[0106] For example, any module to be processed is defined to have two states, open and closed. The state of the function module displayed on the function configuration page to be processed is closed, but the standard state of the module to be processed in the target specification is open. Subsequently, the module to be processed is adjusted according to the standard state of the module to be processed recorded in the target specification. When the parameters of any function module need to be calculated and then configured, the target algorithm corresponding to the function module is found in the target specification, and calculations are performed according to the target algorithm. The module to be processed is adjusted according to the calculation results.
[0107] The variable parameters of the module to be processed may refer to the parameters that need to be configured in the module to be processed, and the fixed parameters of the module to be processed may refer to the parameters that do not need to be configured in the module to be processed. For example, a module to be processed is "A size: S", taking A as the parameter type, then "A size: S" represents that the size of the A parameter is S, where "A size:" is the fixed parameter of the module to be processed, and "S" is the variable parameter of the module to be processed. In this application, by further dividing the module to be processed into fixed parameters and configuration parameters, the module to be processed can be configured more accurately.
[0108] Wherein, replacing the change parameters of each module to be processed with the target adjustment parameters corresponding to each module to be processed includes: obtaining a target function, the target function being an interface function of the unified extensible firmware interface runtime of the basic input / output system setting interface; calling the target function to automatically replace the change parameters of each module to be processed with the target adjustment parameters corresponding to each module to be processed. The target function may be the SetVariable (parameter setting) API function provided by the UEFI specification, and the target adjustment parameters are set to the corresponding positions by calling the target function, so that manual settings are no longer required, and automatic configuration is realized.
[0109] In one embodiment, there are multiple function configuration instructions, and after configuring the processing module according to the target specification, it also includes: in response to completing the configuration of the processing module according to the target specification, the basic input and output system determines whether function configuration instructions of other function configuration types are included; if so, executes the function configuration instructions of other function configuration types; searches for preset function configuration schemes that match other function configuration types from the preset function configuration schemes; and functionally configures the interface of the target memory based on the preset function configuration schemes that match other function configuration types.
[0110] The present application may have multiple function configuration types and multiple function configuration instructions. After completing a function configuration instruction, it can be determined whether function configuration instructions of other function configuration types are included; if included, the function configuration instructions of other function configuration types are executed; preset function configuration schemes matching other function configuration types are searched from preset function configuration schemes; and function configuration is performed based on preset function configuration schemes matching other function configuration types. In this way, not only the automatic function configuration of the target memory interface is realized, but also the automatic conversion schemes of multiple function configuration types are realized, and function configuration is performed based on the converted schemes.
[0111] This application can not only obtain the real-time and accurate status of the target memory in place and the port where the target memory is located, but also design the function configuration of the target memory, that is, configure the target memory system function (implementation mode) to achieve the corresponding function. Among them, the mode switching setting option is still designed to be implemented in the menu provided by the BIOS Setup:
[0112] In the present application, before the target memory interface is functionally configured based on a preset functional configuration scheme that matches the functional configuration type, the following also includes: the basic input and output system obtains the system functional configuration status, and the system functional configuration status includes an open state and a closed state; when the system functional configuration status is an open state, the interface of the target memory is functionally configured based on a preset functional configuration scheme that matches the functional configuration type; when the system functional configuration status is a closed state, functional configuration of the to-be-processed module of the to-be-processed functional configuration page is not supported.
[0113] In a specific implementation, the functional configuration types of the present application may include Manual type, VMD mode, Auto mode, etc. The functional configuration type may be set according to the target memory Mode Selecting function, and the preset functional configuration scheme may include Manual configuration scheme, VMD configuration scheme, and Auto configuration scheme.
[0114] Among them, Manual allows users to manually set the functional support they need; VMD mode corresponds to the absence of VROC Key (a special hardware key used to activate the NVMe RAID function of Intel VROC, allowing users to use software to manage the NVMe disk for Raid), and the Raid function it provides cannot be used, but users still need to support functions such as lighting, hot plugging, and operating failure errors. The VMD mode can be set to only perform VMD functions and parameter settings regardless of whether VROCKey exists on the machine, and VROC Raid function is not enabled; VMD functions and parameters are set in VROC mode, and VORC Raid function is enabled when VORC Key exists.
[0115] The Auto mode determines whether the VROC Key is in place based on the hardware signal, and decides whether to enable VMD and set parameters, without the need for manual settings by the user.
[0116] When VMD is set to Disable state, the parameters are grayed out and cannot be set.
[0117] When VMD is set to Enable, the corresponding device configuration space register is accessed according to the algorithm defined in the specification, data is obtained for calculation, the required specific parameters are obtained, and then settings are performed. There are two types of settings here: manual setting and automatic setting.
[0118] The implementation method of automatic setting is: in the BIOS function code, for devices that support VMD, follow the algorithm defined in the specification to obtain the required parameter settings, such as resource type and size, and then set the corresponding parameters to the corresponding setting items through the objective function, so that manual setting is no longer required.
[0119] In a specific implementation, a schematic diagram of the VMD function and parameter implementation of the current BIOS is as follows:
[0120] The following parameters can be set, for example:
[0121] Intel VMD Technology (UEFI mode display)
[0122] Intel VMD technology related settings submenu, switch settings of VMD on each PStack of each CPU.
[0123] CfgBar Size: Configure the size of the Bar.
[0124] CfgBar Attribute: Configure the properties of Bar.
[0125] MemBar Size and Attribute represent the size and attributes of the memory bar respectively.
[0126] 64-bit prefetchable and 32-bit non-prefetchable refer to two attributes, 64-bit prefetchable and 32-bit non-prefetchable.
[0127] VMD for Direct Assign: Intel VMD Direct Assign is a new use case supported by the Intel VMD driver value chain that improves storage performance in HCI architectures.
[0128] In addition, these three scenarios include but are not limited to the following situations. If there are other reasonable scenario summaries, they can also be adjusted and implemented using the solution in the present invention, thus enriching the support scenarios of VMD and VROC functions.
[0129] In one embodiment, the present application further includes determining whether the target storage connected to the interface is a legal device; if it is a legal device, detecting and determining the connection status of the target storage. Among them, obtaining a label corresponding to the target storage, matching the label corresponding to the target storage with a label in a preset legal library, obtaining a matching result; and determining whether the target storage is a legal device based on the matching result.
[0130] By judging the legality of the target memory, only a legal target memory can detect and judge the connection status after connecting to the target memory interface, thereby controlling the switch of the VMD function. Judging the legal target memory can be to determine whether it is a legal target memory by the IP, label, target memory access time, etc. of the target memory. For example, to judge whether the IP of the target memory connected to the interface is the IP of the legal target memory, it can be specifically compared with each legal IP in the preset legal IP table. If the comparison is successful, it is the legal IP of the legal target memory. Further, judging whether the target memory connected to the interface is a legal target memory includes: matching the label of the target memory with the label in the preset legal library to obtain a matching result; determining whether the target memory is a legal target memory according to the matching result. Specifically, the label of the target memory is X, and the labels in the preset legal library include X1, X2, X3, and X4. If X successfully matches the label X1 in the preset legal library, the target memory is determined to be a legal target memory; if X fails to match the labels in the preset legal library, the target memory is determined to be an illegal target memory. In this way, security can be improved.
[0131] In this application, if the in-place signal is obtained through GPIO or other forms or the relationship is pre-defined in the topology table, and for example, the signal or data is first obtained through BMC, CPLD, etc., and then transferred to BIOS for analysis, it mainly enriches the dimension of detecting the in-place model, and can effectively solve the problem that computer products such as servers cannot accurately identify the in-place status of the target memory. In the past, it relied on the x4 bandwidth setting to make an approximate judgment, but there was no way to judge whether the port set to x4 bandwidth is actually connected to the target memory, and it cannot be perceived if it is unplugged. At the same time, it also enriches the support scenarios of VMD and VROC functions, and designs and implements BIOS function switching options to support it, which is an improvement and development of general functions.
[0132] It should be understood that although Figure 2 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 2 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed 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 executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0133] In one embodiment, Figure 3 As shown, a function configuration device is provided, including: a judgment module 20 and a configuration module 21, wherein:
[0134] The judgment module 20 is used to trigger the target memory presence detection instruction in response to the basic input and output system receiving the function configuration instruction, and judge whether the basic input and output system can obtain the presence signal corresponding to the target memory through the first target device; if so, the basic input and output system determines the target memory presence state based on the presence signal corresponding to the target memory; if not, judge whether the second target device can obtain the presence signal corresponding to the target memory; if so, the second target device parses the presence signal corresponding to the target memory, obtains the target memory presence state, and transmits the target memory presence state to the basic input and output system; if not, the basic input and output system obtains the topology table in the storage device, and obtains the target memory presence state according to the topology table, the topology table including the mapping relationship between the identification code of the interface connected to the memory and the memory type.
[0135] The configuration module 21 is used to parse the function configuration instruction in response to the basic input and 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 matching the function configuration type, and perform function configuration on the interface of the target memory based on the preset function configuration scheme.
[0136] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0137] Determining whether the basic input and output system can obtain the presence signal corresponding to the target memory through the first target device includes:
[0138] Determine whether the basic input and output system can obtain the identifier sent by the first target device, the first target device being a device having a direct data path with the basic input and output system;
[0139] If yes, the basic input and output system obtains a presence signal corresponding to the target memory through the first target device, and determines the presence state of the target memory based on the presence signal corresponding to the target memory.
[0140] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0141] The basic input and output system determines the in-place state of the target memory based on the in-place signal corresponding to the target memory, including:
[0142] In response to the basic input and output system acquiring a presence signal corresponding to the target memory sent by the first target device, parsing the presence signal corresponding to the target memory to acquire a voltage state of the presence signal corresponding to the target memory;
[0143] If the voltage of the in-place signal corresponding to the target memory is a high-level voltage, the in-place state of the target memory is in-place;
[0144] If the voltage of the in-place signal corresponding to the target memory is a low-level voltage, the in-place state of the target memory is not in-place.
[0145] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0146] Determining whether the second target device can obtain the presence signal corresponding to the target memory includes:
[0147] Acquire a second target device, the second target device includes a first sub-target device and a second sub-target device, and the second target device is a device having an indirect data path with a basic input and output system;
[0148] Determine whether the first sub-target device can obtain a presence signal corresponding to the target memory;
[0149] If yes, the first sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system;
[0150] If not, determining whether the second sub-target device can obtain a presence signal corresponding to the target memory;
[0151] If yes, the second sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system.
[0152] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0153] The basic input and output system obtains a topology table in the storage device, and obtains the in-place status of the target storage according to the topology table, including:
[0154] The basic input and output system obtains an identification code of the interface connected to the storage, and obtains a device type from a topology table based on the identification code of the interface connected to the storage;
[0155] Determine whether the acquired device type matches the device type corresponding to the target storage;
[0156] If there is a match, the target memory in-place state is considered to be in-place;
[0157] If there is no match, the target memory is considered to be not in place.
[0158] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0159] The method also includes:
[0160] In response to the baseboard management controller receiving the target memory in-place status at the current moment and the target memory in-place status at the target moment sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory in-place status at the current moment and the target memory in-place status at the target moment, and updates the change information of the target memory to the storage device.
[0161] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0162] 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 performing function configuration on the interface of the target memory based on the preset function configuration scheme includes:
[0163] The basic input and output system parses the function configuration instruction and obtains the function configuration type corresponding to the function configuration instruction;
[0164] Acquire a preset function configuration scheme pre-stored in a storage device, where the preset function configuration scheme includes function configuration schemes of multiple function configuration types;
[0165] Searching for a preset function configuration scheme matching the function configuration type from the preset function configuration schemes;
[0166] The target memory interface is functionally configured based on a preset functional configuration scheme that matches the functional configuration type.
[0167] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0168] Functionally configuring the interface of the target memory based on a preset function configuration scheme matching the function configuration type includes:
[0169] The basic input / output system obtains and displays a function configuration page to be processed according to the function configuration type, where the function configuration page to be processed is a configuration page for performing function configuration on an interface of a target memory in the basic input / output system;
[0170] Obtain target specifications in a preset function configuration scheme corresponding to a function configuration type;
[0171] Match the target specification with the function configuration page to be processed, and find the module to be processed on the function configuration page to be processed;
[0172] The modules to be processed are configured according to the target specification.
[0173] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0174] There are multiple function configuration instructions, which include:
[0175] In response to completing the configuration of the processing module according to the target specification, the basic input and output system determines whether function configuration instructions of other function configuration types are included;
[0176] If yes, execute function configuration instructions of other function configuration types;
[0177] Searching for a preset function configuration scheme matching other function configuration types from the preset function configuration schemes;
[0178] The interface of the target memory is functionally configured based on a preset functional configuration scheme that matches other functional configuration types.
[0179] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0180] Configuring the modules to be processed according to the target specification includes:
[0181] Find the target definition and target algorithm corresponding to each module to be processed from the target specification;
[0182] Determine the target adjustment parameters corresponding to each module to be processed based on the target definition and the target algorithm respectively;
[0183] Acquire attribute information of each module to be processed, where the attribute information of the module to be processed includes variable parameter information of the module to be processed and fixed parameter information of the module to be processed;
[0184] The changed parameters of each module to be processed are replaced by the target adjustment parameters corresponding to each module to be processed.
[0185] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0186] Replacing the change parameters of each module to be processed with the target adjustment parameters corresponding to each module to be processed includes:
[0187] Obtaining a target function, where the target function is an interface function of a basic input / output system setting interface during a unified extensible firmware interface runtime;
[0188] 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 to be processed.
[0189] In one embodiment, the above device can implement another implementation of the function configuration method, and the specific steps are as follows:
[0190] Before functionally configuring the target memory interface based on a preset functional configuration scheme matching the functional configuration type, the method further includes:
[0191] The basic input and output system obtains the system function configuration state, and the system function configuration state includes an open state and a closed state;
[0192] When the system function configuration state is in the open state, the interface of the target memory is functionally configured based on a preset function configuration scheme matching the function configuration type;
[0193] When the system function configuration status is closed, function configuration of the pending modules on the pending function configuration page is not supported.
[0194] For the specific definition of the function configuration device, please refer to the definition of the function configuration method above, which will not be repeated here. Each module in the above function configuration device can be implemented in whole or in part by software, hardware and a combination thereof. The above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0195] In one embodiment, the present application also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the functional configuration methods provided by the above methods.
[0196] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 4 As shown. The computer device includes a processor, a memory, a network interface and a database connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data used in the function configuration method. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a function configuration method is implemented.
[0197] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0198] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the following steps when executing the computer program:
[0199] Step S10 , in response to the basic input / output system receiving the function configuration instruction, triggering the target memory presence detection instruction, and determining whether the basic input / output system can obtain a presence signal corresponding to the target memory through the first target device.
[0200] Step S11 : if yes, the BIOS determines the target memory presence status based on the presence signal corresponding to the target memory.
[0201] Step S12: If not, determine whether the second target device can obtain the presence signal corresponding to the target memory.
[0202] Step S13: If yes, the second target device analyzes the in-place signal corresponding to the target memory to obtain the in-place status of the target memory, and transmits the in-place status of the target memory to the basic input and output system.
[0203] Step S14: If not, the basic input and output system obtains a topology table in the storage device, and obtains the in-place status of the target memory according to the topology table, wherein the topology table includes a mapping relationship between an identification code of an interface connected to the memory and a memory type.
[0204] Step S15: In response to the basic input and output system determining that the target memory is in place, the function configuration instruction is parsed, the function configuration type corresponding to the function configuration instruction is obtained, the preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is functionally configured based on the preset function configuration scheme.
[0205] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0206] Determining whether the basic input and output system can obtain the presence signal corresponding to the target memory through the first target device includes:
[0207] Determine whether the basic input and output system can obtain the identifier sent by the first target device, the first target device being a device having a direct data path with the basic input and output system;
[0208] If yes, the basic input and output system obtains a presence signal corresponding to the target memory through the first target device, and determines the presence state of the target memory based on the presence signal corresponding to the target memory.
[0209] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0210] The basic input and output system determines the in-place state of the target memory based on the in-place signal corresponding to the target memory, including:
[0211] In response to the basic input and output system acquiring a presence signal corresponding to the target memory sent by the first target device, parsing the presence signal corresponding to the target memory to acquire a voltage state of the presence signal corresponding to the target memory;
[0212] If the voltage of the in-place signal corresponding to the target memory is a high-level voltage, the in-place state of the target memory is in-place;
[0213] If the voltage of the in-place signal corresponding to the target memory is a low-level voltage, the in-place state of the target memory is not in-place.
[0214] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0215] Determining whether the second target device can obtain the presence signal corresponding to the target memory includes:
[0216] Acquire a second target device, the second target device includes a first sub-target device and a second sub-target device, and the second target device is a device having an indirect data path with a basic input and output system;
[0217] Determine whether the first sub-target device can obtain a presence signal corresponding to the target memory;
[0218] If yes, the first sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system;
[0219] If not, determining whether the second sub-target device can obtain a presence signal corresponding to the target memory;
[0220] If yes, the second sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system.
[0221] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0222] The basic input and output system obtains a topology table in the storage device, and obtains the in-place status of the target storage according to the topology table, including:
[0223] The basic input and output system obtains an identification code of the interface connected to the storage, and obtains a device type from a topology table based on the identification code of the interface connected to the storage;
[0224] Determine whether the acquired device type matches the device type corresponding to the target storage;
[0225] If there is a match, the target memory in-place state is considered to be in-place;
[0226] If there is no match, the target memory is considered to be not in place.
[0227] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0228] The method also includes:
[0229] In response to the baseboard management controller receiving the target memory in-place status at the current moment and the target memory in-place status at the target moment sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory in-place status at the current moment and the target memory in-place status at the target moment, and updates the change information of the target memory to the storage device.
[0230] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0231] 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 performing function configuration on the interface of the target memory based on the preset function configuration scheme includes:
[0232] The basic input and output system parses the function configuration instruction and obtains the function configuration type corresponding to the function configuration instruction;
[0233] Acquire a preset function configuration scheme pre-stored in a storage device, where the preset function configuration scheme includes function configuration schemes of multiple function configuration types;
[0234] Searching for a preset function configuration scheme matching the function configuration type from the preset function configuration schemes;
[0235] The target memory interface is functionally configured based on a preset functional configuration scheme that matches the functional configuration type.
[0236] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0237] Functionally configuring the interface of the target memory based on a preset function configuration scheme matching the function configuration type includes:
[0238] The basic input / output system obtains and displays a function configuration page to be processed according to the function configuration type, where the function configuration page to be processed is a configuration page for performing function configuration on an interface of a target memory in the basic input / output system;
[0239] Obtain target specifications in a preset function configuration scheme corresponding to a function configuration type;
[0240] Match the target specification with the function configuration page to be processed, and find the module to be processed on the function configuration page to be processed;
[0241] The modules to be processed are configured according to the target specification.
[0242] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0243] There are multiple function configuration instructions, which include:
[0244] In response to completing the configuration of the processing module according to the target specification, the basic input and output system determines whether function configuration instructions of other function configuration types are included;
[0245] If yes, execute function configuration instructions of other function configuration types;
[0246] Searching for a preset function configuration scheme matching other function configuration types from the preset function configuration schemes;
[0247] The interface of the target memory is functionally configured based on a preset functional configuration scheme that matches other functional configuration types.
[0248] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0249] Configuring the modules to be processed according to the target specification includes:
[0250] Find the target definition and target algorithm corresponding to each module to be processed from the target specification;
[0251] Determine the target adjustment parameters corresponding to each module to be processed based on the target definition and the target algorithm respectively;
[0252] Acquire attribute information of each module to be processed, where the attribute information of the module to be processed includes variable parameter information of the module to be processed and fixed parameter information of the module to be processed;
[0253] The changed parameters of each module to be processed are replaced by the target adjustment parameters corresponding to each module to be processed.
[0254] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0255] Replacing the change parameters of each module to be processed with the target adjustment parameters corresponding to each module to be processed includes:
[0256] Obtaining a target function, where the target function is an interface function of a basic input / output system setting interface during a unified extensible firmware interface runtime;
[0257] 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 to be processed.
[0258] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0259] Before functionally configuring the target memory interface based on a preset functional configuration scheme matching the functional configuration type, the method further includes:
[0260] The basic input and output system obtains the system function configuration state, and the system function configuration state includes an open state and a closed state;
[0261] When the system function configuration state is in the open state, the interface of the target memory is functionally configured based on a preset function configuration scheme matching the function configuration type;
[0262] When the system function configuration status is closed, function configuration of the pending modules on the pending function configuration page is not supported.
[0263] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0264] Step S10 , in response to the basic input / output system receiving the function configuration instruction, triggering the target memory presence detection instruction, and determining whether the basic input / output system can obtain a presence signal corresponding to the target memory through the first target device.
[0265] Step S11 : if yes, the BIOS determines the target memory presence status based on the presence signal corresponding to the target memory.
[0266] Step S12: If not, determine whether the second target device can obtain the presence signal corresponding to the target memory.
[0267] Step S13: If yes, the second target device analyzes the in-place signal corresponding to the target memory to obtain the in-place status of the target memory, and transmits the in-place status of the target memory to the basic input and output system.
[0268] Step S14: If not, the basic input and output system obtains a topology table in the storage device, and obtains the in-place status of the target memory according to the topology table, wherein the topology table includes a mapping relationship between an identification code of an interface connected to the memory and a memory type.
[0269] Step S15: In response to the basic input and output system determining that the target memory is in place, the function configuration instruction is parsed, the function configuration type corresponding to the function configuration instruction is obtained, the preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is functionally configured based on the preset function configuration scheme.
[0270] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0271] Determining whether the basic input and output system can obtain the presence signal corresponding to the target memory through the first target device includes:
[0272] Determine whether the basic input and output system can obtain the identifier sent by the first target device, the first target device being a device having a direct data path with the basic input and output system;
[0273] If yes, the basic input and output system obtains a presence signal corresponding to the target memory through the first target device, and determines the presence state of the target memory based on the presence signal corresponding to the target memory.
[0274] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0275] The basic input and output system determines the in-place state of the target memory based on the in-place signal corresponding to the target memory, including:
[0276] In response to the basic input and output system acquiring a presence signal corresponding to the target memory sent by the first target device, parsing the presence signal corresponding to the target memory to acquire a voltage state of the presence signal corresponding to the target memory;
[0277] If the voltage of the in-place signal corresponding to the target memory is a high-level voltage, the in-place state of the target memory is in-place;
[0278] If the voltage of the in-place signal corresponding to the target memory is a low-level voltage, the in-place state of the target memory is not in-place.
[0279] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0280] Determining whether the second target device can obtain the presence signal corresponding to the target memory includes:
[0281] Acquire a second target device, the second target device includes a first sub-target device and a second sub-target device, and the second target device is a device having an indirect data path with a basic input and output system;
[0282] Determine whether the first sub-target device can obtain a presence signal corresponding to the target memory;
[0283] If yes, the first sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system;
[0284] If not, determining whether the second sub-target device can obtain a presence signal corresponding to the target memory;
[0285] If yes, the second sub-device analyzes the presence signal corresponding to the target memory, obtains an analysis result, and transmits the analysis result to the basic input and output system.
[0286] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0287] The basic input and output system obtains a topology table in the storage device, and obtains the in-place status of the target storage according to the topology table, including:
[0288] The basic input and output system obtains an identification code of the interface connected to the storage, and obtains a device type from a topology table based on the identification code of the interface connected to the storage;
[0289] Determine whether the acquired device type matches the device type corresponding to the target storage;
[0290] If there is a match, the target memory in-place state is considered to be in-place;
[0291] If there is no match, the target memory is considered to be not in place.
[0292] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0293] The method also includes:
[0294] In response to the baseboard management controller receiving the target memory in-place status at the current moment and the target memory in-place status at the target moment sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory in-place status at the current moment and the target memory in-place status at the target moment, and updates the change information of the target memory to the storage device.
[0295] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0296] 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 performing function configuration on the interface of the target memory based on the preset function configuration scheme includes:
[0297] The basic input and output system parses the function configuration instruction and obtains the function configuration type corresponding to the function configuration instruction;
[0298] Acquire a preset function configuration scheme pre-stored in a storage device, where the preset function configuration scheme includes function configuration schemes of multiple function configuration types;
[0299] Searching for a preset function configuration scheme matching the function configuration type from the preset function configuration schemes;
[0300] The target memory interface is functionally configured based on a preset functional configuration scheme that matches the functional configuration type.
[0301] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0302] Functionally configuring the interface of the target memory based on a preset function configuration scheme matching the function configuration type includes:
[0303] The basic input / output system obtains and displays a function configuration page to be processed according to the function configuration type, where the function configuration page to be processed is a configuration page for performing function configuration on an interface of a target memory in the basic input / output system;
[0304] Obtain target specifications in a preset function configuration scheme corresponding to a function configuration type;
[0305] Match the target specification with the function configuration page to be processed, and find the module to be processed on the function configuration page to be processed;
[0306] The modules to be processed are configured according to the target specification.
[0307] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0308] There are multiple function configuration instructions, which include:
[0309] In response to completing the configuration of the processing module according to the target specification, the basic input and output system determines whether function configuration instructions of other function configuration types are included;
[0310] If yes, execute function configuration instructions of other function configuration types;
[0311] Searching for a preset function configuration scheme matching other function configuration types from the preset function configuration schemes;
[0312] The interface of the target memory is functionally configured based on a preset functional configuration scheme that matches other functional configuration types.
[0313] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0314] Configuring the modules to be processed according to the target specification includes:
[0315] Find the target definition and target algorithm corresponding to each module to be processed from the target specification;
[0316] Determine the target adjustment parameters corresponding to each module to be processed based on the target definition and the target algorithm respectively;
[0317] Acquire attribute information of each module to be processed, where the attribute information of the module to be processed includes variable parameter information of the module to be processed and fixed parameter information of the module to be processed;
[0318] The changed parameters of each module to be processed are replaced by the target adjustment parameters corresponding to each module to be processed.
[0319] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0320] Replacing the change parameters of each module to be processed with the target adjustment parameters corresponding to each module to be processed includes:
[0321] Obtaining a target function, where the target function is an interface function of a basic input / output system setting interface during a unified extensible firmware interface runtime;
[0322] 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 to be processed.
[0323] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0324] Before functionally configuring the target memory interface based on a preset functional configuration scheme matching the functional configuration type, the method further includes:
[0325] The basic input and output system obtains the system function configuration state, and the system function configuration state includes an open state and a closed state;
[0326] When the system function configuration state is in the open state, the interface of the target memory is functionally configured based on a preset function configuration scheme matching the function configuration type;
[0327] When the system function configuration status is closed, function configuration of the pending modules on the pending function configuration page is not supported.
[0328] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may 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 many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous forwarding path (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0329] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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.
[0330] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A function configuration method, characterized in that: 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, the first end of the basic input / output system is respectively connected to the first end of the first target device and the first end of the second target device, the second end of the first target device and the second end of the second target device are respectively connected to the memory, and the function configuration method includes: In response to the basic input and output system receiving the function configuration instruction, triggering the target memory presence detection instruction, and determining whether the basic input and output system can obtain a presence signal corresponding to the target memory through the first target device; If yes, the basic input and output system determines the in-place status of the target memory based on the in-place signal corresponding to the target memory; If not, determining whether the second target device can obtain the presence signal corresponding to the target memory; If yes, the second target device analyzes the in-place signal corresponding to the target memory to obtain the in-place state of the target memory, and transmits the in-place state of the target memory to the basic input and output system; If not, the basic input and output system obtains a topology table in the storage device, and obtains the in-place state of the target storage according to the topology table, wherein the topology table includes a mapping relationship between an identification code of an interface connected to the storage and a storage type; In response to the basic input and output system determining that the target memory is in place, the function configuration instruction is parsed, the function configuration type corresponding to the function configuration instruction is obtained, a preset function configuration scheme matching the function configuration type is obtained, and the interface of the target memory is functionally configured based on the preset function configuration scheme.
2. The method according to claim 1, characterized in that The step of determining whether the basic input / output system can obtain the presence signal corresponding to the target memory through the first target device comprises: Determine whether the basic input and 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 and output system; If yes, the basic input and output system obtains a presence signal corresponding to the target memory through the first target device, and determines the presence state 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 and output system determines the target memory in-place state based on the in-place signal corresponding to the target memory, including: In response to the basic input and output system acquiring a presence signal corresponding to the target memory sent by the first target device, parsing the presence signal corresponding to the target memory to acquire a voltage state of the presence signal corresponding to the target memory; If the voltage of the in-place signal corresponding to the target memory is a high-level voltage, the in-place state of the target memory is in-place; If the voltage of the in-place signal corresponding to the target memory is a low-level voltage, the in-place state of the target memory is not in-place.
4. The method according to claim 1, characterized in that The determining whether the second target device can obtain the presence signal corresponding to the target memory includes: Acquire a second target device, the second target device includes a first sub-target device and a second sub-target device, and the second target device is a device having an indirect data path with a basic input and output system; Determine whether the first sub-target device can obtain a presence signal corresponding to the target memory; If yes, the first sub-device analyzes the presence signal corresponding to the target memory to obtain an analysis result, and transmits the analysis result to the basic input and output system; If not, determining whether the second sub-target device can obtain a presence signal corresponding to the target memory; If yes, the second sub-device analyzes the presence signal corresponding to the target memory to obtain an analysis result, and transmits the analysis result to the basic input and output system.
5. The method according to claim 1, characterized in that The basic input and output system obtains a topology table in the storage device, and obtains the in-place state of the target storage according to the topology table, including: The basic input and output system obtains an identification code of an interface connected to the memory, and obtains a device type from a topology table based on the identification code of the interface connected to the memory; Determining whether the acquisition device type matches the device type corresponding to the target storage; If there is a match, the target memory in-place state is considered to be in-place; If there is no match, the target memory is considered to be not in place.
6. The method according to claim 1, characterized in that The method further comprises: In response to the baseboard management controller receiving the target memory in-place status at the current moment and the target memory in-place status at the target moment sent by the monitoring device, the baseboard management controller obtains the change information of the target memory based on the target memory in-place status at the current moment and the target memory in-place status at the target moment, and updates the change information of the target memory to the storage device.
7. The method according to claim 1, characterized in that The parsing of 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 performing function configuration on the interface of the target memory based on the preset function configuration scheme includes: The basic input and output system parses the function configuration instruction to obtain the function configuration type corresponding to the function configuration instruction; Acquire 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; Searching for a preset function configuration scheme matching the function configuration type from the preset function configuration schemes; The target memory interface is functionally configured based on a preset functional configuration scheme matching the functional configuration type.
8. The method according to claim 7, characterized in that The function configuration of the interface of the target memory based on a preset function configuration scheme matching the function configuration type includes: The basic input / output system acquires a function configuration page to be processed according to the function configuration type, wherein the function configuration page to be processed is a configuration page for performing function configuration on an interface of a target memory in the basic input / output system; Obtaining a target specification in a preset function configuration scheme corresponding to the function configuration type; Matching the target specification with the function configuration page to be processed, and searching for the module to be processed on the function configuration page to be processed; The modules to be processed are configured according to the target specification.
9. The method according to claim 8, characterized in that There are multiple function configuration instructions, and after configuring the processing module according to the target specification, it also includes: In response to completing the configuration of the processing module according to the target specification, the basic input and output system determines whether function configuration instructions of other function configuration types are included; If yes, execute function configuration instructions of other function configuration types; Searching for a preset function configuration scheme that matches other function configuration types from the preset function configuration schemes; The interface of the target memory is functionally configured based on a preset functional configuration scheme that matches other functional configuration types.
10. The method according to claim 9, characterized in that The configuring of the processing module according to the target specification includes: Find the target definition and target algorithm corresponding to each module to be processed from the target specification; Determine the target adjustment parameter corresponding to each module to be processed based on the target definition and the target algorithm respectively; Acquire attribute information of each module to be processed, wherein the attribute information of the module to be processed includes variable parameter information of the module to be processed and fixed parameter information of the module to be processed; The changed parameters of each module to be processed are replaced by the target adjustment parameters corresponding to each module to be processed.
11. The method according to claim 10, characterized in that Replacing the change parameters of each module to be processed with the target adjustment parameters corresponding to each module to be processed includes: Obtaining a target function, wherein the target function is an interface function of a basic input / output system configuration interface during a unified extensible firmware interface runtime; 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 to be processed.
12. The method according to claim 7, characterized in that Before the function configuration of the target memory interface is performed based on a preset function configuration scheme matching the function configuration type, the method further includes: The basic input and output system obtains a system function configuration state, wherein the system function configuration state includes an open state and a closed state; When the system function configuration state is in an open state, the interface of the target memory is functionally configured based on a preset function configuration scheme matching the function configuration type; When the system function configuration state is closed, function configuration of the to-be-processed module of the to-be-processed function configuration page is not supported.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.
14. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 12 are implemented.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.
Citation Information
Patent Citations
Method and device for inquiring server storage information
CN110058821A
Storage system starting method, device and computer readable storage medium
CN111538539A