Data processing method, device, electronic device, storage medium and program product
By obtaining the configuration information of server hardware devices and integrating it into configuration variables, the problem of incomplete display of server device information is solved, and the effect of quickly viewing hardware configuration information on the BMC WEB interface is achieved.
Patent Information
- Application Number
- CN202511020580.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-24
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2045-07-24
AI Technical Summary
During server development, the diversity of test conditions often leads to incomplete device information displayed on the baseboard management controller (BMC) webpage. Existing methods are complex and inefficient, making it difficult to quickly understand the information of each server's hardware devices.
By obtaining the configuration information of each hardware device in the server, the general input and output signal (GPIO) is used to identify the configuration information of the hardware device, and the configuration information is integrated into the configuration variable and stored in the memory. The configuration information is sent to the baseboard management controller (BMC) through the intelligent platform management interface, and the configuration information is displayed on the BMC management interface.
The configuration information of each server hardware device can be displayed quickly and easily on the BMC WEB interface, making it convenient for engineers to view and analyze and avoiding complicated diagnostic processes.
Smart Images

Figure CN120523665B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a data processing method, device, electronic device, storage medium, and program product. Background Art
[0002] During server development, due to the variety of test scenarios, it is common for the Baseboard Management Controller (BMC) webpage (WEB) to display incomplete device information for the corresponding machine. This situation may have several possible causes:
[0003] Case 1: The Peripheral Component Interconnect Express (PCIE) or the hard drive itself is damaged and cannot be recognized;
[0004] Case 2: The PCIE or hard disk device is not installed properly;
[0005] Case 3: Incorrect server configuration wiring causes the Basic Input Output System (BIOS) to misconfigure the central processing unit (CPU) data signal, preventing the device from being recognized and used properly.
[0006] Cases 1 and 2 can often be solved by accessing the operating system (OS) and verifying device identification based on system information and commands. However, case 3 is more complex, requiring different engineers to take different approaches. For example, a test engineer typically opens the server chassis and checks the wiring according to the server configuration wiring diagram. A BIOS engineer, on the other hand, retrieves the BIOS log from the problematic machine and uses the configuration signal information in the BIOS log, combined with the code's judgment criteria, to comprehensively determine the current configuration. To retrieve the BIOS log, an external serial cable is used to connect the engineer's personal computer (PC) directly to the server, requiring serial port software to be running on the PC. Alternatively, the PC and the server's BMC must be on the same subnet, utilizing the BMC's Serial Over LAN (SOL) feature and running serial port software on the PC. Both methods are required to retrieve the BIOS log. Therefore, a method is urgently needed to address the issue of incomplete device information display and enable engineers to quickly understand the information of each server's hardware device. Summary of the Invention
[0007] The present disclosure provides a data processing method, device, electronic device, storage medium and program product to at least solve the above technical problems existing in the prior art.
[0008] According to a first aspect of the present disclosure, there is provided a data processing method applied to a basic input and output system, the method comprising:
[0009] Obtain configuration information of each server hardware device based on General Purpose Input / Output (GPIO) signals;
[0010] Determining configuration variables corresponding to the server based on configuration information of each hardware device of the server, and storing the configuration variables in a first memory;
[0011] The configuration variables are obtained from the first memory and sent to the baseboard management controller based on the intelligent platform management interface, so that after the baseboard management controller receives the configuration variables, the configuration information of each server hardware device corresponding to the configuration variables is displayed on the management interface of the baseboard management controller.
[0012] In the above solution, the step of obtaining the configuration information of each hardware device of the server based on the universal input and output signal includes:
[0013] Get general input and output signals;
[0014] Based on the position and value of the characters in the general input and output signal, obtaining configuration information of each hardware device of the server;
[0015] The character positions of the general input and output signals corresponding to different hardware devices are different; and the configuration information corresponding to different character values is different.
[0016] In the above solution, the step of obtaining the configuration information of each hardware device of the server based on the position and value of the character in the general input and output signal includes:
[0017] Determining configuration information of an expansion card (Riser card) based on at least one character representing the expansion card in the universal input / output signal; the configuration information of the expansion card includes at least one of type information, quantity information, and direction information;
[0018] Determining configuration information of a central processing unit (CPU) based on at least one character representing the central processing unit (CPU) in a general purpose input / output signal; the configuration information of the central processing unit includes at least one of bit status information, type information, and model information;
[0019] The configuration information of the memory is determined based on at least one character representing the memory in the general input / output signal; the configuration information of the memory includes slot occupancy information, type information, capacity information and channel configuration information.
[0020] In the above solution, determining the configuration variables corresponding to the server based on the configuration information of each hardware device of the server includes:
[0021] defining configuration variables, and determining storage space for the configuration variables in a second memory;
[0022] Determine the mode corresponding to the server based on the configuration information of each hardware device of the server;
[0023] Based on the mode corresponding to the server, the configuration variable is assigned a value, and the assigned value is the configuration variable corresponding to the server.
[0024] In the above solution, after determining the configuration variables corresponding to the server based on the configuration information of each hardware device of the server, the method further includes at least one of the following:
[0025] allocating a Peripheral Component Interconnect Express link signal based on a configuration variable corresponding to the server;
[0026] Interact with the Peripheral Component Interconnect Express device and run the driver corresponding to the Peripheral Component Interconnect Express device.
[0027] In the above solution, the step of obtaining the configuration variables from the first memory and sending the configuration variables to the baseboard management controller based on the intelligent platform management interface includes:
[0028] Send handshake information to the baseboard management controller;
[0029] If the baseboard management controller responds to the handshake information, the configuration variables are obtained from the first memory and sent to the baseboard management controller.
[0030] In the above solution, the method further includes:
[0031] In response to running to the first information interface and receiving the instruction information, entering the basic input and output system configuration interface;
[0032] The configuration information of each hardware device of the server is displayed on the basic input and output system configuration interface.
[0033] In the above solution, before obtaining the configuration information of each hardware device of the server based on the universal input and output signal, the method further includes:
[0034] Initialize the central processing unit and at least one peripheral interface.
[0035] In the above solution, the initialization of the central processing unit and at least one peripheral interface includes:
[0036] Determining compatibility between the central processing unit and the motherboard based on at least one of the model information, the number of cores, and the main frequency information of the central processing unit;
[0037] Activate the computing function of the central processing unit;
[0038] Determines the power configuration for the CPU.
[0039] In the above solution, the initialization of the central processing unit and at least one peripheral interface includes at least one of the following:
[0040] Initialize the high-speed peripheral component interconnect device slot and determine the electrical characteristics of the corresponding interface of the central processing unit;
[0041] Confirm the number, capacity, and frequency of memory modules in the memory slots;
[0042] Initialize the input and output signal interface.
[0043] According to a second aspect of the present disclosure, a data processing method is provided, which is applied to a baseboard management controller. The method includes:
[0044] Receive configuration variables corresponding to the server sent by the basic input and output system based on the intelligent platform management interface;
[0045] Determine the configuration information of each hardware device of the server based on the configuration variables corresponding to the server and the preset configuration scheme;
[0046] The configuration information of each hardware device of the server corresponding to the configuration variable is displayed on the management interface of the baseboard management controller.
[0047] In the above solution, after receiving the configuration variables corresponding to the server sent by the basic input and output system based on the intelligent platform management interface, the method further includes:
[0048] The configuration variables corresponding to the server are stored in a third memory.
[0049] In the above solution, the configuration information of each hardware device of the server is determined based on the configuration variables corresponding to the server and the preset configuration scheme, including:
[0050] Determine preset configuration information of each hardware device of the server based on the configuration variables corresponding to the server;
[0051] Matching the preset configuration information of each hardware device of the server with the preset configuration scheme, and determining the preset configuration scheme with the highest matching degree as the target configuration scheme;
[0052] Based on the configuration information of each hardware device corresponding to the target configuration scheme, the configuration information of each hardware device of the server is determined.
[0053] In the above solution, the method further includes:
[0054] In response to logging into the management interface of the baseboard management controller based on the login information;
[0055] The configuration information of each hardware device of the server corresponding to the configuration variable is displayed on the management interface of the baseboard management controller.
[0056] The above solution is characterized in that the configuration variables corresponding to the server are determined by the configuration information of each hardware device of the server obtained by the basic input and output system based on the general input and output signal.
[0057] According to a third aspect of the present disclosure, there is provided a data processing device applied to a basic input and output system, the device comprising:
[0058] An acquisition unit, configured to acquire configuration information of each hardware device of the server based on a general input and output signal;
[0059] A first determining unit, configured to determine configuration variables corresponding to the server based on configuration information of each hardware device of the server, and store the configuration variables in a first memory;
[0060] The first transmission unit is used to obtain the configuration variables from the first memory and send them to the baseboard management controller based on the intelligent platform management interface, so that after the baseboard management controller receives the configuration variables, the configuration information of each hardware device of the server corresponding to the configuration variables is displayed on the management interface of the baseboard management controller.
[0061] According to a fourth aspect of the present disclosure, a data processing device is provided, which is applied to a baseboard management controller. The device includes:
[0062] The second transmission unit is used to receive the configuration variables corresponding to the server sent by the basic input and output system based on the intelligent platform management interface;
[0063] A second determining unit, configured to determine configuration information of each hardware device of the server based on configuration variables corresponding to the server and a preset configuration scheme;
[0064] The display unit is used to display the configuration information of each hardware device of the server corresponding to the configuration variable on the management interface of the baseboard management controller.
[0065] According to a fifth aspect of the present disclosure, there is provided an electronic device, including:
[0066] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the present disclosure.
[0067] According to a sixth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the present disclosure.
[0068] According to a seventh aspect of the present disclosure, a computer program product is provided, comprising a computer program, which implements the method described in the present disclosure when executed by a processor.
[0069] The data processing method disclosed herein obtains the configuration information of each hardware device of the server based on the general input and output signal through the basic input and output system; determines the configuration variables corresponding to the server based on the configuration information of each hardware device of the server, and stores the configuration variables in a first memory; obtains the configuration variables from the first memory, and sends them to the baseboard management controller based on the intelligent platform management interface, so that after the baseboard management controller receives the configuration variables, the configuration information of each hardware device of the server corresponding to the configuration variables is displayed on the management interface of the baseboard management controller. In this way, after the basic input and output system identifies the configuration information of each hardware device of the server, it integrates the identification results into configuration variables, and at the same time stores and transmits the configuration variables to the BMC. The BMC WEB displays configuration-related information and wiring status according to its configuration variables, which is convenient for relevant personnel to view and analyze.
[0070] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] The above and other objects, features and advantages of the exemplary embodiments of the present disclosure will become readily understood by reading the detailed description below with reference to the accompanying drawings, in which several embodiments of the present disclosure are shown by way of example and not limitation, wherein:
[0072] In the drawings, the same or corresponding reference numerals denote the same or corresponding parts.
[0073] Figure 1A first optional flow chart of the data processing method provided by an embodiment of the present disclosure is shown;
[0074] Figure 2 A second optional flow chart of the data processing method provided by the embodiment of the present disclosure is shown;
[0075] Figure 3 A third optional flow chart of the data processing method provided by the embodiment of the present disclosure is shown;
[0076] Figure 4 A fourth optional flow chart of the data processing method provided by an embodiment of the present disclosure is shown;
[0077] Figure 5 A fifth optional flow chart of the data processing method provided in an embodiment of the present disclosure is shown;
[0078] Figure 6 A sixth optional flow chart of the data processing method provided in an embodiment of the present disclosure is shown;
[0079] Figure 7 A first optional structural diagram of a data processing device provided by an embodiment of the present disclosure is shown;
[0080] Figure 8 A second optional structural diagram of the data processing device provided by an embodiment of the present disclosure is shown;
[0081] Figure 9 A schematic diagram of the structure of an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0082] To make the purposes, features, and advantages of the present disclosure more apparent and understandable, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of the present disclosure without creative work shall fall within the scope of protection of the present disclosure.
[0083] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0084] In the following description, the terms "first\second" are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that "first\second" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present disclosure described herein can be implemented in an order other than that illustrated or described herein.
[0085] Unless otherwise defined, all technical and scientific terms used in this disclosure have the same meaning as commonly understood by those skilled in the art in the art of this disclosure. The terms used in this disclosure are only for the purpose of describing the embodiments of this disclosure and are not intended to limit this disclosure.
[0086] It should be understood that in the various embodiments of the present disclosure, the size of the serial number of each implementation process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure.
[0087] In the current construction of high-performance server systems, given the limited motherboard space and compact chassis interiors, expansion cards are often required to maximize hardware density and system performance, enabling efficient configuration of peripheral components such as devices or hard drives. Traditional PCIe slots (SLOTs) placed directly on the motherboard, as PCIe devices are typically designed to plug in vertically, would require each device to occupy a significant amount of vertical space. This significantly limits the number of PCIe devices that can be deployed on the motherboard, making it difficult to meet the high-density computing and storage demands of modern servers. To overcome this space bottleneck, riser cards are widely used in the industry as a bridge connecting the motherboard and PCIe devices. Their innovative horizontal stacking design allows multiple PCIe devices to be installed in parallel within the chassis, effectively utilizing chassis space. This design not only significantly reduces vertical space usage but also optimizes system airflow, improving overall heat dissipation efficiency and ensuring stable server operation under high loads. When configuring a server, it is crucial to fully consider the diverse needs of different application scenarios. From high-performance computing and big data analytics to cloud storage services, the number and type of PCIe devices (such as high-performance network interface cards, graphics processing unit (GPU) accelerator cards, and redundant array of independent disks (RAID) controllers) and hard drive types (such as Serial Attached SCSI (SAS) / Serial Advanced Technology Attachment (SATA) enterprise hard drives and Non-Volatile Memory Express (NVMe) solid-state drives (SSDs)) required for various applications are significantly diverse. This diverse hardware requirement directly affects the complexity of the system's internal connections, especially in the area of multi-channel input / output (MCIO) wiring. The layout, length, type, and connection method of data and power cables all require careful design based on the specific hardware.
[0088] Different types of riser cards are optimized for specific application scenarios and hardware requirements. For example, full-length, full-height riser cards are typically used to support high-performance PCIe devices, while half-length, half-height riser cards are more suitable for space-constrained servers. Furthermore, some riser cards integrate hard drive interface conversion capabilities, such as connecting high-speed NVMe SSDs via U.2 or M.2 interfaces, further enriching the server's storage configuration.
[0089] In view of the current situation of multiple application scenarios and multiple configurations of servers, automatic identification of firmware configurations will be taken into consideration when designing the motherboard hardware and the basic input and output system and baseboard management controller firmware. Considering that the number of subsequent servers shipped will be large and the configurations will be large, if the configuration relies on manual identification or manual adjustment, the workload will be very large. Therefore, the firmware's ability to automatically identify the configuration and automatically adjust the signal distribution is currently the most accurate and efficient way. During hardware design, in different configurations, the corresponding signals will be adjusted and filtered out according to the configuration wiring and the model of the riser card to be transmitted to the BIOS or BMC. For example, 3 general inputs and outputs are reserved. When riser card 0 is connected, the signal is all low. When riser card 1 is connected, the signal is high-low-low. When riser card 2 is connected, the signal is high-high-low, and so on. Whether the MCIO wiring is connected or not is also notified to the BIOS by a signal. For example, a high level indicates that the MCIO signal is connected, and a low level indicates that the MCIO is not connected. Such signals are collectively referred to as configuration signals in the embodiments of the present disclosure. Regardless of whether the configuration signal is transmitted to the BMC or the BIOS, the BIOS must ultimately obtain it and configure the allocation of the motherboard central processing unit data interface based on the configuration signal, thereby ensuring that the corresponding PCIE devices and hard disks configured on the server can be recognized and work normally.
[0090] In the current situation where servers generally have multiple configurations, if a configuration recognition error occurs, diagnosis is very complicated and requires a comprehensive consideration of multiple factors. In response to the problems existing in the related art, the embodiments of the present disclosure provide a data processing method to solve some or all of the above technical problems.
[0091] Figure 1 A first optional flow chart of the data processing method provided by an embodiment of the present disclosure is shown, and will be explained according to each step.
[0092] Step S101: obtaining configuration information of each hardware device of the server based on the general input and output signal.
[0093] In some embodiments, the BIOS reads GPIO signals to obtain configuration information of various hardware devices of the server.
[0094] The GPIO signal consists of a string of multiple characters. Characters in different positions represent different hardware device configuration information, and different values represent different hardware device types. For example, characters 1 to a in the GPIO represent hardware device 1, characters a+1 to b represent hardware device 2, and so on. Optionally, multiple characters or a single character can be used to represent the hardware device configuration information.
[0095] Step S102: determining configuration variables corresponding to the server based on configuration information of each hardware device of the server, and storing the configuration variables in a first memory.
[0096] In some embodiments, different hardware device configuration information is combined into different server modes, and different server modes correspond to different configuration variables. The BIOS determines the server mode based on the configuration information of each server hardware device, and then determines the configuration variables corresponding to the server based on the server mode.
[0097] In some optional embodiments, the BIOS stores the configuration variables in a first memory to prevent loss and tampering. Optionally, the first memory may be a non-volatile random access memory (NVRAM).
[0098] In some alternative embodiments, the configuration variable may be represented based on one or more characters.
[0099] Step S103: Acquire the configuration variables from the first memory, and send them to a baseboard management controller based on an intelligent platform management interface.
[0100] In some embodiments, the BIOS obtains the configuration variables from the first memory and sends the configuration variables to the BMC based on the IPMI instructions; so that after the baseboard management controller receives the configuration variables, the configuration information of each server hardware device corresponding to the configuration variables is displayed on the management interface of the baseboard management controller.
[0101] In some embodiments, the server's BIOS and BMC interact via IPMI commands. After the server is powered on, the BIOS begins running, first initializing CPU-related functions and then configuring the server's peripheral circuits, including PCIe link signal distribution, based on project requirements. After acquiring the server's peripheral hard drives, memory, hard drives, and PCIe devices, the BIOS transmits server asset information and its own configuration options to the BMC via IPMI commands.
[0102] In this way, through the data processing method provided by the embodiment of the present disclosure, after the BIOS identifies the configuration information of each hardware device of the server, it integrates the identification results into configuration variables, and at the same time stores and transmits the configuration variables to the BMC. The BMC WEB displays configuration-related information and wiring status according to its configuration variables, which is convenient for relevant personnel to view and analyze.
[0103] Figure 2 A second optional flow chart of the data processing method provided by an embodiment of the present disclosure is shown, and will be explained according to each step.
[0104] Step S201 : obtaining configuration information of each hardware device of the server based on the position and value of the character in the general input / output signal.
[0105] In some embodiments, the BIOS obtains a general input / output signal; based on the position and value of a character in the general input / output signal, obtains configuration information of each hardware device of the server; wherein, the character position of the general input / output signal corresponding to different hardware devices is different; different character values correspond to different configuration information; the character can be the level of the GPIO signal.
[0106] In a specific implementation, the hardware device may include at least one of a riser card, a CPU, a memory, a storage device, a network card, a power supply, a fan, and a special function module. The special function module may include a TPM security chip and / or an IPMI expansion module.
[0107] In some embodiments, a riser card is used to expand the PCIe interface within a server. It is commonly found in GPU servers or storage servers. The BIOS obtains the riser card's configuration information by detecting the corresponding GPIO character (or level) on the riser card. This configuration information may include the riser card's type, quantity, and orientation. Types include x16 direct-connect cards, dual x8 split cards, and M.2 adapter cards supporting NVMe SSDs. Quantity information may include the total number of riser cards installed in different slots on the motherboard. Orientation information may include forward or reverse installation.
[0108] For example, if the riser card corresponds to GPIO levels 1 to 3 (or characters), 101 represents a dual x8 split card, and 1011 represents an M.2 adapter card for an NVMe SSD.
[0109] In some embodiments, the BIOS can determine the configuration information of at least one CPU based on the level (or character) representing the CPU in a GPIO signal. The configuration information may include at least one of in-situ status information, type information, and model information. The in-situ status information may include whether a processor is installed in the at least one CPU slot; if so, the CPU is present; the type information may include the number of CPUs in the server, such as a dual-socket server or a quad-socket server; and the model information may include the model corresponding to the at least one CPU. Different CPU models require different initialization parameters. Optionally, the configuration information may also include CPU feature support information, such as whether hyperthreading or non-uniform memory access mode is enabled.
[0110] For example, if CPU0 corresponds to GPIO level 4 and CPU1 corresponds to GPIO level 5, then when GPIO levels 4 to 5 are 11, it indicates that both CPUs are installed, and when they are 10, it indicates that only CPU0 is installed.
[0111] In some embodiments, the BIOS can determine memory configuration information based on the memory level in the GPIO signal. The configuration information may include slot occupancy information, type information, capacity information, and channel configuration information. The slot occupancy information includes whether each memory slot has a memory module inserted; type information includes DDR4 and DDR5; capacity information includes 16GB, 32GB, and 64GB; and channel configuration information includes dual-channel mode and quad-channel mode.
[0112] In some embodiments, the BIOS can determine storage device configuration information based on the level of a GPIO signal representing the storage device. The configuration information may include the hard disk interface type, the storage device type, and the storage expansion card presence status. The hard disk interface type may include at least one of SATA, SAS, and NVMe; the storage device type may include whether a RAID controller is used or not used.
[0113] For example, if the 6th to 8th bit levels in the GPIO represent the configuration information of the storage device, 001 can represent that the built-in M.2 slot is enabled, and 100 can represent that the PCIe x4 NVMe expansion card is in place.
[0114] In some embodiments, the BIOS can determine the configuration information of the network card, power supply, fan and special function module through the levels at different positions in the GPIO signal; for example, determine the type of onboard network card or PCIe network card (such as 1G, 10G, 25G Ethernet) based on the level representing the network card in the GPIO; determine the configuration information of the power supply based on the level representing the power supply in the GPIO, such as the number and status of the power supply module; determine the configuration information of the fan based on the level representing the fan in the GPIO, such as whether cooling fan modules of different specifications are in place.
[0115] Step S202: determining configuration variables corresponding to the server based on configuration information of each hardware device of the server, and storing the configuration variables in a first memory.
[0116] In some embodiments, the BIOS defines configuration variables, determines storage space for the configuration variables in a second memory, determines a corresponding mode of the server based on configuration information of each hardware device of the server, and assigns a value to the configuration variable based on the corresponding mode of the server, with the assigned value becoming the corresponding configuration variable of the server. Different server modes correspond to different values of the configuration variables.
[0117] In some embodiments, the second memory may be BIOS FLASH.
[0118] In some embodiments, configuration variables are parameters in the BIOS used to store configuration information for each server's hardware devices. Essentially, they are one or more data values that represent the server's current hardware status (e.g., riser card type, peripheral connection method, etc.). Configuration variables enable the BIOS and BMC to uniformly understand and process the configuration information of each hardware device, facilitating subsequent resource allocation (e.g., PCIe link splitting) and information display (e.g., on the BMC web interface).
[0119] In some embodiments, the BIOS predefines a data structure of configuration variables (such as an integer, an enumeration type, or a structure) in the firmware code to store configuration information of hardware devices of different dimensions.
[0120] For example, an 8-bit integer is used to represent different riser card types (e.g., 0x01 represents a PCIe x16 riser card, 0x02 represents a dual M.2 NVMe riser card), and a Boolean value is used to indicate whether a specific peripheral is connected to a GPIO port.
[0121] In some embodiments, the BIOS allocates a fixed amount of space in its own FLASH memory for configuration variables. This space is part of non-volatile memory (NVRAM), ensuring that configuration variables are retained after power failure and are not accidentally overwritten by the operating system or other programs.
[0122] In some embodiments, when defining a variable, the BIOS sets a default value for it (eg, 0x00 for "unrecognized configuration"), and in subsequent steps updates the value according to the actual configuration information of the hardware device to become a configuration variable.
[0123] In some embodiments, the BIOS can also determine the server's circuitry, such as hardware jumpers, pull-up resistors, pull-down resistors, and chips, based on the levels of various GPIO signals. For example, a server can have two configuration modes: Mode A, which includes a dual-socket CPU, four NVMe SSDs, and a dual-port 10G network card; and Mode B, which includes a single-socket CPU, eight SATA HDDs, and a four-port 1G network card. The BIOS detects multiple combinations of levels corresponding to multiple GPIO signals (e.g., GPIO1 through GPIO10) and determines the current configuration based on a preset configuration scheme. For example, if the GPIO level is 1010110010, it corresponds to Mode A; if it is 0101001101, it corresponds to Mode B.
[0124] Step S203: Acquire the configuration variables from the first memory, and send them to a baseboard management controller based on an intelligent platform management interface.
[0125] In some embodiments, the BIOS sends a handshake message to the BMC; if the BMC responds to the handshake message, it is determined that the handshake between the BIOS and the BMC is successful, and the BIOS then retrieves the configuration variables from the first memory and sends the configuration variables to the baseboard management controller. After the baseboard management controller receives the configuration variables, it displays the configuration information of each server hardware device corresponding to the configuration variables on the management interface of the baseboard management controller.
[0126] In this way, through the data processing method provided by the embodiment of the present disclosure, after the BIOS identifies the configuration information of each hardware device of the server, it integrates the identification results into configuration variables, and at the same time stores and transmits the configuration variables to the BMC. The BMC WEB displays configuration-related information and wiring status according to its configuration variables, which is convenient for relevant personnel to view and analyze.
[0127] Figure 3 A third optional flow chart of the data processing method provided in an embodiment of the present disclosure is shown, and will be explained according to each step.
[0128] Step S301: Initialize the central processing unit and at least one peripheral interface.
[0129] In some embodiments, the BIOS initializes the CPU and at least one peripheral interface.
[0130] In some embodiments, BIOS initialization of the CPU may include determining the compatibility between the central processing unit and the motherboard based on at least one of the central processing unit's model information, core number information, and main frequency information; activating the central processing unit's computing function; and determining the power configuration of the central processing unit.
[0131] In specific implementations, the CPU is the server's core computing unit. BIOS initialization of the CPU primarily involves basic function activation, power and frequency configuration, and multi-core and virtualization support. Basic function activation involves the BIOS detecting hardware information such as the CPU model, number of cores, and main frequency, confirming CPU compatibility with the motherboard, and activating the CPU's basic computing functions (such as the instruction set and cache) to ensure the CPU can properly respond to subsequent instruction execution. Power and frequency configuration involves the BIOS configuring appropriate parameters such as the CPU's power supply voltage and operating frequency based on the server hardware design to ensure the CPU starts in a stable state and avoid hardware damage or performance anomalies due to parameter mismatches. Multi-core and virtualization support involves the BIOS initializing multi-core or virtualization technology if it supports it (such as Intel VT-x or AMD-V), ensuring that the subsequent operating system can properly identify and utilize the CPU's multi-core resources and virtualization features.
[0132] In some embodiments, initializing at least one peripheral interface of the BIOS includes initializing the slot of a high-speed peripheral component interconnect device, determining the electrical characteristics of the corresponding interface, confirming the number, capacity and frequency information of memory sticks on the memory slot, and initializing at least one of the input and output signal interfaces.
[0133] In specific implementations, peripheral interfaces refer to various hardware interfaces and circuits on the server motherboard other than the CPU, including but not limited to PCIe interfaces, memory interfaces, GPIO interfaces, and other interfaces. Initializing the PCIe interface may include initializing the PCIe slot (such as the interface for connecting the graphics card, network card, and storage controller), detecting the electrical characteristics of the interface, and preparing for the subsequent identification of PCIe devices (such as the riser card and NVME hard drive in step S26). Initializing the memory interface may include detecting the number, capacity, frequency, and other information of the memory sticks on the memory slot, initializing the memory controller, establishing a data transmission channel between the CPU and the memory, and ensuring that the memory can read and write data normally. Initializing the GPIO interface may include initializing the GPIO signal interface reserved on the motherboard to ensure that the BIOS can normally read the level status of these interfaces, thereby identifying the hardware configuration of the server. Other interfaces include at least one of a SATA interface (for connecting a hard drive), a USB interface (for connecting an external device), and a network interface. The BIOS initializes the underlying drivers of the other interfaces to ensure that they can be called normally by subsequent systems or programs.
[0134] Step S302: BIOS reads the level of each hardware device.
[0135] In some embodiments, after the BIOS executes step S301 to initialize the peripheral circuits, the peripheral related circuit connections and the riser card levels begin to be normally enabled, and the BIOS can normally read the GPIO signal to obtain the level status.
[0136] In some embodiments, the BIOS can obtain the power levels of each hardware device by reading the detection circuits on the server motherboard that identify different hardware devices. The detection circuits corresponding to each hardware device transmit the hardware device configuration information to the BIOS via GPIO power levels. The BIOS then integrates these power levels into configuration variables and uses them to allocate PCIe links and initialize the system.
[0137] Step S303: The BIOS determines the configuration variables corresponding to the server.
[0138] In some embodiments, the BIOS defines configuration variables and applies for storage space in the second memory for the configuration variables.
[0139] In some embodiments, the BIOS determines configuration information of each hardware device according to the level of each hardware device; determines a server mode based on the configuration information of each hardware device and a preset configuration scheme; and assigns values to configuration variables based on the server mode.
[0140] Step S304: The BIOS writes the configuration variables into the first memory.
[0141] In some embodiments, the BIOS writes the configuration variables into the first memory for subsequent processing and transmission, and prevents them from being accidentally overwritten.
[0142] Step S305: Allocate PCIe link signals based on the configuration variables corresponding to the server.
[0143] In some embodiments, the BIOS allocates PCIe signals based on configuration variables corresponding to the server; interacts with the PCIe device, and runs a driver corresponding to the PCIe.
[0144] In practice, the BIOS allocates PCIE link signals, primarily by splitting them based on the server configuration. Each CPU die corresponds to 16 lanes, which can be split into up to 16 PCIE X1 signals. Depending on the server configuration (or mode), if this CPU die requires four X4 NVMe hard drives, the BIOS will split the die into four X4 signals. If the CPU die requires two X8 network adapters, the BIOS will split the die into two X8 signals, and so on.
[0145] Step S306: The BIOS reads the configuration variables from the first memory and sends them to the BMC.
[0146] In some embodiments, the BIOS sends a handshake message to the baseboard management controller; if the baseboard management controller responds to the handshake message, the BIOS obtains the configuration variable from the first memory and sends the configuration variable to the baseboard management controller.
[0147] In some embodiments, during the operation of the BIOS, it is necessary to interact with the BMC to transmit server asset information and BMC user information. Therefore, before the interaction, it is necessary to confirm whether the interaction with the BMC can be normal. Because when the BIOS and BMC start at the same time after powering on, there is a situation where the BMC starts slowly. Therefore, during the handshake, the BIOS will continuously send information to the BMC and wait for the BMC's response. If the BMC starts normally, it will respond with the expected information (or preset information), and the BIOS will continue the boot process. If the BMC still does not respond after the maximum handshake time is reached, the BIOS will regard the interaction with the BMC as a failure, and will no longer shake hands with the BMC and continue the boot process.
[0148] In some embodiments, if the BIOS interacts successfully with the BMC, the configuration information of each hardware device of the server corresponding to the configuration variable is displayed on the management interface of the baseboard management controller.
[0149] Step S307: Displaying configuration information of each hardware device of the server on the basic input and output system configuration interface.
[0150] In some embodiments, the BIOS displays the configuration information of each hardware device of the server in the BIOS SETUP interface.
[0151] In a specific implementation, when the BIOS reaches the first information screen (POST information screen), it enters BIOS Setup based on the instruction information. After the BIOS sends the commands required to interact with the BMC, the POST information screen is displayed on the monitor, along with the relevant function hotkeys. In response to receiving the instruction information, the BIOS enters BIOS Setup, retrieves the server's configuration variables from the first memory, and displays the server's hardware configuration information in BIOS Setup based on these configuration variables.
[0152] Hotkeys include those for entering BIOS Setup, opening boot items, and PXE boot. The hotkeys for entering BIOS Setup vary by manufacturer, typically using the ESC, Delete, or Enter key.
[0153] Specifically, the BIOS POST interface will display various POST information, including manufacturer logo, BIOS version and date, CPU information, memory information, memory information, network card information, etc., and will also display the corresponding hotkey information.
[0154] In some embodiments, the current electronic device configuration variables and corresponding configuration and wiring conditions can be viewed on a specific BIOS SETUP page. Generally, in BIOS SETUP, sensitive options can be displayed or hidden by using ctrl+F11 or other key combinations.
[0155] In some embodiments, BIOS Setup is a crucial configuration step in a computer. Typically, when a server or computer is powered on, the BIOS setup interface is entered by pressing a specific key (such as the Del key, F2 key, F10 key, or Esc key, depending on the computer manufacturer). During the boot process, a prompt will appear on the screen, informing the user which key to use to enter BIOS Setup. BIOS Setup generally includes system settings, boot item settings, hardware monitoring, and power management. BIOS Setup provides an interactive interface for configuring BIOS function options and accessing hardware and other information provided by the BIOS.
[0156] In this way, the data processing method provided by the embodiment of the present disclosure does not require an external serial port cable and computer software. Relying on BIOS SETUP and BMC WEB, the user can be provided with the characteristics of the display interface. During the server development process, the various configuration logics and judgment logics of the server are integrated into the firmware. When the BIOS recognizes the server configuration, the recognition result is integrated into a configuration variable, and the server PCIE signal is allocated according to its configuration variable. At the same time, the configuration variables are stored and transmitted to the BMC, and the configuration-related Riser cards and wiring conditions are displayed in BIOS SETUP and BMC WEB according to their configuration variables, which is convenient for relevant personnel to view and analyze. The BIOS-related configuration display interface is hidden by default and can only be displayed through a specific key combination. The BMC WEB also requires a relevant permission account and password to log in. The whole process is safe and reliable.
[0157] Figure 4 A fourth optional flow chart of the data processing method provided in an embodiment of the present disclosure is shown, and will be explained according to each step.
[0158] Step S401: receiving configuration variables corresponding to the server sent by the basic input and output system based on the intelligent platform management interface.
[0159] In some embodiments, the BMC receives configuration variables corresponding to the server sent by the BIOS based on the IPMI interface, wherein the configuration variables corresponding to the server are determined by configuration information of each hardware device of the server obtained by the basic input and output system based on the general input and output signal.
[0160] In some embodiments, the BMC stores the configuration variables corresponding to the server in a third memory, which may be a BMC FLASH.
[0161] Step S402: determining configuration information of each hardware device of the server based on the configuration variables corresponding to the server and a preset configuration scheme.
[0162] In some embodiments, the BMC determines the configuration information of each hardware device of the server based on the configuration variables and a preset configuration scheme, wherein the preset configuration scheme includes a correspondence between the configuration variables and the configuration information of each hardware device.
[0163] In some embodiments, the BMC determines the preset configuration information of each hardware device of the server based on the configuration variables corresponding to the server; matches the preset configuration information of each hardware device of the server with the preset configuration scheme, and determines the preset configuration scheme with the highest matching degree as the target configuration scheme; and determines the configuration information of each hardware device of the server based on the configuration information of each hardware device corresponding to the target configuration scheme.
[0164] Step S403: Displaying configuration information of each hardware device of the server corresponding to the configuration variable on the management interface of the baseboard management controller.
[0165] In some embodiments, in response to logging into the management interface of the baseboard management controller based on the login information, the configuration information of each hardware device of the server corresponding to the configuration variable is displayed on the management interface of the baseboard management controller.
[0166] Thus, through the data processing method provided by the embodiments of this disclosure, the server's configuration logic and judgment logic are integrated into the firmware. When the BIOS recognizes the server configuration, the recognition result is integrated into a configuration variable, which is stored and transmitted to the BMC. The configuration-related riser card and wiring status are displayed on the BMC web page, making it convenient for relevant personnel to review and analyze. Furthermore, the BMC web page requires the relevant permission account and password to log in, making the entire process secure and reliable.
[0167] Figure 5 A fifth optional flow chart of the data processing method provided by an embodiment of the present disclosure is shown, and will be explained according to each part.
[0168] Step S501: The BMC receives and stores configuration variables.
[0169] In some embodiments, the BMC receives an IPMI command sent by the BIOS, obtains configuration variables corresponding to the server from the IPMI command, and stores the obtained configuration variables in the FLASH to prevent the configuration variables corresponding to the server from being rewritten.
[0170] Step S502: The BMC determines configuration information of each hardware device of the server according to the configuration variables.
[0171] In some embodiments, the BMC determines configuration information of each hardware device corresponding to the configuration variable based on the configuration variable and a preset configuration scheme. The configuration information corresponding to each hardware device may include related wiring and riser card information.
[0172] Step S503: Log in to the BMC WEB.
[0173] In some embodiments, the electronic device that logs into the BMC WEB is set to the same subnet as the BMC, and the BMC management network port IP is entered in the browser of the electronic device to log into the BMC WEB based on the login information (such as user name and password).
[0174] Step S504: Display the configuration information corresponding to each hardware device in the BMC WEB.
[0175] In some embodiments, the BMC includes a BMC WEB option and a display interface, and the display interface is used to display configuration information corresponding to each hardware device of the server.
[0176] The BMC web interface is the BMC's management interface, used for remote server monitoring and management. Connect to the same network segment as the BMC, connect to the BMC's IP address through a browser, and enter the BMC's management account and password to log in to the BMC web interface. This allows you to view server information and use BMC functions.
[0177] Thus, through the data processing method provided by the embodiments of this disclosure, the server's configuration logic and judgment logic are integrated into the firmware. When the BIOS recognizes the server configuration, the recognition result is integrated into a configuration variable, which is stored and transmitted to the BMC. The configuration-related riser card and wiring status are displayed on the BMC web page, making it convenient for relevant personnel to review and analyze. Furthermore, the BMC web page requires the relevant permission account and password to log in, making the entire process secure and reliable.
[0178] In some embodiments, the BIOS can identify the configuration required by the machine through the design of the circuit of the hardware device and the relevant signals and perform the signal configuration of the relevant PCIE link. In previous projects, after the BIOS performs the configuration judgment process, it further sets the relevant PCIE signal link allocation, and then proceeds with the subsequent startup process without considering the configuration-related content. The judgment process is also relatively complicated. When writing code, BIOS engineers generally only add relevant debugging prints for their own convenience. For other people, the BIOS LOG is less readable and needs to be combined with the code for judgment. Since BIOSSETUP provides an interactive interface for users to obtain BIOS information, there is interaction between BMC and BIOS, and BMC WEB also provides an interactive interface for users to obtain BMC information. Based on this, the embodiment of the present disclosure provides a data processing method, which specifically includes:
[0179] Figure 6 A sixth optional flow chart of the data processing method provided by an embodiment of the present disclosure is shown, and will be explained according to each part.
[0180] Step S601: Power on the server.
[0181] In some embodiments, when the server is powered on, the BMC chip on the motherboard is powered on and the BMC program starts running.
[0182] Specifically, the server is powered on; the BMC starts and begins initialization. After the server is powered on, the BMC chip on the motherboard powers on and begins running, and the BMC program begins running. The BMC is essentially a Linux system, so after powering on, it first initializes kernel-related functions. The server boots up; after the server is powered on, press the power button, and the server begins the boot process; the BIOS program begins running.
[0183] Step S602: The BIOS identifies the configuration information of the hardware devices in the server based on the peripheral circuits.
[0184] In some embodiments, when a server is configured with a large number of external hardware devices, a reserved interface, typically a GPIO signal, is provided on the motherboard design. The GPIO signal for the configuration information of each hardware device is different, and the configuration information of multiple hardware devices is distinguished by the difference in the high and low levels of multiple GPIOs.
[0185] In practice, the BIOS initializes the CPU and peripheral interfaces. When the BIOS begins running, it typically runs CPU-related code first, initializing the CPU itself and peripheral circuits. The BIOS reads GPIO signals to identify the power levels of various circuits (corresponding to hardware devices). After the BIOS completes peripheral circuit initialization, the peripheral circuit wiring and riser card levels are enabled, and the BIOS can read GPIO signals to obtain power levels. The BIOS defines configuration variables. Because the BIOS needs to store configuration variables, these parameters must be defined in advance, and space allocated in the BIOS FLASH for these parameters. The BIOS integrates the power levels of various circuits and assigns values to the configuration variables. After determining the relevant GPIO levels for each configuration, the BIOS performs the calculations according to the preset configuration scheme provided by the server motherboard hardware engineer, ultimately integrating the results into a specific configuration variable. The BIOS writes the configuration variable to NVRAM. Because the BIOS will subsequently process and transmit this variable, it writes it to NVRAM to prevent accidental overwriting. The BIOS allocates PCIE link signals based on the identified configuration. This PCIE link signal allocation primarily involves splitting the PCIE link signals based on the server configuration. Each CPU die corresponds to 16 lanes and can be split into up to 16 PCIE X1 signals. Depending on the server configuration, if this CPU die requires four X4 NVMe hard drives, the BIOS will split this die into four X4 signals. If this CPU die requires two X8 network adapters, the BIOS will split this die into two X8 signals, and so on.
[0186] Step S603: BIOS reads the configuration variables and sends them to the BMC.
[0187] In some embodiments, during the boot process, the BIOS and BMC interact via IPMI commands. The BIOS sends server asset information, including BIOS options, to the BMC via IPMI commands. During IPMI interaction, the BMC acts as a server, waiting for information to be sent and not actively sending it. Therefore, in embodiments of the present disclosure, configuration variables can be proactively sent from the BIOS to the BMC via IPMI commands during boot.
[0188] In some embodiments, the BIOS continues the boot process. After configuring the PCIE signal, the BIOS continues to run, interact with the external PCIE device and run the corresponding driver on the PCIE device.
[0189] In some embodiments, the BIOS reads configuration variables from NVRAM during interaction with the BMC and sends the configuration variables to the BMC via an IPMI command.
[0190] Specifically, during BIOS operation, it is necessary to interact with the BMC to transmit server asset information and BMC user information. Therefore, before the interaction, it is necessary to confirm whether the interaction with the BMC is normal. Because when the BIOS and BMC start up at the same time when the power is turned on immediately, there is a possibility that the BMC starts up slowly. Therefore, during the handshake, the BIOS will continuously send information to the BMC and wait for the BMC's response. If the BMC starts normally, it will respond with the expected information, and the BIOS will continue the boot process. If the BMC still does not respond after the maximum handshake time is reached, the BIOS will consider the interaction with the BMC to have failed, and will no longer shake hands with the BMC and continue the boot process.
[0191] In some embodiments, the BIOS continues to run, and when it runs to the POST information interface, it enters the BIOS SETUP in response to receiving the instruction information corresponding to the shortcut key. After the BIOS sends the required interactive commands, the POST information is displayed on the monitor, and the relevant function hotkeys are displayed. The BIOS POST interface will display various POST information, including the manufacturer's logo, BIOS version and date, CPU information, memory information and at least one of the network card information, and will also display the corresponding hotkey information. Hotkeys generally include a button to enter BIOS SETUP, a button to open the startup item, and a PXE startup button. Different manufacturers have different hotkeys for entering BIOS SETUP. Generally, they are ESC, Delete, or Enter keys.
[0192] In this way, engineers can view the current machine configuration variables and the corresponding configuration and wiring status on the specific page of BIOS SETUP. Generally, in BIOS SETUP, sensitive options can be displayed and hidden by using ctrl+F11 or other key combinations.
[0193] Step S604: The BMC WEB displays the configuration information of each hardware device of the server.
[0194] In some embodiments, the BMC web interface provides a platform for the BMC to display information to users, and the BIOS setup app also provides a platform for the BIOS to display information to users. Based on the project design and the acquired configuration variables of the current device, the BIOS and BMC display the wiring status of the corresponding configuration variables in the BMC web interface and BIOS setup app, respectively. This allows testers and customer service maintenance personnel to more easily view configuration status and identify configuration-related issues.
[0195] In some embodiments, the BMC receives and stores configuration variables. After receiving the IPMI command issued by the BIOS, the BMC also stores the variable in the FLASH to prevent it from being accidentally rewritten. The BMC makes classification judgments based on the corresponding situation of the configuration variables. Similar to the BIOS, the relevant wiring and Riser card conditions corresponding to the configuration variables are sorted and classified according to the preset configuration scheme and configuration variables. Log in to the BMC WEB, put the PC and BMC network in the same subnet, enter the BMC management network port IP in the browser, and you can enter the BMC WEB. Enter the BMC WEB related account password to log in. The BMC displays the configuration status corresponding to the configuration variables in the BMC WEB for users to view. The BMC specifically provides a BMC WEB option and related pages to display the configuration information corresponding to each hardware device of the server for test engineers or maintenance and customer service personnel to view and analyze.
[0196] In this way, the data processing method provided by the embodiment of the present disclosure has gotten rid of the previous need to obtain the BIOS LOG and analyze it in combination with the LOG and the server project plan. In the embodiment of the present disclosure, the analysis process is placed in the BIOS and the BMC itself. During the project development process, the project plan wiring situation is added to the firmware code and the corresponding configuration variables are defined. After the BIOS detects the current server configuration, it sets the configuration variables according to the corresponding conditions and sends the configuration variables to the BMC. Testers, customer service, and maintenance personnel can intuitively see the configuration variables of the current server and the device wiring conditions corresponding to the configuration variables through BIOS SETUP or BMC WEB, and perform relevant configuration diagnosis.
[0197] Figure 7 A first optional structural diagram of the data processing device provided by an embodiment of the present disclosure is shown, and will be explained according to each part.
[0198] In some embodiments, the data processing device is applied to a basic input / output system and includes an acquiring unit, a first determining unit, and a first transmitting unit.
[0199] The acquisition unit is used to acquire configuration information of each hardware device of the server based on the general input and output signal;
[0200] The first determining unit is configured to determine configuration variables corresponding to the server based on configuration information of each hardware device of the server, and store the configuration variables in a first memory;
[0201] The first transmission unit is used to obtain the configuration variables from the first memory and send them to the baseboard management controller based on the intelligent platform management interface, so that after the baseboard management controller receives the configuration variables, the configuration information of each hardware device of the server corresponding to the configuration variables is displayed on the management interface of the baseboard management controller.
[0202] The acquisition unit is specifically used to acquire the general input and output signal;
[0203] Based on the position and value of the characters in the general input and output signal, obtaining configuration information of each hardware device of the server;
[0204] The character positions of the general input and output signals corresponding to different hardware devices are different; and the configuration information corresponding to different character values is different.
[0205] The acquisition unit is specifically configured to determine configuration information of the expansion card based on at least one character representing the expansion card in the universal input / output signal; the configuration information of the expansion card includes at least one of type information, quantity information, and direction information;
[0206] Determining configuration information of the central processing unit based on at least one character representing the central processing unit in the general input / output signal; the configuration information of the central processing unit includes at least one of bit status information, type information, and model information;
[0207] The configuration information of the memory is determined based on at least one character representing the memory in the general input / output signal; the configuration information of the memory includes slot occupancy information, type information, capacity information and channel configuration information.
[0208] The first determining unit is specifically configured to define a configuration variable and determine a storage space for the configuration variable in the second memory;
[0209] Determine the mode corresponding to the server based on the configuration information of each hardware device of the server;
[0210] Based on the mode corresponding to the server, the configuration variable is assigned a value, and the assigned value is the configuration variable corresponding to the server.
[0211] In some optional embodiments, the data processing device may further include a processing unit.
[0212] The processing unit, after determining the configuration variables corresponding to the server based on the configuration information of each hardware device of the server, is configured to do at least one of the following:
[0213] allocating a Peripheral Component Interconnect Express link signal based on a configuration variable corresponding to the server;
[0214] Interact with the Peripheral Component Interconnect Express device and run the driver corresponding to the Peripheral Component Interconnect Express device.
[0215] The first transmission unit is specifically configured to send handshake information to the baseboard management controller;
[0216] If the baseboard management controller responds to the handshake information, the configuration variables are obtained from the first memory and sent to the baseboard management controller.
[0217] The processing unit is further configured to enter a basic input / output system configuration interface in response to running to the first information interface and receiving instruction information;
[0218] The configuration information of each hardware device of the server is displayed on the basic input and output system configuration interface.
[0219] The processing unit is further configured to initialize the central processing unit and at least one peripheral interface before acquiring configuration information of each hardware device of the server based on the general input and output signal.
[0220] The processing unit is specifically configured to determine the compatibility between the central processing unit and the motherboard based on at least one of the model information, the number of cores, and the main frequency information of the central processing unit;
[0221] Activate the computing function of the central processing unit;
[0222] Determines the power configuration for the CPU.
[0223] The processing unit is specifically configured to:
[0224] Initialize the slot of the high-speed peripheral component interconnect device and determine the electrical characteristics of the corresponding interface;
[0225] Confirm the number, capacity, and frequency of memory modules in the memory slots;
[0226] Initialize the input and output signal interface.
[0227] Figure 8 A second optional structural diagram of the data processing device provided by an embodiment of the present disclosure is shown, and will be explained according to each part.
[0228] In some embodiments, a data processing device is applied to a baseboard management controller and includes a second transmission unit, a second determination unit, and a display unit.
[0229] The second transmission unit is used to receive the configuration variables corresponding to the server sent by the basic input and output system based on the intelligent platform management interface;
[0230] The second determining unit is configured to determine configuration information of each hardware device of the server based on the configuration variables corresponding to the server and a preset configuration scheme;
[0231] The display unit is used to display the configuration information of each hardware device of the server corresponding to the configuration variable on the management interface of the baseboard management controller.
[0232] The second transmission unit is further configured to store the configuration variables corresponding to the server in a third memory.
[0233] The second determining unit is specifically configured to determine preset configuration information of each hardware device of the server based on the configuration variables corresponding to the server;
[0234] Matching the preset configuration information of each hardware device of the server with the preset configuration scheme, and determining the preset configuration scheme with the highest matching degree as the target configuration scheme;
[0235] Based on the configuration information of each hardware device corresponding to the target configuration scheme, the configuration information of each hardware device of the server is determined.
[0236] The display unit is specifically configured to respond to logging into the management interface of the baseboard management controller based on the login information;
[0237] The configuration information of each hardware device of the server corresponding to the configuration variable is displayed on the management interface of the baseboard management controller.
[0238] In some embodiments, the configuration variables corresponding to the server are determined by configuration information of each hardware device of the server obtained by the basic input and output system based on the general input and output signal.
[0239] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.
[0240] Figure 9 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are provided as examples only and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0241] like Figure 9As shown, electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of electronic device 800. Computing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to bus 804.
[0242] Multiple components in the electronic device 800 are connected to the I / O interface 805, including an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a magnetic disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the electronic device 800 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0243] The computing unit 801 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the data processing method. For example, in some embodiments, the data processing method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed onto the electronic device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the data processing method by any other suitable means (e.g., via firmware).
[0244] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0245] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0246] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0247] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0248] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0249] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.
[0250] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not a limitation herein.
[0251] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the present disclosure, "plurality" means two or more, unless otherwise specifically defined.
[0252] The above description is merely a specific embodiment of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this disclosure should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims.
Claims
1. A data processing method, characterized in that: Applied to a basic input and output system, the method includes: Obtain configuration information of each hardware device of the server based on general input and output signals; Defining configuration variables and determining storage space for the configuration variables in the second memory; determining a mode corresponding to the server based on configuration information of each hardware device of the server; assigning values to the configuration variables based on the mode corresponding to the server, and storing the configuration variables in the first memory; The configuration variables are obtained from the first memory and sent to the baseboard management controller based on the intelligent platform management interface, so that after the baseboard management controller receives the configuration variables, the configuration information of each server hardware device corresponding to the configuration variables is displayed on the management interface of the baseboard management controller.
2. The method according to claim 1, characterized in that The method of obtaining configuration information of each hardware device of the server based on the general input and output signal includes: Get general input and output signals; Based on the position and value of the characters in the general input and output signal, obtaining configuration information of each hardware device of the server; The character positions of the general input and output signals corresponding to different hardware devices are different; and the configuration information corresponding to different character values is different.
3. The method according to claim 2, characterized in that The obtaining of configuration information of each hardware device of the server based on the position and value of the character in the general input and output signal includes: Determining configuration information of the expansion card based on at least one character representing the expansion card in the universal input / output signal; the configuration information of the expansion card includes at least one of type information, quantity information, and direction information; Determining configuration information of the central processing unit based on at least one character representing the central processing unit in the general input / output signal; the configuration information of the central processing unit includes at least one of bit status information, type information, and model information; The configuration information of the memory is determined based on at least one character representing the memory in the general input / output signal; the configuration information of the memory includes slot occupancy information, type information, capacity information and channel configuration information.
4. The method according to claim 1, wherein After determining the configuration variables corresponding to the server based on the configuration information of each hardware device of the server, the method further includes at least one of the following: allocating a Peripheral Component Interconnect Express link signal based on a configuration variable corresponding to the server; Interact with the Peripheral Component Interconnect Express device and run the driver corresponding to the Peripheral Component Interconnect Express device.
5. The method according to claim 1, wherein The obtaining the configuration variable from the first memory and sending the configuration variable to the baseboard management controller based on the intelligent platform management interface includes: Send handshake information to the baseboard management controller; If the baseboard management controller responds to the handshake information, the configuration variables are obtained from the first memory and sent to the baseboard management controller.
6. The method according to claim 1 or 5, characterized in that The method further comprises: In response to running to the first information interface and receiving the instruction information, entering the basic input and output system configuration interface; The configuration information of each hardware device of the server is displayed on the basic input and output system configuration interface.
7. The method according to claim 1, characterized in that Before obtaining the configuration information of each hardware device of the server based on the universal input and output signal, the method further includes: Initialize the central processing unit and at least one peripheral interface.
8. The method according to claim 7, characterized in that Initializing the central processing unit and at least one peripheral interface includes: Determining compatibility between the central processing unit and the motherboard based on at least one of the model information, the number of cores, and the main frequency information of the central processing unit; Activate the computing function of the central processing unit; Determines the power configuration for the CPU.
9. The method according to claim 7, characterized in that Initializing the central processing unit and at least one peripheral interface includes at least one of the following: Initialize the high-speed peripheral component interconnect device slot and determine the electrical characteristics of the corresponding interface of the central processing unit; Confirm the number, capacity, and frequency of memory modules in the memory slots; Initialize the input and output signal interface.
10. A data processing method, characterized in that: Applied to a baseboard management controller, the method includes: receiving configuration variables corresponding to a server sent by a basic input / output system based on an intelligent platform management interface; wherein the configuration variables corresponding to the server are determined by the basic input / output system, specifically comprising defining the configuration variables by the basic input / output system and determining storage space for the configuration variables in a second memory; determining a mode corresponding to the server based on configuration information of each hardware device of the server; and assigning values to the configuration variables based on the mode corresponding to the server, the assigned values being the configuration variables corresponding to the server; Determine the configuration information of each hardware device of the server based on the configuration variables corresponding to the server and the preset configuration scheme; The configuration information of each hardware device of the server corresponding to the configuration variable is displayed on the management interface of the baseboard management controller.
11. The method according to claim 10, characterized in that After receiving the configuration variables corresponding to the server sent by the basic input and output system based on the intelligent platform management interface, the method further includes: The configuration variables corresponding to the server are stored in a third memory.
12. The method according to claim 10, characterized in that The determining of configuration information of each hardware device of the server based on the configuration variables corresponding to the server and the preset configuration scheme includes: Determine preset configuration information of each hardware device of the server based on the configuration variables corresponding to the server; Matching the preset configuration information of each hardware device of the server with the preset configuration scheme, and determining the preset configuration scheme with the highest matching degree as the target configuration scheme; Based on the configuration information of each hardware device corresponding to the target configuration scheme, the configuration information of each hardware device of the server is determined.
13. The method according to claim 10, characterized in that The method further comprises: In response to logging into the management interface of the baseboard management controller based on the login information; The configuration information of each hardware device of the server corresponding to the configuration variable is displayed on the management interface of the baseboard management controller.
14. A data processing device, characterized in that: Applied to a basic input and output system, the device comprises: An acquisition unit, configured to acquire configuration information of each hardware device of the server based on a general input and output signal; A first determining unit is configured to define a configuration variable and determine storage space for the configuration variable in the second memory; determine a mode corresponding to the server based on configuration information of each hardware device of the server; assign a value to the configuration variable based on the mode corresponding to the server, the assigned value being the configuration variable corresponding to the server, and store the configuration variable in the first memory; The first transmission unit is used to obtain the configuration variables from the first memory and send them to the baseboard management controller based on the intelligent platform management interface, so that after the baseboard management controller receives the configuration variables, the configuration information of each hardware device of the server corresponding to the configuration variables is displayed on the management interface of the baseboard management controller.
15. A data processing device, characterized in that: Applied to a baseboard management controller, the device includes: a second transmission unit, configured to receive configuration variables corresponding to the server sent by the basic input / output system based on the intelligent platform management interface; wherein the configuration variables corresponding to the server are determined by the basic input / output system, specifically comprising defining the configuration variables by the basic input / output system and determining storage space for the configuration variables in a second memory; determining a mode corresponding to the server based on configuration information of each hardware device of the server; and assigning values to the configuration variables based on the mode corresponding to the server, the assigned values being the configuration variables corresponding to the server; A second determining unit, configured to determine configuration information of each hardware device of the server based on configuration variables corresponding to the server and a preset configuration scheme; The display unit is used to display the configuration information of each hardware device of the server corresponding to the configuration variable on the management interface of the baseboard management controller.
16. An electronic device, characterized in that: include: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 9; Alternatively, the method of any one of claims 10-13 can be performed.
17. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to make a computer execute the method according to any one of claims 1 to 9; Alternatively, the method of any one of claims 10-13 can be performed.
18. A computer program product, characterized in that comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 9; Alternatively, the method according to any one of claims 10-13 is implemented.
Citation Information
Patent Citations
Server and detection method of server
CN104679619A
Implementation method and system of BMC (baseboard management controller) code logic
CN108920175A