Server operation starting method and device, server, and storage medium

By loading the extended memory of external devices in the external loading order during the server's power-on self-test, and reassigning addressing space when resources are insufficient, the problem of insufficient OPROM resource allocation in traditional startup mode is solved, ensuring the normal operation of external devices and efficient startup of the server.

WO2025118803A1PCT designated stage expired Publication Date: 2025-06-12INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
PCT/CN2024/122656
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-06
Filing Date
2024-09-30
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

In traditional startup mode, the server's OPROM resource allocation is insufficient, causing external devices to fail to work normally, affecting the server's startup and operation.

Method used

During the server's power-on self-test, the target configuration space is used to load the extended memory of each target external device in accordance with the external loading order, and when insufficient space is detected, the preset addressing space is reassigned to ensure that the configuration space of the external device loading module is greater than or equal to the sum of the target configuration space and the demand space.

Benefits of technology

It effectively solves the problem of insufficient allocation of OPROM resources, ensures the normal loading and use of external devices, and improves the server's startup and operation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024122656_12062025_PF_FP_ABST
    Figure CN2024122656_12062025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of servers and discloses a server operation starting method and device, a server, and a storage medium. The method comprises: in a power-on self-test process of a server, on the basis of an external loading sequence, using a target configuration space to load an extended memory of each target external device; in response to detecting that the space of the target configuration space is insufficient, detecting the remaining space of another module in a preset addressing space; and in response to determining that the remaining space meets a demand space corresponding to the target configuration space, re-allocating the preset addressing space, to make the configuration space reallocated to an external device loading module be greater than or equal to the sum of the target configuration space and the demand space. According to the present application, when the configuration space of the external device loading module is insufficient, memory resources can be reintegrated on the basis of the use condition of the configuration space allocated to each module, it is guaranteed that limited memory resources can be utilized to the maximum extent, and the occurrence of an external device being unable to be used normally is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

A server startup method, device, server and storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on December 6, 2023, with application number 202311660541.2, entitled “A method, device, server and storage medium for starting and running a server”, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of server technology, and in particular to a method and device for starting and running a server, a server, and a storage medium. Background Art

[0004] The Basic Input Output System (BIOS) is a set of programs that are fixed to a ROM (Read-Only Memory) device on the computer's motherboard. It stores the computer's most important basic input and output programs, system settings, power-on self-test programs, and system bootstrap programs, also known as the legacy boot mode.

[0005] In traditional boot mode, server resources are allocated to various components, and server resources are subject to certain space limitations. Boot items and external devices each occupy different resources. Loading the OPROM (Option ROM) of an external device is a crucial step in resource loading, as it determines whether the external device can function properly. Different external devices require different OPROM resources. When there are many external devices, insufficient OPROM resources may be allocated, affecting their proper function.

[0006] Summary of the Invention

[0007] To solve the above technical problems, the present application provides a method for starting and running a server, comprising:

[0008] During the server's power-on self-test process, the extended memory of each target external device is loaded using the target configuration space according to the external loading order; wherein the target configuration space is the configuration space allocated for the external device loading module in the preset addressing space, and the target external device is the external device corresponding to the external loading order among all the external devices connected to the server;

[0009] In response to detecting that the target configuration space is insufficient, detecting remaining space of other modules in the preset addressing space; and

[0010] In response to determining that the remaining space satisfies the required space corresponding to the target configuration space, the preset addressing space is reallocated so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space; wherein the required space is the addressing space required by the unloaded target external device.

[0011] In some embodiments, after detecting the remaining space of other modules in the preset addressing space, the method further includes:

[0012] In response to determining that the remaining space does not meet the required space, displaying a configuration environment interface; and

[0013] Execute corresponding operations according to the configuration control instructions triggered by the configuration environment interface; wherein the configuration control instructions include at least one of a shutdown instruction, a resume startup instruction, and an external device reload instruction.

[0014] In some embodiments, before displaying the configuration environment interface, the method further includes:

[0015] Get insufficient space control instructions;

[0016] In response to determining that the insufficient space control instruction is an instruction to enter a configuration environment, executing a step of displaying a configuration environment interface;

[0017] In response to determining that the insufficient space control instruction is a shutdown instruction, controlling the server to shut down; or

[0018] In response to determining that the insufficient space control instruction is a continue boot instruction, the unloaded external device is abandoned and the subsequent power-on self-test process is continued.

[0019] In some embodiments, obtaining the insufficient space control instruction includes:

[0020] An insufficient space control instruction is generated according to the priority information of the target external device that is not loaded in the external device priority information; wherein the external device priority information includes priority information of external devices of various device types connected to the server.

[0021] In some embodiments, displaying a configuration environment interface includes:

[0022] The configuration environment interface is displayed on the remote terminal through the baseboard management controller.

[0023] In some embodiments, the configuration environment interface includes a loaded external device list and an unloaded external device list, and the loaded external device list includes device information and extended memory size information of loaded external devices.

[0024] In some embodiments, when the configuration control instruction includes an external device reloading instruction, the external device reloading instruction includes external device information to be loaded and external device information to be abandoned, and the external device information to be abandoned includes device information of the loaded external device.

[0025] In some embodiments, according to the configuration control instruction triggered by the configuration environment interface, corresponding operations are performed, including:

[0026] In response to determining that the configuration control instruction is an external device reload instruction, reloading the extended memory in the target configuration space according to the external device information to be loaded and the external device information to be discarded; and

[0027] In response to determining that insufficient space in the target configuration space is detected during the reloading process, the unloaded external device is abandoned and a subsequent power-on self-test process is continued.

[0028] In some embodiments, after reallocating the preset addressing space so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space, the method further includes:

[0029] In response to detecting that the configuration space reallocated to the external device loading module is insufficient, displaying a configuration environment interface; and

[0030] Execute corresponding operations according to the configuration control instructions triggered by the configuration environment interface; wherein the configuration control instructions include at least one of a shutdown instruction, a resume startup instruction, and an external device reload instruction.

[0031] In some embodiments, reallocating the preset addressing space so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space includes:

[0032] The preset addressing space is reallocated so that the configuration space reallocated to the external device loading module is the sum of the target configuration space and the remaining space.

[0033] In some embodiments, during the server's power-on self-test process, before loading the extended memory of each target external device using the target configuration space according to the external loading order, the process includes:

[0034] Determine the external loading order according to the external device priority information; wherein the external device priority information includes priority information of external devices of various device types connected to the server;

[0035] According to the external loading order, the extended memory of each target external device is loaded using the target configuration space.

[0036] In some embodiments, before determining the external loading order according to the external device priority information, the method further includes:

[0037] Determine a target model of the server based on the acquired server model information; wherein the target model is any preset model, and the preset models include computer models and storage models; and

[0038] The preset priority information corresponding to the target model is determined as the external device priority information.

[0039] In some embodiments, the step of determining a target server model based on the acquired server model information further includes:

[0040] Obtaining business scenario information from the server; and

[0041] Determine the target server model based on the model information and business scenario information.

[0042] In some embodiments, before determining the preset priority information corresponding to the target model as the external device priority information, the method further includes:

[0043] Obtain the target model's requirements for external devices; and

[0044] Determine the preset priority information corresponding to the target model based on the needs.

[0045] In some embodiments, the priority information of external devices of each device type connected to the server includes the priority of each device type to be loaded and disabled device type information.

[0046] In some embodiments, during the server's power-on self-test process, before the step of loading the extended memory of each target external device using the target configuration space in accordance with the external loading order, the method further includes:

[0047] In response to determining that the server is powered on, a target configuration space is allocated for the external device loading module using a preset addressing space based on a resource allocation method.

[0048] In some embodiments, during the server's power-on self-test process, after the step of loading the extended memory of each target external device using the target configuration space according to the external loading order, the method further includes:

[0049] In response to not detecting insufficient space in the target configuration space, entering an operating system or a pre-boot execution environment.

[0050] The present application also provides a server startup and operation device, comprising:

[0051] The loading unit is configured to load the extended memory of each target external device using a target configuration space in accordance with an external loading order during a power-on self-test process of the server; wherein the target configuration space is a configuration space allocated for the external device loading module in a preset addressing space, and the target external device is an external device corresponding to the external loading order among all external devices connected to the server;

[0052] a detection unit, configured to detect remaining space of other modules in a preset addressing space in response to detecting that insufficient space is in the target configuration space; and

[0053] A reallocation unit is used to reallocate the preset addressing space in response to determining that the remaining space meets the required space corresponding to the target configuration space, so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space; wherein the required space is the addressing space required by the unloaded target external device.

[0054] The present application also provides a server, including:

[0055] one or more processors; and

[0056] A memory associated with one or more processors, the memory is used to store computer-readable instructions, and the computer-readable instructions implement the steps of the server startup method as described above when read and executed by the one or more processors.

[0057] In addition, the present application also provides a non-transitory computer-readable storage medium, which stores computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the steps of the server startup method as described above are implemented.

[0058] The present application provides a method for starting and running a server, comprising: during a power-on self-test process of the server, using a target configuration space to load an extended memory of each target external device according to an external loading order; wherein the target configuration space is a configuration space allocated for an external device loading module in a preset addressing space, and the target external device is an external device corresponding to the external loading order among all external devices connected to the server; in response to detecting that the target configuration space is insufficient, detecting remaining space of other modules in the preset addressing space; in response to determining that the remaining space meets a required space corresponding to the target configuration space, reallocating the preset addressing space so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space; wherein the required space is the addressing space required by the unloaded target external device; BRIEF DESCRIPTION OF THE DRAWINGS

[0059] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.

[0060] FIG1 is a flow chart of a method for starting and running a server provided in an embodiment of the present application;

[0061] FIG2 is a flow chart of another method for starting and operating a server provided in an embodiment of the present application;

[0062] FIG3 is a flow chart of another method for starting and running a server provided in an embodiment of the present application;

[0063] FIG4 is a flow chart of another method for starting and operating a server provided in an embodiment of the present application;

[0064] FIG5 is a schematic diagram of a configuration flow of a configuration environment interface of another server startup method provided in an embodiment of the present application;

[0065] FIG6 is a structural block diagram of a server startup and operation device provided in an embodiment of the present application;

[0066] FIG7 is a schematic diagram of the structure of a server provided in an embodiment of the present application;

[0067] FIG8 is a schematic diagram of the structure of a computer-readable storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION

[0068] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0069] Please refer to Figure 1, which is a flow chart of a method for starting and running a server provided by an embodiment of the present application. The method may include:

[0070] Step 101: During the server's power-on self-test process, the extended memory of each target external device is loaded using the target configuration space in accordance with the external loading order; wherein the target configuration space is the configuration space allocated for the external device loading module in the preset addressing space, and the target external device is the external device corresponding to the external loading order among all external devices connected to the server.

[0071] It can be understood that, in this embodiment, after the server is powered on, it can use the Legacy boot mode (traditional boot mode) of the BIOS (basic input and output system) to perform a power-on self-test; during the power-on self-test process, the BIOS can allocate necessary memory resources (i.e., configuration space) to each module (such as the startup item loading module and the external device loading module, etc.) based on a standard resource allocation method using a fixed-size addressing space (i.e., a preset addressing space) to ensure that different modules can be correctly loaded and used during the normal operation of the server. Among them, the external device loading module can be used to load and copy the module of the extended memory of each target external device in the external loading sequence in its allocated configuration space (i.e., target space). Among them, this embodiment does not limit the size of the preset addressing space. For example, the preset addressing space can be the 1M addressing space conventionally defined in the Legacy boot mode (such as the 1M addressing space in Figure 2).

[0072] Correspondingly, the external loading order in this step may be the order of loading external devices. The target external device in this step may be an external device included in the external loading order among all external devices connected to the server; the target external device may be all or part of the external devices connected to the server. The external device in this embodiment may be a PCIE (peripheral component interconnect express, a high-speed serial computer expansion bus standard) device, that is, a device supported by PCIE. The external device includes multiple components, and the component may be an extended memory (Option ROM, also known as OPROM). During the POST (Power-on Self Test) stage, the BIOS can scan whether the PCIE device has an extended memory, and if so, copy it to a specific memory (i.e., the target configuration space) for execution. External devices connected to the server may include various types of external devices, such as VGA (Video Graphics Array, a standard display interface), onboard network card, external network card, SAS (Serial Attached SCSI, serial attached SCSI) card, Raid (Redundant Arrays of Independent Disks, disk array) card, onboard Raid, SOL (Serial Over LAN, a data packet format and protocol specification) and NVMe (Non-Volatile Memory express, non-volatile memory host controller interface specification), etc.

[0073] Among them, the way in which the server uses BIOS in this step to load the extended memory of each target external device using the target configuration space in accordance with the external loading order during the server's power-on self-test process can be set by the designer according to the practical scenario and user needs. For example, it can be implemented in the same or similar manner as the extended memory loading method of the external device in the related art; further, since the loading order of the extended memory of the external device is adjustable, the BIOS in this step can determine the external loading order based on the external device priority information; and load the extended memory of each target external device using the target configuration space in accordance with the external loading order. Among them, the external device priority information includes the priority information of the external devices of each device type connected to the server, so that the order of the extended memory of the loaded external devices can be made more in line with the user's needs by using the setting of the external device priority information. This embodiment does not impose any restrictions on this.

[0074] Step 102: In response to detecting that the target configuration space is insufficient, detecting remaining space of other modules in the preset addressing space.

[0075] Among them, in this step, when the BIOS detects that the target configuration space (such as the PCIE OPROM space in Figure 2) has insufficient space, that is, the target configuration space cannot load the extended memory of all target external devices, it can detect other modules allocated to the configuration space (such as the startup item loading module) after the corresponding content is loaded, and the remaining space in the configuration space allocated to each module is left, such as the remaining space B1 and C1 in Figure 2.

[0076] Step 103: In response to determining that the remaining space satisfies the required space corresponding to the target configuration space, reallocate the preset addressing space so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space; wherein the required space is the addressing space required by the unloaded target external device.

[0077] It can be understood that in this step, the BIOS can reallocate the preset addressing space when the remaining space of other modules can meet the addressing space (i.e., demand space) required by the external devices (i.e., target external devices) not loaded in the external loading order, so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the demand space, so that the reallocated configuration space for the external device loading module can meet the loading of the extended memory of all external devices in the partial loading order, reducing the situation in which the external devices cannot be used normally due to insufficient memory resources allocated to the extended memory of the external devices in the Legacy boot mode.

[0078] Correspondingly, the way in which the BIOS reallocates the preset addressing space in this step so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space can be set by the designer according to the usage scenario and user needs. For example, the BIOS can reallocate the preset addressing space so that the configuration space reallocated to the external device loading module is the sum of the target configuration space and the remaining space, that is, the configuration space reallocated to other modules is the difference between the previously allocated configuration space and the remaining space, so as to reallocate the size of all the remaining space of other modules to the external device loading module. The BIOS can also reallocate part of the remaining space of other modules to the external device loading module. For example, on the basis of ensuring that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space, other modules with remaining space can reallocate the size of the remaining space to the external device loading module according to a certain ratio. This embodiment does not impose any restrictions on this.

[0079] It should be noted that before this step, the BIOS may also determine whether the remaining space meets the required space corresponding to the target configuration space. As shown in Figure 2, the BIOS may determine whether the sum of the remaining space (B1 + B2) is greater than the required space (A1); in response to determining that the sum of the remaining space (B1 + B2) is greater than the required space (A1), the BIOS determines that the remaining space meets the required space corresponding to the target configuration space; in response to determining that the sum of the remaining space (B1 + B2) is not greater than the required space (A1), the BIOS determines that the remaining space does not meet the required space corresponding to the target configuration space.

[0080] Correspondingly, for the situation in this embodiment where the remaining space does not meet the required space corresponding to the target configuration space, the designer can set it up by himself according to the practical scenario and user needs. For example, it can be implemented in the same or similar way as the processing method when the space loaded by the extended memory in the related art is insufficient, such as directly shutting down or continuing to start. In order to meet user needs, in this embodiment, the BIOS displays a configuration environment interface (such as the configuration environment page in Figure 2) in response to determining that the remaining space does not meet the required space corresponding to the target configuration space; performs corresponding operations according to the configuration control instructions triggered by the configuration environment interface; wherein the configuration control instructions include at least one of a shutdown instruction, a continue startup instruction, and an external device reload instruction. In other words, users or managers can trigger corresponding configuration control instructions in the configuration environment interface according to their own needs to control the subsequent startup process.

[0081] Correspondingly, when reallocating the preset addressing space, the configuration space reallocated to the external device loading module is made the sum of the target configuration space and the remaining space. After reallocating the preset addressing space, in response to detecting again that the configuration space reallocated to the external device loading module is insufficient, the configuration environment interface can also be displayed; and corresponding operations are performed according to the configuration control instructions triggered by the configuration environment interface.

[0082] It should be noted that this embodiment is based on the reallocation of the preset addressing space when the configuration space (i.e., the target configuration space) of the external device loading module in the Legacy boot mode of the BIOS is insufficient. For the situation where the configuration space of other modules is insufficient, the preset addressing space can be regulated in the same or similar manner as the method provided in this embodiment to ensure that limited memory resources can be maximized. This embodiment does not impose any restrictions on this.

[0083] In this embodiment, the embodiment of the present application reallocates the preset addressing space so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space. When the configuration space of the external device loading module is insufficient, the memory resources can be reintegrated, and the memory resources can be reallocated and loaded according to the usage of the configuration space allocated to each module to ensure that the limited memory resources can be maximized, and the situation where the external device cannot be used normally due to insufficient memory resources of the extended memory allocated to the external device in the traditional startup mode is reduced.

[0084] Based on the above embodiments, the present application also provides another server startup method to make the loaded external devices more in line with user needs and ensure that key external devices can be used normally. In some embodiments, please refer to Figure 3, which is a flow chart of another server startup method provided by the present application. The method may include:

[0085] Step 201: During the server's power-on self-test process, determine the external loading order based on external device priority information.

[0086] The external device priority information includes priority information of external devices of various device types connected to the server.

[0087] It can be understood that the external device priority information in this embodiment can be a pre-set priority information of external devices of various device types that a server can connect to, so that the server's BIOS can configure the loading order of the OPROM (extended memory) of the external device (such as a PCIE device) according to the external device priority information.

[0088] Correspondingly, the method provided in this embodiment may also include a process for obtaining external device priority information. For example, when only one preset priority information is set, the BIOS can directly obtain the preset priority information as the external device priority information. When multiple preset priority information are set, the BIOS can select and obtain one preset priority information from the multiple preset priority information as the external device priority information. For example, when the preset priority information corresponding to the models of various servers (i.e., preset models) is pre-set, the BIOS can determine the target model of the server based on the obtained server model information; wherein, the target model is any preset model, and the preset models include computer models and storage models; the preset priority information corresponding to the target model is determined as the external device priority information. Furthermore, the BIOS can also determine the target model of the server based on the obtained server model information and business scenario information.

[0089] For example, based on the basic configuration model of the server, the server can be divided into computer type, storage type and composite type. Different models have different application focuses and different requirements for external devices. Therefore, the preset priority information corresponding to each model can be set according to the needs of users and models, so that the external loading order of different models is different. For example, the most important thing for the computer type is the demand for network card devices, and the demand for storage devices such as SOL and SAS cards is relatively low. Therefore, in the preset priority information corresponding to the computer type, the priorities of device types such as VGA, onboard network card, external network card, external network card, SAS card, Raid card, onboard Raid and SOL (i.e., the type of device to be loaded) can be reduced in sequence, so that the corresponding external loading order can be VGA->onboard network card->external network card->SAS card->Raid card->onboard Raid->SOL, so that the loading order of multiple network cards can also be automatically adjusted; the most important thing for the storage model is the demand for storage devices The priority of the demand for devices such as SOL and network card will be relatively low. Therefore, in the preset priority information corresponding to the storage model, the priorities of device types such as VGA, SAS card, Raid card, onboard Raid, onboard network card, external network card and SOL can be reduced in sequence, so that the corresponding external loading order can be VGA->SAS card->Raid card->onboard Raid->onboard network card->external network card->SOL, so that the loading order of multiple network cards can also be automatically adjusted; for models without requirements (such as composite models), the corresponding preset priority information can be not set, and they can be loaded according to the BIOS default external loading order.

[0090] That is to say, in the preset priority information corresponding to the computer type, each network card device can be of high priority, and in the preset priority information corresponding to the storage model, device types such as SAS cards and NVME can be of high priority. For those without SOL application requirements, SOL can also be directly disabled without loading, thereby achieving the purpose of saving resources; that is, the priority information of each device type of external device connected to the server in the external device priority information (i.e., preset priority information) in this step may include the priority of each device type to be loaded and the disabled device type information (such as SOL disabling information).

[0091] For example, the model information can be the FRU info (field replaceable unit information) unique to the model. After the server is powered on, the BIOS can determine the target model based on the server's FRU info; and configure the external loading order based on the preset priority information corresponding to the target model (i.e., external device priority information).

[0092] Step 202: Load the extended memory of each target external device using the target configuration space according to the external loading order.

[0093] The target configuration space is a configuration space allocated for the external device loading module in the preset addressing space, and the target external device is an external device corresponding to the external loading order among all external devices connected to the server.

[0094] It is understandable that this step is similar to step 101 and will not be described in detail here.

[0095] Step 203: In response to detecting that the target configuration space is insufficient, detecting remaining space of other modules in the preset addressing space.

[0096] Correspondingly, if insufficient space in the target configuration space is not detected in this embodiment, the subsequent process of the power-on self-test can be continued, such as entering the operating system (OS) or the preboot eXecute Environment (PXE), and this embodiment does not impose any restrictions on this.

[0097] Step 204: Determine whether the remaining space meets the required space corresponding to the target configuration space; in response to determining that the remaining space meets the required space corresponding to the target configuration space, proceed to step 205; in response to determining that the remaining space does not meet the required space corresponding to the target configuration space, proceed to step 206.

[0098] The required space is the addressing space required by the unloaded target external device. For example, in this step, it can be determined whether the sum of the remaining spaces is greater than the required space; in response to determining that the sum of the remaining spaces is greater than the required space, it is determined that the remaining space meets the required space corresponding to the target configuration space; in response to determining that the sum of the remaining spaces is not greater than the required space, it is determined that the remaining space does not meet the required space corresponding to the target configuration space.

[0099] Step 205: reallocate the preset addressing space so that the configuration space reallocated to the external device loading module is the sum of the target configuration space and the remaining space.

[0100] It can be understood that in this step, the BIOS can reallocate the preset addressing space in response to determining that the remaining space meets the required space corresponding to the target configuration space, so that the configuration space reallocated to the external device loading module is the sum of the target configuration space and the remaining space, so as to ensure that after the reallocation, the configuration space allocated to the external device loading module can meet the loading of the extended memory of all target external devices.

[0101] Furthermore, in this embodiment, after reallocating the preset addressing space so that the configuration space reallocated to the external device loading module is the sum of the target configuration space and the remaining space, in response to detecting again that the configuration space reallocated to the external device loading module is insufficient, the configuration environment interface can be displayed to perform corresponding operations according to the configuration control instructions triggered by the configuration environment interface; as shown in Figure 4, it is also possible to select one of the methods to execute according to the preset rules, from controlling the server shutdown, entering the configuration environment to display the configuration environment interface, and continuing to start (go on); the BIOS startup mode can also be switched, such as switching from the Legacy startup mode to the UEFI (Unified Extensible Firmware Interface) startup mode.

[0102] Step 206: Display the configuration environment interface.

[0103] Among them, in this step, the BIOS can display the configuration environment interface in response to determining that the remaining space does not meet the required space corresponding to the target configuration space, so that the user or administrator can trigger the corresponding configuration control instructions in the configuration environment interface according to their own needs to control the subsequent startup process.

[0104] Correspondingly, in this embodiment, the BIOS can directly display the configuration environment interface in response to determining that the remaining space does not meet the required space corresponding to the target configuration space. In response to determining that the remaining space does not meet the required space corresponding to the target configuration space, the BIOS can obtain an insufficient space control instruction, so that when the obtained insufficient space control instruction is an enter configuration environment instruction, the configuration environment interface is displayed again; in response to determining that the obtained insufficient space control instruction is a shutdown instruction, the BIOS can control the server to shut down, so that the user can manually remove or replace the card and adjust the external device after the server is powered off, and then enter the OS or PXE after powering on again; in response to determining that the obtained insufficient space control instruction is a continue startup instruction, the BIOS can abandon the unloaded external device and continue the subsequent power-on self-test process, such as entering the OS or PXE.

[0105] Accordingly, the above-mentioned method of obtaining the insufficient space control instruction can be set by the designer. For example, the BIOS can directly obtain the stored insufficient space control instruction, that is, the insufficient space control instruction can be a pre-set instruction to be executed when the remaining space does not meet the required space corresponding to the target configuration space, such as the instruction previously set in the configuration environment interface, so that when the target configuration space is insufficient again during the process of reloading the extended memory in the target configuration space, the unloaded external device can be directly abandoned and the startup can be continued; as shown in Figure 5, in the process of reloading the extended memory in the target configuration space during the DXE (driver execution environment, loading device driver) stage or the BDS (boot device select, startup item selection) stage, in response to the detection of insufficient space in the target configuration space again, the unloaded external device can be directly abandoned and the startup can be continued. The BIOS can also generate the insufficient space control instruction based on the priority information of the unloaded target external device in the external device priority information; if the priority of the device type of the unloaded target external device is less than the preset priority value, the insufficient space control instruction that can be generated can be a continue startup instruction; if the priority of the device type of the unloaded target external device is not less than the preset priority value, the insufficient space control instruction that can be generated can be an enter configuration environment instruction.

[0106] It is understood that the method for displaying the configuration environment interface in this step can be set by the designer based on practical scenarios and user needs. For example, the BIOS can directly display the configuration environment interface on the server's display device. The BIOS can also display the configuration environment interface on a remote terminal through a baseboard management controller (BMC). That is, the configuration environment interface can be displayed on a web page on the remote terminal to achieve out-of-band configuration control. Correspondingly, the BIOS can receive configuration control instructions triggered by the configuration environment interface through the BMC.

[0107] It should be noted that the display content of the configuration environment interface in this embodiment can be set by the designer according to practical scenarios and user needs. As shown in Figure 5, the configuration environment interface can include a list of loaded external devices and a list of unloaded external devices. The loaded external device list can include device information (such as name) and extended memory (OPROM) size information of the loaded external devices; the unloaded external device list can include device information and extended memory size information of all or part of the unloaded external devices (such as the target external device), so as to facilitate the user to select the card to release space (i.e., the loaded external device to be abandoned), the card to reload the extended memory (i.e., the external device to be loaded later), and the card to be disabled (i.e., the unloaded external device to be abandoned) in the configuration environment interface, thereby triggering the external device reload instruction. By displaying the warning of the loaded external device list and the unloaded external device list in the configuration environment interface, optional loading order adjustment is provided to maximize the user's freedom of choice and ease of use.

[0108] That is to say, when the configuration control instruction triggered by the configuration environment interface includes an external device reloading instruction, the external device reloading instruction may include external device information to be loaded and external device information to be abandoned, and the external device information to be abandoned includes device information of the loaded external device.

[0109] Correspondingly, in this embodiment, when the remaining space does not meet the required space corresponding to the target configuration space, the preset addressing space is not reallocated, because even if it is reallocated, the target external device may not be able to be used normally because it cannot be loaded. At this time, even if the preset addressing space is reallocated, the newly added external device that can be loaded may not be what the user needs. In other embodiments, before step 206, it can also be detected whether the preset addressing space has been reallocated before; in response to detecting that the preset addressing space has been reallocated before, step 206 is entered; in response to detecting that the preset addressing space has not been reallocated before, the preset addressing space is reallocated to provide more space resources for the configuration of the subsequent configuration environment interface. This embodiment does not impose any restrictions on this.

[0110] Step 207: Execute corresponding operations according to the configuration control instruction triggered by the configuration environment interface; wherein the configuration control instruction includes at least one of a shutdown instruction, a resume startup instruction, and an external device reload instruction.

[0111] It is understandable that, in this embodiment, after the BIOS displays the configuration environment interface, the user or administrator can trigger the configuration selection in the configuration environment interface according to their own needs, trigger the configuration control instruction, and control the subsequent startup process.

[0112] Among them, the configuration control instructions that can be triggered by the configuration environment interface may include a shutdown instruction, so that in this step, the BIOS responds to determining that the configuration control instruction triggered by the configuration environment interface is a shutdown instruction and controls the server to shut down; the configuration control instructions that can be triggered by the configuration environment interface may include a continue startup instruction, so that in this step, the BIOS responds to determining that the configuration control instruction triggered by the configuration environment interface is a continue startup instruction, abandons the unloaded external devices, and continues the subsequent power-on self-test process, such as entering the OS or PXE; the configuration control instructions that can be triggered by the configuration environment interface may also include an external device reload instruction, so that in this step, the BIOS responds to determining that the configuration control instruction triggered by the configuration environment interface is an external device reload instruction, and reloads the extended memory in the target configuration space according to the external device information to be loaded and the external device information to be abandoned in the external device reload instruction; the configuration control instructions that can be triggered by the configuration environment interface may also include a boot mode switching instruction, so that in this step, the BIOS responds to determining that the configuration control instruction triggered by the configuration environment interface is an external device reload instruction, and switches the BIOS boot mode according to the boot mode switching instruction, such as switching from Legacy boot mode (traditional boot mode) to UEFI boot mode.

[0113] Correspondingly, in response to determining that the configuration control instruction triggered by the configuration environment interface is an external device reload instruction, the BIOS reloads the extended memory in the target configuration space according to the external device information to be loaded and the external device information to be discarded in the external device reload instruction. In response to determining that insufficient space in the target configuration space is detected during the reload process, the BIOS may directly discard the unloaded external device and continue with the subsequent power-on self-test process; or the BIOS may proceed to step 203 again. This embodiment does not impose any limitation on this.

[0114] For example, when the server is a storage model, there is a large demand for storage disks, and multiple SAS cards and Raid cards are needed for expansion, but a network card is also needed for system installation. Assuming that a Raid card is used as a system disk, if there is insufficient space, the user can temporarily disable the SAS card and the extra network cards through the configuration environment interface, and only keep the Raid card and one network card loaded, so that the network card can work normally, and enter the PXE environment to install the system on the storage disk on the Raid. After the installation is complete, during the restart process, the OPROM loading that does not pay attention to the network card and SOL can be used (that is, the external loading order of the storage model is loaded during the restart process), or out-of-band sequence tuning can be performed through the configuration environment interface, that is, the user can select the external devices and order to be loaded based on the application, or set the devices to be disabled, so that the space shortage phenomenon will not occur again during the restart process, and it meets the application scenarios required by the user.

[0115] In this embodiment, the embodiment of the present application makes the loaded external devices more in line with user needs through the setting of external device priority information and configuration environment interface, ensuring that key external devices can be used normally.

[0116] Corresponding to the above method embodiment, an embodiment of the present application further provides a server startup and operation device. The server startup and operation device described below and the server startup and operation method described above can refer to each other.

[0117] Please refer to Figure 6, which is a structural block diagram of a server startup and operation device provided in an embodiment of the present application. The device may include:

[0118] The loading unit 10 is configured to load the extended memory of each target external device using a target configuration space according to an external loading order during a power-on self-test process of the server; wherein the target configuration space is a configuration space allocated for the external device loading module in a preset addressing space, and the target external device is an external device corresponding to the external loading order among all external devices connected to the server;

[0119] A detection unit 20 is configured to detect remaining space of other modules in a preset addressing space in response to detecting that the target configuration space has insufficient space;

[0120] The reallocation unit 30 is used to reallocate the preset addressing space in response to determining that the remaining space meets the required space corresponding to the target configuration space, so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space; wherein the required space is the addressing space required by the unloaded target external device.

[0121] In some embodiments, the apparatus may further comprise:

[0122] a configuration display unit, configured to display a configuration environment interface in response to determining that the remaining space does not meet the required space;

[0123] The configuration execution unit is used to execute corresponding operations according to the configuration control instructions triggered by the configuration environment interface; wherein the configuration control instructions include at least one of a shutdown instruction, a resume startup instruction and an external device reload instruction.

[0124] In some embodiments, configuring the display unit may include:

[0125] an instruction acquisition subunit, configured to acquire a space shortage control instruction in response to determining that the remaining space does not meet the required space;

[0126] A display subunit, configured to display a configuration environment interface in response to determining that the insufficient space control instruction is an instruction to enter a configuration environment;

[0127] a shutdown subunit, configured to control the server to shut down in response to determining that the insufficient space control instruction is a shutdown instruction;

[0128] The continue startup subunit is used to, in response to determining that the insufficient space control instruction is a continue startup instruction, abandon the unloaded external device and continue the subsequent power-on self-test process.

[0129] In some embodiments, the instruction acquisition subunit can be used to generate insufficient space control instructions based on the priority information of the target external device not loaded in the external device priority information; wherein the external device priority information includes the priority information of external devices of each device type connected to the server.

[0130] In some embodiments, the configuration display unit may be used to display a configuration environment interface on a remote terminal via a baseboard management controller.

[0131] In some embodiments, the configuration environment interface includes a loaded external device list and an unloaded external device list, and the loaded external device list includes device information and extended memory size information of loaded external devices.

[0132] In some embodiments, when the configuration control instruction includes an external device reloading instruction, the external device reloading instruction includes external device information to be loaded and external device information to be abandoned, and the external device information to be abandoned includes device information of the loaded external device.

[0133] In some embodiments, configuring the execution unit may include:

[0134] a reloading subunit, configured to, in response to determining that the configuration control instruction is an external device reloading instruction, reload the extended memory in the target configuration space according to the external device information to be loaded and the external device information to be discarded;

[0135] The abandonment subunit is used for abandoning the unloaded external device and continuing the subsequent power-on self-test process in response to determining that insufficient space in the target configuration space is detected during the reloading process.

[0136] In some embodiments, the reallocation unit 30 can also be used to send a start signal to the configuration display unit in response to detecting that the configuration space reallocated to the external device loading module is insufficient after reallocating the preset addressing space so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space.

[0137] In some embodiments, the reallocation unit 30 may be configured to reallocate the preset addressing space so that the configuration space reallocated to the external device loading module is the sum of the target configuration space and the remaining space.

[0138] In some embodiments, the loading unit 10 may include:

[0139] The sequence determination subunit is used to determine the external loading sequence according to the external device priority information; wherein the external device priority information includes priority information of external devices of various device types connected to the server;

[0140] The sequential loading subunit is used to load the extended memory of each target external device using the target configuration space according to the external loading sequence.

[0141] In some embodiments, the sequence determination sub-unit can be used to determine the target model of the server based on the obtained server model information; and determine the preset priority information corresponding to the target model as the external device priority information; wherein, the target model is any preset model, and the preset models include computer models and storage models.

[0142] In some embodiments, the priority information of external devices of each device type connected to the server includes the priority of each device type to be loaded and disabled device type information.

[0143] In this embodiment, the embodiment of the present application reallocates the preset addressing space through the reallocation unit 30, so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space. When the configuration space of the external device loading module is insufficient, the memory resources can be reintegrated, and the memory resources can be reallocated and loaded according to the usage of the configuration space allocated to each module to ensure that the limited memory resources can be maximized, and the situation where the external device cannot be used normally due to insufficient memory resources of the extended memory allocated to the external device in the traditional startup mode is reduced.

[0144] Corresponding to the above method embodiment, the embodiment of the present application further provides a server, and the server described below and the method for starting and running the server described above can refer to each other.

[0145] Please refer to Figure 7, which is a schematic diagram of the structure of a server provided in an embodiment of the present application. The server may include: one or more processors D2, and a memory D1 associated with the one or more processors D2. Memory D1 is used to store computer-readable instructions. When read and executed by the one or more processors D2, processor D2 implements the steps of the server startup method provided in the above method embodiment.

[0146] Corresponding to the above method embodiment, an embodiment of the present application further provides a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium described below and the server startup method described above can refer to each other.

[0147] Please refer to Figure 8, which is a schematic diagram of the structure of a non-transitory computer-readable storage medium provided in an embodiment of the present application. The non-transitory computer-readable storage medium 40 stores computer-readable storage instructions 41, which, when executed by one or more processors, implement the steps of the server startup method provided in the above method embodiment.

[0148] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. References to the common and similar parts between the various embodiments are sufficient. The devices, servers, and computer-readable storage media disclosed in the embodiments are described briefly because they correspond to the methods disclosed in the embodiments. For relevant details, refer to the description of the methods.

[0149] The above is a detailed introduction to the server startup and operation method, device, server and non-transitory computer-readable storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A method for starting and running a server, characterized in that: include: During the server power-on self-test process, the extended memory of each target external device is loaded using the target configuration space according to the external loading sequence; wherein the target configuration space is the configuration space allocated for the external device loading module in the preset addressing space, and the target external device is the external device corresponding to the external loading sequence among all the external devices connected to the server; In response to detecting that the target configuration space has insufficient space, detecting remaining space of other modules in the preset addressing space; and In response to determining that the remaining space satisfies the required space corresponding to the target configuration space, the preset addressing space is reallocated so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space; wherein the required space is the addressing space required by the unloaded target external device.

2. The method for starting and running a server according to claim 1, characterized in that: After detecting the remaining space of other modules in the preset addressing space, the method further includes: In response to determining that the remaining space does not meet the required space, displaying a configuration environment interface; and According to the configuration control instruction triggered by the configuration environment interface, a corresponding operation is performed; wherein the configuration control instruction includes at least one of a shutdown instruction, a continue startup instruction, and an external device reload instruction.

3. The method for starting and running a server according to claim 2, characterized in that: Before displaying the configuration environment interface, the method further includes: Get insufficient space control instructions; In response to determining that the insufficient space control instruction is an instruction to enter a configuration environment, executing the step of displaying a configuration environment interface; In response to determining that the insufficient space control instruction is a shutdown instruction, controlling the server to shut down; or In response to determining that the insufficient space control instruction is a continue startup instruction, the unloaded external device is abandoned and the subsequent power-on self-test process is continued.

4. The method for starting and running a server according to claim 3, characterized in that: The obtaining of insufficient space control instructions includes: The insufficient space control instruction is generated according to the priority information of the target external device that is not loaded in the external device priority information; wherein the external device priority information includes the priority information of the external device of each device type connected to the server.

5. The method for starting and running a server according to claim 2, characterized in that: The display configuration environment interface includes: The configuration environment interface is displayed on a remote terminal through a baseboard management controller.

6. The method for starting and running a server according to claim 2, characterized in that: The configuration environment interface includes a list of loaded external devices and a list of unloaded external devices, and the list of loaded external devices includes device information and extended memory size information of loaded external devices.

7. The method for starting and running a server according to claim 2, characterized in that: When the configuration control instruction includes the external device reloading instruction, the external device reloading instruction includes external device information to be loaded and external device information to be abandoned, and the external device information to be abandoned includes device information of the loaded external device.

8. The method for starting and running a server according to claim 7, characterized in that: The performing of corresponding operations according to the configuration control instructions triggered by the configuration environment interface includes: In response to determining that the configuration control instruction is the external device reload instruction, reloading the extended memory in the target configuration space according to the external device information to be loaded and the external device information to be abandoned; and In response to determining that insufficient space is detected in the target configuration space during the reloading process, the unloaded external device is abandoned and a subsequent power-on self-test process is continued.

9. The method for starting and running a server according to claim 1, characterized in that: After the preset addressing space is reallocated so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space, the method further includes: In response to detecting that the configuration space reallocated to the external device loading module is insufficient, displaying a configuration environment interface; and According to the configuration control instruction triggered by the configuration environment interface, a corresponding operation is performed; wherein the configuration control instruction includes at least one of a shutdown instruction, a continue startup instruction, and an external device reload instruction.

10. The method for starting and running a server according to claim 1, characterized in that: The reallocating of the preset addressing space so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space includes: The preset addressing space is reallocated so that the configuration space reallocated to the external device loading module is the sum of the target configuration space and the remaining space.

11. The method for starting and running a server according to any one of claims 1 to 10, characterized in that: The step of loading the extended memory of each target external device by using the target configuration space in the server power-on self-test process according to the external loading sequence includes: The external loading order is determined according to the external device priority information; wherein the external device priority information includes priority information of external devices of various device types connected to the server.

12. The method for starting and running a server according to claim 11, characterized in that: Before determining the external loading order according to the external device priority information, the method further includes: Determining a target model of the server according to the acquired model information of the server; and The preset priority information corresponding to the target model is determined as the external device priority information.

13. The method for starting and running a server according to claim 12, characterized in that: The step of determining the target model of the server according to the acquired model information of the server further includes: Acquiring business scenario information of the server; and The target model of the server is determined according to the model information and the business scenario information.

14. The method for starting and running a server according to claim 12, characterized in that: Before the step of determining the preset priority information corresponding to the target model as the external device priority information, the step further includes: Obtaining the target model's requirements for external devices; and According to the requirement, preset priority information corresponding to the target model is determined.

15. The method for starting and running a server according to claim 11, characterized in that: The priority information of the external devices of each device type connected to the server includes the priority of each device type to be loaded and the disabled device type information.

16. The method for starting and running a server according to claim 1, characterized in that: The method further includes: before the step of loading the extended memory of each target external device using the target configuration space according to the external loading sequence during the server power-on self-test process, the method further includes: In response to determining that the server is powered on, based on a resource allocation method, the target configuration space is allocated to the external device loading module using a preset addressing space.

17. The method for starting and running a server according to claim 1, characterized in that: After the step of loading the extended memory of each target external device using the target configuration space in the server power-on self-test process according to the external loading sequence, the method further includes: In response to not detecting that the target configuration space has insufficient space, entering an operating system or a pre-boot execution environment.

18. A server startup and operation device, characterized in that: include: A loading unit, used to load the extended memory of each target external device using a target configuration space in accordance with an external loading sequence during a power-on self-test of the server; wherein the target configuration space is a configuration space allocated for an external device loading module in a preset addressing space, and the target external device is an external device corresponding to the external loading sequence among all external devices connected to the server; a detection unit, configured to detect remaining space of other modules in the preset addressing space in response to detecting that the target configuration space has insufficient space; and A reallocation unit is used to reallocate the preset addressing space in response to determining that the remaining space meets the required space corresponding to the target configuration space, so that the configuration space reallocated to the external device loading module is greater than or equal to the sum of the target configuration space and the required space; wherein the required space is the addressing space required by the unloaded target external device.

19. A server, characterized in that: include: one or more processors; as well as A memory associated with the one or more processors, the memory being used to store computer-readable instructions, wherein the computer-readable instructions, when read and executed by the one or more processors, implement the steps of the method for starting and running a server as described in any one of claims 1 to 17.

20. A non-transitory computer-readable storage medium, characterized in that: The non-transitory computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by one or more processors, the steps of the server startup method according to any one of claims 1 to 17 are implemented.

Citation Information

Patent Citations

  • Optimum use method of memory

    CN101872307A

  • Method for improving space utilization rate of BIOS Legacy Option ROM

    CN105955822A

  • Equipment operation method, system and device, storage medium and electronic equipment

    CN116048643A

  • Resource allocation device and method, electronic equipment and storage medium

    CN116382913A

  • Server starting operation method and device, server and storage medium

    CN117369891A

Cited By

  • Loading method and device of server hardware equipment, equipment and storage medium

    CN120743363A