Computer system, computer-implemented method and computer program product
Patent Information
- Application Number
- CN202510587348.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-02-26
- Filing Date
- 2025-05-08
- Publication Date
- 2026-08-28
AI Technical Summary
这可能会导致热插拔装置的功能被限制或无法就绪
Smart Images

Figure CN122653699A_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to repairing constructed information through runtime updates, and more specifically, to collecting and repairing incomplete Unified Extensible Firmware Interface (UEFI) constructed information during runtime. Background Technology
[0002] Computer systems rely on various boot systems, such as the Unified Extensible Firmware Interface (UEFI) and the Basic Input / Output System (BIOS), to collect system information during the Power-On Self-Test (POST) process. This collected information can then be viewed during runtime (e.g., after booting into the operating system). However, due to connection problems or inadequate readiness of external devices, some computer systems may fail to collect specific information, such as from the Baseboard Management Controller (BMC) or peripheral devices connected via the Peripheral Component Interface (PCI). This results in incomplete initialization of boot data in the system, potentially limiting its functionality. For example, the System Management BIOS (SMBIOS) and Redfish services may be limited by incomplete information. In modern computer systems, most UEFI / BIOS services become unusable after the boot process, requiring a system restart to re-execute POST to attempt to re-collect information, leading to serious system service outages.
[0003] This same problem can occur when hot-swappable devices are installed into a computer system. Hot-swappable devices, such as PCI interface cards, solid-state drives (SSDs), and external devices, can be connected to the computer system during operation. Because information related to the hot-swappable device is not initialized during the boot process, the computer system may not have complete information. This can result in the hot-swappable device's functionality being limited or it becoming unusable.
[0004] To avoid the need to restart the computer system and to ensure the reliability and readiness of the computer system during startup, there is a need for methods and systems for repairing information collected by the computer system during startup. Summary of the Invention
[0005] The terms used, including embodiments and similar terms, are intended to refer broadly to all subject matter of the invention and the claims. It should be understood that statements containing these terms should not limit the subject matter described in the invention or limit the meaning or scope of the claims. The embodiments covered by the invention are defined by the claims, not by the summary of the invention. The summary is a high-level overview of various aspects of the invention and introduces some concepts that are further described in the detailed description section below. The summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used alone to determine the scope of the claimed subject matter. The subject matter should be understood by referring to the entire specification of the invention, any or all of the drawings, and appropriate portions of each claim.
[0006] According to several specific aspects of this disclosure, a computer system for responding to information in a computer system is provided. The computer system may include one or more data processors and a non-transitory computer-readable storage medium containing multiple instructions that, when executed by the one or more data processors, cause the one or more data processors to perform the following operations: The operations may include checking whether an external device operatively coupled to the computer system has generated a flag indicating a problem. In response to determining that a flag has been generated, the computer system may, by means of the one or more data processors, generate one or more processing procedures based on the flag. Based on the flag, the computer system may, during operation, trigger one or more processing procedures and repair information regarding the external device that caused the flag to be generated.
[0007] According to one aspect of this disclosure, the multiple operations may further include checking by one or more data processors whether the information about the external device is complete to reach a first threshold.
[0008] According to the above implementation, the multiple operations may further include determining that the information is incomplete if at least a portion of the information is missing. In response to this determination, the system may continue operations on the information where at least a portion of the information is missing.
[0009] According to other settings of the above embodiments, multiple operations may further include removing a flag related to an external device from a response in which information reaches a first threshold.
[0010] In another aspect of the above embodiments, the computer system may create a hot-swap procedure for collecting information about one or more hot-swap devices operatively coupled to the computer system. During the boot process, the computer system may record the memory locations of external devices operatively coupled to the computer system. During operation of the computer system, the operative coupling of a hot-swap device to the computer system may be detected. The hot-swap procedure may be triggered by the computer system to restore information about the hot-swap device.
[0011] In another aspect of the above implementation, one or more processes may be triggered by the operating system (OS) application of the computer system.
[0012] According to other aspects of this disclosure, one or more processes may be triggered by the baseboard management controller (BMC) of a computer system.
[0013] According to the configuration of the above-described embodiment, the multiple operations may further include identifying multiple functions of the computer system related to missing information in response to a flag. The computer system may then generate one or more special processing procedures for the identified multiple functions.
[0014] According to other settings of the above embodiments, the multiple operations may further include triggering one or more special processing procedures in response to performing functions related to missing information. The multiple special processing procedures may then identify whether the missing information has been repaired and perform the identified multiple functions.
[0015] According to another aspect of this disclosure, a method implemented on a computer is provided. The method may include checking whether an external device operatively coupled to a computer system has generated a flag indicating a problem. In response to determining that a flag has been generated, the computer system may generate one or more processes based on the flag. The computer system may trigger one or more processes during operation of the computer system. These processes may repair information about the external device that caused the flag to be generated during operation.
[0016] According to another aspect of the above embodiments, the method may include checking whether information about an external device is complete to reach a first threshold by means of one or more data processors.
[0017] According to other settings of the above embodiments, the method may include determining that the information is incomplete if at least a portion of the information is missing. Based on this determination, the computer system may continue operating on the information that is at least partially missing.
[0018] According to other settings of the above embodiments, the method may further include removing a flag related to an external device from a response in which information reaches a first threshold.
[0019] In another aspect of the above embodiments, the method may include creating a hot-plugging process for collecting information about one or more hot-pluggable devices operatively coupled to a computer system. The method may also include recording the memory location of an external device operatively coupled to the computer system. During operation of the computer system, the method may include detecting that a hot-pluggable device is operatively coupled to the computer system. In response to coupling, the method may include triggering the hot-plugging process to update the recorded information based on information about the hot-pluggable device.
[0020] In other aspects of the above embodiments, one or more processes may be triggered by the operating system application of the computer system.
[0021] In other aspects of the above embodiments, one or more processing programs may be triggered by the baseboard management controller of the computer system.
[0022] According to other settings of the above embodiments, the method may further include identifying multiple functions of the computer system relating to missing information. The method may also include generating one or more special processing procedures relating to the identified multiple functions.
[0023] According to other settings of the above embodiments, the method may also include triggering one or more special processing procedures in response to performing functions related to missing information. The multiple special processing procedures may then identify whether the missing information has been repaired. The method may further include performing at least a portion of the identified multiple functions based on the repaired information.
[0024] According to other aspects of the above embodiments, at least one of the one or more processing programs may be an advanced configuration and power interface (ACPI) data table for access by the computer system.
[0025] In another aspect of this disclosure, a computer program product tangibly implemented on a non-transitory computer-readable storage medium is provided. The computer program product includes a plurality of instructions that cause a data processing apparatus to perform a plurality of operations. The plurality of operations may include checking whether an external device operatively coupled to a computer system has generated a flag indicating a problem. In response to determining that a flag has been generated, the computer system may generate one or more processing procedures based on the flag. The computer system may trigger one or more processing procedures during operation of the computer system. These processing procedures may, during operation, repair information regarding the external device that caused the flag to be generated.
[0026] The foregoing summary is not intended to represent every embodiment or aspect of this disclosure. Rather, it provides only examples of some novel aspects and features set forth in this disclosure. The foregoing features and advantages, as well as other features and advantages, will become apparent from the following detailed description of representative embodiments and modes of implementation of the invention when taken in conjunction with the accompanying drawings and claims. Other aspects of this disclosure will be apparent to those skilled in the art from the detailed description of various embodiments with reference to the accompanying drawings and the brief description provided below.
[0027] To provide a better understanding of the above and other aspects of the present invention, specific embodiments are described below in conjunction with the accompanying drawings: Attached Figure Description
[0028] This disclosure, its advantages, and the accompanying drawings will be readily understood from the following description of representative embodiments taken in conjunction with the accompanying drawings. These drawings depict only representative embodiments and should not be considered as limiting the scope of the various embodiments or the claims.
[0029] Figure 1 A schematic diagram illustrating an example method for repairing boot information according to certain aspects of this disclosure;
[0030] Figure 2 A detailed schematic diagram illustrating missing information of certain aspects of this disclosure is provided.
[0031] Figure 3 A schematic diagram illustrating an example method for providing repair information for a hot-swappable device according to certain aspects of this disclosure.
[0032] [Symbol Explanation]
[0033] 102~124, 202~218, 302~308: Steps Detailed Implementation
[0034] A system, method, and apparatus are provided for repairing information in a computer system. The system may include one or more data processors and a non-transitory computer-readable storage medium containing multiple instructions. When the one or more data processors are executed, the multiple instructions cause the one or more data processors to perform multiple operations. The system may check whether an external device operatively coupled to the computer system has generated a flag indicating a problem. In response to at least one flag, the system may generate one or more processes based on at least one problem via the one or more data processors. During system operation, one or more processes may be triggered and information regarding the external device indicating at least one problem may be repaired.
[0035] Various embodiments are described with reference to the accompanying drawings, in which all figures use the same reference numerals to denote similar or equivalent elements. The drawings are not necessarily drawn to scale and are provided only to illustrate aspects and features of this disclosure. Numerous specific details, relationships, and methods are set forth to provide a comprehensive understanding of certain aspects and features of this disclosure, although those skilled in the art will recognize that these specific details, relationships, or methods can be implemented without one or more of them. In some cases, well-known structures or operations are not shown in detail for illustrative purposes. The various embodiments disclosed herein are not necessarily limited to the order of the described actions or events, as some actions may occur in a different order and / or simultaneously with other actions or events. Furthermore, not all actions or events in the figures are necessary to realize certain aspects and features of this disclosure.
[0036] For the purposes of this detailed description, unless otherwise stated and where appropriate, the singular includes the plural, and vice versa. The word “including” means “including, but not limited to, this.” Furthermore, approximate words such as “about,” “almost,” “substantially,” “approximately,” etc., may be used in this disclosure, for example, to mean “in,” “near,” “close to,” or “within 3-5%,” or “within acceptable manufacturing tolerances,” or any logical combination thereof. Similarly, the terms “vertical” or “horizontal” are intended to additionally include “within 3-5%” in the vertical or horizontal direction, respectively. Furthermore, directional words such as “top,” “bottom,” “left,” “right,” “above,” and “below” are intended to relate to the equivalent directions described in the accompanying drawings; to be understood from the context of the referenced object or element, such as from its usual location; or as stated herein.
[0037] Figure 1 A schematic diagram illustrating an example method for repairing boot information according to certain aspects of this disclosure; with reference to Figure 1 This illustrates an example method for repairing boot information according to certain aspects of this disclosure. The method includes initializing a computer system's boot procedure. The computer system may include one or more processors and memory, the memory containing multiple instructions executable by the one or more processors. Initialization may begin step 102 of enabling Power-On Self-Test (POST), as follows: Figure 1 As shown. POST start step 102 can initialize the Basic Input / Output System (BIOS). BIOS initialization step 104 can then check whether the external devices operablely coupled to the computer system are functioning correctly in step 106.
[0038] If the external device is functioning correctly, the BIOS can collect and initialize system information from the external device. This can be done using management tools such as the System Management BIOS (SMBIOS) or compliant BIOS. This is accomplished using server management tools or other system management tools that provide the specifications. System information may include, for example, the location of the external device in the computer system's memory, configuration data, device specifications, device requirements, or other information about the characteristics and functions of the external device.
[0039] In some example embodiments of this disclosure, system information may be used by the BIOS and / or computer system to determine the readiness status of one or more external devices. This readiness status authentication procedure is performed by... Figure 1Step 106 represents the process described above. Depending on the readiness status of the external devices, the system may execute different boot procedures. For example, if one or more external devices are found to be functioning correctly in step 106, the BIOS may collect or initialize information and configure settings for one or more external devices in step 108. This information may include, but is not limited to, the device's memory location, memory information, boot instructions, available resources, or other system information. In some embodiments of this disclosure, the system may not require all requested information to be collected or initialized to meet the requirements of step 106. In some example embodiments, only specific information is required to indicate that one or more external devices are functioning correctly, or settable thresholds may be available to the system. After step 108, the system may continue to step 112 of the normal boot procedure. The normal boot procedure may include different steps to initialize the system for normal operation and may end at POST termination step 114.
[0040] If the system determines that at least one external device is not functioning properly, as defined by various thresholds or configurations, the BIOS may create a corresponding handler in step 110. The corresponding handler may be part of the BIOS or a program executed on the computer system's operating system. In some example embodiments, these programs may be configured to execute during computer system operation. The corresponding handler may correspond to one or more external devices identified by the BIOS as not functioning properly. In some example embodiments of this disclosure, the handler may be a system management interrupt (SMI) handler. These SMI handlers may cause the computer system to enter system management mode (SMM). In some other example embodiments of this disclosure, these handlers may be advanced configuration and power interface (ACPI) data tables accessible by the computer system, including ACPI data tables set by the computer system's original equipment manufacturer (OEM).
[0041] After POST termination step 114, the computer system's program flow can be switched to runtime. At this point, the computer system's routine power-on operation has been completed. Step 116 illustrates the computer system's triggering of one or more processes. With the triggering of the processes in step 116, BIOS configuration information for external devices can be completed and / or updated during runtime. The processes can be triggered by, for example, BIOS commands that have been configured as OEM commands supported by the system, or by applications executing on the computer system's operating system.
[0042] After multiple processes are triggered, data repair can be attempted, as shown in step 118. Data repair may include various operations. For example, multiple processes may attempt to contact or send ping messages to each identified external device to receive updated information. Similarly, multiple processes may use one or more communication channels of the computer system to re-establish communication with the identified external devices. In some example implementations, multiple processes may also initialize information for the external devices according to defined startup routines. Multiple processes may initialize the identified external devices and assist in completing the configuration information of external devices that may not have been started correctly.
[0043] In some example embodiments of this disclosure, multiple processes can also identify and assist in recovering incomplete routines caused by external device errors. During POST or runtime, an improperly configured or improperly coupled external device may cause certain routines or programs running on the computer system to malfunction. A security digital (SD) card reader, which can be externally coupled, is an example. If the SD card reader is not initialized or effectively coupled to the computer system during startup, the reader may fail to function on the computer system. This means that an SD card inserted into the reader cannot transfer any data to the computer system. When a process for rebuilding the connection to the SD card reader during runtime is triggered, it can similarly recover the data transfer process from the SD card to the computer system, recovering programs that could not be completed due to limitations in the functionality of the external device.
[0044] exist Figure 1 In step 120, the computer system may check for information indicating that the external system has been repaired. If the data has been repaired, the computer system will resume normal operation upon receiving complete information, as shown in step 122.
[0045] The computer system can still function even if information is missing for one or more external devices. In some example embodiments, such as in Figure 1In the example implementation shown, the computer system operates as missing information persists, as shown in step 124. In some other example embodiments, the computer system may continue to execute at least a portion of multiple processes until the information is repaired to reach a threshold.
[0046] Reference to Figure 2 The diagram illustrates a detailed procedure for providing information on missing markers according to certain aspects of this disclosure. Figure 2 This illustrates an example embodiment of how a computer system identifies an external device that has encountered an error during POST (Post-Processing). In step 202, at least one external device coupled to the computer system experiences an error. In step 204, the computer system re-evaluates the state of the faulty external device and attempts to reinitialize system information and re-establish the connection with the external device. If step 204 fails, the computer system sets a flag related to the faulty external device to indicate that the BIOS has not successfully initialized information about the device, such as... Figure 2 Step 206 is shown.
[0047] Based on the successful reinitialization attempt, the computer system can continue to attempt to establish a connection with the faulty external device, such as... Figure 2 As shown in step 208. One or more flags indicating an error to collect initialization information may be generated by the computer system, as shown in step 210.
[0048] The computer system can also access successfully completed tasks and routines associated with the external device that caused the error, as well as tasks and routines that failed in step 212. If the computer system identifies any failed task, it can generate one or more flags for each failed task in step 214. These flags can instruct the computer system that these tasks must be completed after the information about the external device has been initialized. These flags can also indicate missing information about the external device that caused the task failure.
[0049] Figure 2 Step 216 illustrates how the computer system dynamically creates special handlers for the functions and tasks corresponding to the flags. These special handlers can be used to help recover from failed tasks related to external devices or to specifically locate information needed to complete a failed task. For example, these special handlers can be used to locate specific memory addresses or library functions needed to complete a particular failed task. In some example embodiments of this disclosure, these special handlers can be SMI handlers.
[0050] Figure 2Step 218 illustrates how, after the normal boot procedure step 112, the computer system can again attempt to repair information about a failed external device before the POST termination step 114. Based on flags set during POST, the computer system can attempt to rebuild communication with a specific external device before switching to runtime. This allows external devices to have slower boot times or encounter boot errors that prevent successful initialization by the computer system.
[0051] Reference to Figure 3 This diagram illustrates an example method for repairing information for a hot-swappable device according to certain aspects of this disclosure. A hot-swappable device is a device that can be coupled during computer system operation. A hot-swappable device may not have initialization information during POST (Post-Processing).
[0052] Steps 102 and 104 illustrate the POST start step and BIOS initialization step during POST. During these steps, the computer system may attempt to initialize information about all external devices coupled to the computer system. However, for hot-swappable devices that may be coupled during the operation of the computer system, the computer system may create one or more hot-swappable handlers in step 302. Hot-swappable handlers are specific handlers used to initialize information about hot-swappable devices during operation. Hot-swappable handlers can also be used when a hot-swappable device is coupled to the computer system. For example, a hot-swappable handler may be configured with Fast Peripheral Interface (PCIe) inventory data from the computer system's BMC. The PCIe inventory data may indicate which external device has been coupled to the computer system during POST and which type of hot-swappable handler may be included for the computer system.
[0053] When a hot-swappable device is installed in a computer system, to aid in identification, all devices coupled at startup and their corresponding memory locations can be recorded in step 304. The computer system may store, for example, information about the location of non-volatile random access memory (NVRA) or other location information for external devices during POST. Other identification information for coupled external devices can also be recorded by the computer system.
[0054] During operation, the hot-plug process and / or the computer system may determine in step 306, based on the data initialized during POST, whether a hot-plug device has been coupled to the computer system. If a hot-plug device has been coupled to the computer system, the computer system may trigger the hot-plug process in step 308. The hot-plug process may determine all differences between the initialized information in the BIOS and the information about the computer system during operation. The hot-plug process may make this determination by comparing the memory location, other data of the device coupled during operation, with the information recorded in step 304. Any difference in information may be considered as the presence of a new hot-plug device.
[0055] The hot-swap handler can also update the computer system's initialized information to reflect the most recently coupled hot-swap device. The hot-swap handler can access the status of the hot-swap device, establish communication between the hot-swap device and the computer system, and reinitialize BIOS data with information about the hot-swap device. In some example embodiments of this disclosure, the hot-swap handler can be used to update BIOS information, such as SMBIOS or...
[0056] Based on the updated hot-swappable BIOS information, the computer system can operate normally as in step 122.
[0057] In some example embodiments of this disclosure, the hot-plugging process may also generate alerts based on the presence and / or state of one or more hot-pluggable devices. The alerts may be operating system alerts, BIOS alerts, runtime alerts, or other types of alerts that notify the computer system or user of the presence of a hot-pluggable device. The alerts may be displayed on the user graphical interface (GUI) of the computer system's display, or may be used by the computer system to influence other programs based on the presence of a hot-pluggable device.
[0058] Although the invention has been described and illustrated with respect to one or more embodiments, those skilled in the art will recognize or understand equivalent changes and modifications upon reading and understanding this specification and the accompanying drawings. Furthermore, while a particular feature of the invention may be disclosed only in one of several embodiments, this feature may be combined with one or more other features of other embodiments, potentially advantageous for any given or particular application.
[0059] While various embodiments of the invention have been described above, it should be understood that they are presented by way of example only and not as limiting. Numerous changes may be made to the disclosed embodiments based on the disclosure herein without departing from the spirit or scope of this disclosure. Therefore, the breadth and scope of this disclosure should not be limited by any of the foregoing embodiments. Rather, the scope of this disclosure should be determined by the claims and their equivalents.
Claims
1. A computer system, comprising: One or more data processors; as well as A non-transitory computer-readable storage medium containing multiple instructions, wherein when the instructions are executed by one or more data processors, the one or more data processors are caused to perform the following operations: The one or more data processors check during the boot process of the computer system whether an external device operablely coupled to the computer system generates a flag indicating a problem; In response to determining that the flag has been generated, the following are included: The one or more data processors generate one or more processing programs based on the flag; The one or more processes are triggered during the operation of the computer system, the operation continuing from the boot process; and During the operation, the information about the external device that caused the flag to be generated is repaired by one or more processing procedures.
2. The computer system of claim 1, wherein the operation further includes checking, by means of the one or more data processors, whether the information regarding the external device is complete to reach a first threshold. The operation also includes: If at least part of the information is missing, the information is considered incomplete. as well as In response to the determination that the information is incomplete, the operation of the computer system continues even when at least a portion of the information is missing. The operation further includes removing the flag relating to the external device by means of the one or more data processors in response to the information reaching the first threshold.
3. The computer system of claim 1, wherein the operation further includes: During the boot process, one or more data processors create a hot-plugging process to collect information about one or more hot-pluggable devices that are operatively coupled to the computer system. During the boot process, the one or more data processors record the memory location of the external device that is operatively coupled to the computer system. During the operation of the computer system, the hot-plug device is operatively coupled to the computer system by the one or more data processors; as well as The hot-plugging process is triggered by one or more data processors to update the recorded information based on information about the hot-plugging device.
4. The computer system of claim 1, wherein the one or more processes are triggered by an application of the computer system's operating system (OS). One or more of these processes are triggered by the Baseboard Management Controller (BMC) of the computer system. The operation also includes: In response to this flag, multiple functions of the computer system regarding missing information are identified; as well as The one or more data processors generate one or more special processing procedures related to the identified function. The operation also includes: In response to the execution of functions related to missing information, one or more special processing procedures are triggered by one or more data processors; The one or more data processors and the one or more special processing procedures identify that at least a portion of the missing information has been repaired; and The one or more data processors perform at least a portion of the identified functions based on the repaired information.
5. A method implemented on a computer, comprising: During the computer system's boot process, one or more data processors check whether an external device operablely coupled to the computer system generates a flag indicating a problem. In response to determining that the flag has been generated, the following are included: The one or more data processors generate one or more processing programs based on the flag; The one or more processes are triggered during the operation of the computer system, the operation continuing from the boot process; and During the operation, the information about the external device that caused the flag to be generated is repaired by one or more processing procedures.
6. The method of claim 5, further comprising: The one or more data processors check whether the information about the external device is complete to meet a first threshold. Also includes: If at least part of the information is missing, the information is deemed incomplete; and In response to the determination that the information is incomplete, the operation of the computer system continues even when at least a portion of the information is missing. Also includes: In response to the information reaching the first threshold, the flag relating to the external device is removed by one or more data processors.
7. The method of claim 5, further comprising: During the boot process, one or more data processors create a hot-plugging process to collect information about one or more hot-pluggable devices that are operatively coupled to the computer system. During the boot process, the one or more data processors record the memory location of the external device that is operatively coupled to the computer system. During the operation of the computer system, the hot-plug device is operatively coupled to the computer system by the one or more data processors; as well as The hot-plugging process is triggered by one or more data processors to update the recorded information based on information about the hot-plugging device. One or more of these processes are triggered by the computer system's operating system applications. One or more of these processes are triggered by the baseboard management controller of the computer system. Also includes: In response to this flag, multiple functions of the computer system regarding missing information are identified; as well as One or more special processing procedures are generated by the one or more data processors regarding the identified function.
8. The method of claim 7, further comprising: In response to the execution of functions related to missing information, one or more special processing procedures are triggered by one or more data processors; The one or more data processors and the one or more special processing procedures identify that at least a portion of the missing information has been repaired; as well as The one or more data processors perform at least a portion of the identified functions based on the repaired information.
9. The method of claim 5, wherein at least one of the one or more processing programs is an advanced configuration and power interface (ACPI) data table for access by the computer system.
10. A computer program product tangibly implemented on a non-transitory computer-readable storage medium, comprising a plurality of instructions causing a data processing apparatus to perform a plurality of operations: During the computer system's boot process, one or more data processors check whether an external device operablely coupled to the computer system generates a flag indicating a problem. In response to determining that the flag has been generated, the following are included: The one or more data processors generate one or more processing programs based on the flag; The one or more processes are triggered during the operation of the computer system, the operation continuing from the boot process; and During the operation, the information about the external device that caused the flag to be generated is repaired by one or more processing procedures.