Keyboard controller style interface fault redundancy method and apparatus
By embedding the keyboard controller style interface information in flash memory and repeatedly checking the status of the baseboard management controller at startup, the server monitoring problem caused by BMC or IPMI anomalies is solved, thereby improving the reliability and stability of the server system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INSPUR SUZHOU INTELLIGENT TECH CO LTD
- Filing Date
- 2023-04-07
- Publication Date
- 2026-07-14
AI Technical Summary
In cloud computing data centers, BMC or IPMI anomalies during server startup can prevent the keyboard controller style interface from being created, affecting the server's reliability and stability.
By embedding the keyboard controller style interface information into flash memory, the system obtains digital integrated circuit mapping information when the basic input/output system starts up, determines the status of the board management controller based on the mapping information, and repeatedly executes the detection command in abnormal situations until a certain number of times, and then creates the keyboard controller style interface.
Even when the basic input/output system malfunctions or processes are blocked, the chassis status can still be monitored through the keyboard controller-style interface, improving the reliability and stability of the server system.
Smart Images

Figure CN116541211B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of server technology, and in particular to a keyboard controller style interface fault redundancy method, a keyboard controller style interface fault redundancy device, an electronic device, and a readable storage medium. Background Technology
[0002] In the field of cloud computing data centers, with the development of internet technology, the demand for servers and storage servers is increasing, and the requirements for server stability and reliability are also becoming more stringent. Chassis monitoring systems play a crucial role in monitoring the overall operational status of the server. When a server powers on, the BMC (Baseboard Management Controller) system typically runs first, followed by the BIOS (Basic Input Output System) initializing the server system hardware and booting the server operating system. During the server operating system's operation, it monitors the server chassis through the IPMI (Intelligent Platform Management Interface). When the BMC system malfunctions or the IPMI is congested, the KCS (Keyboard Controller Style) interface cannot be created, preventing the server operating system from monitoring the chassis through the BMC, thus reducing the reliability and stability of the server system. Summary of the Invention
[0003] In view of the above problems, embodiments of the present invention are proposed to provide a keyboard controller style interface fault redundancy method, a keyboard controller style interface fault redundancy device, an electronic device, and a readable storage medium to overcome or at least partially solve the above problems.
[0004] In a first aspect, embodiments of the present invention disclose a keyboard controller style interface fault redundancy method, comprising:
[0005] The keyboard controller style interface information is stored in flash memory;
[0006] When the basic input / output system starts up, acquire the digital integrated circuit mapping information;
[0007] The status of the substrate management controller is determined based on the digital integrated circuit mapping information;
[0008] When the status of the substrate management controller is abnormal, the step of obtaining digital integrated circuit mapping information is repeated after a preset time interval until the first repetition number is reached. Then, the step of sending the substrate management controller status detection command to detect the status of the substrate management controller is repeated until the second repetition number is reached. Finally, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory.
[0009] Optionally, the method further includes:
[0010] When the baseboard management controller is in normal status, the baseboard management controller information is obtained, and a keyboard controller style interface is created based on the baseboard management controller information.
[0011] Optionally, the step of repeatedly executing the step of obtaining the digital integrated circuit mapping information after a preset time interval until the first repetition number is reached includes:
[0012] The step of acquiring digital integrated circuit mapping information is executed periodically according to the preset time to determine the status of the substrate management controller;
[0013] When the status of the substrate management controller is abnormal, continue to execute the step of obtaining digital integrated circuit mapping information until the first repetition number is reached;
[0014] When the substrate management controller is in a normal state, the step of obtaining digital integrated circuit mapping information is interrupted.
[0015] Optionally, the baseboard management controller status detection instruction includes a device identifier acquisition instruction and a self-test instruction; the step of repeatedly executing the step of sending the baseboard management controller status detection instruction to detect the status of the baseboard management controller until the second repetition number is reached includes:
[0016] Send the device identifier acquisition command to obtain the update status identifier fed back by the baseboard management controller;
[0017] When the update status identifier is an update identifier, repeat the step of sending the device identifier acquisition instruction until the second repetition number is reached;
[0018] When the update status identifier is not updated, the self-test command is sent to obtain the hardware fault identifier fed back by the baseboard management controller; when the hardware fault identifier is empty, the baseboard management controller is determined to be in normal status; when the hardware fault identifier is a preset fault identifier, the step of sending the self-test command is repeated until the second repetition number is reached, and then the baseboard management controller is determined to be in abnormal status.
[0019] Optionally, the step of repeatedly executing the step of sending the self-test command until the second number of repetitions is reached includes:
[0020] The self-test command is sent periodically and repeatedly.
[0021] When the hardware fault identifier is a preset fault identifier, continue to send the self-test command until the second repetition number is reached;
[0022] When the hardware fault identifier is empty, the step of sending the self-test command is interrupted to determine that the status of the baseboard management controller is normal.
[0023] Optionally, the step of creating a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory includes:
[0024] A smart platform management interface protocol is created based on the keyboard controller style interface information stored in the flash memory;
[0025] A keyboard controller style interface is created according to the intelligent platform management interface protocol, and the keyboard controller style interface information is stored to complete the creation.
[0026] Optionally, after repeating the step of acquiring digital integrated circuit mapping information after the preset time interval until the first repetition number is reached, the method further includes:
[0027] Record the status of the baseboard management controller and generate an exception log.
[0028] In a second aspect, embodiments of the present invention disclose a keyboard controller style interface fault redundancy device, comprising:
[0029] The firmware module is used to firmware the keyboard controller style interface information to flash memory;
[0030] The acquisition module is used to acquire digital integrated circuit mapping information when the basic input / output system starts up;
[0031] The judgment module is used to determine the status of the substrate management controller based on the digital integrated circuit mapping information;
[0032] A forced creation module is used to repeatedly execute the step of obtaining digital integrated circuit mapping information after a preset time interval when the status of the substrate management controller is abnormal, until the first repetition number is reached. Then, it repeatedly executes the step of sending the substrate management controller status detection command to detect the status of the substrate management controller until the second repetition number is reached. Finally, it creates a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory.
[0033] In a third aspect, embodiments of the present invention also disclose an electronic device, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the steps of the keyboard controller style interface fault redundancy method as described above.
[0034] In a fourth aspect, embodiments of the present invention also disclose a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the keyboard controller style interface fault redundancy method as described above.
[0035] The embodiments of the present invention have the following advantages:
[0036] This invention embodiment stores keyboard controller style interface information in flash memory. When the Basic Input / Output System (BIOS) starts, it acquires digital integrated circuit (DIC) mapping information. Based on the DIC mapping information, it determines the status of the baseboard management controller (BMC). When the BMC status is abnormal, the step of acquiring the DIC mapping information is repeated after a preset time interval until a first repetition is reached. Then, the step of sending a BMC status detection command to detect the BMC status is repeated until a second repetition is reached. Finally, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory. This invention embodiment, by pre-storing the keyboard controller style interface information in flash memory, ensures that the keyboard controller style interface information is preserved even during power failures and restarts or when the BIOS starts. Then, when the BIOS starts, or when the BIOS malfunctions or processes are blocked, the keyboard controller style interface can be created based on the stored keyboard controller style interface information. This allows the BIOS to monitor the chassis status through the keyboard controller style interface, improving the reliability and stability of the server system. Attached Figure Description
[0037] Figure 1 This is a flowchart illustrating the steps of an embodiment of a keyboard controller style interface fault redundancy method according to the present invention;
[0038] Figure 2 This is a flowchart illustrating the steps of another embodiment of the keyboard controller style interface fault redundancy method of the present invention;
[0039] Figure 3 This is an application server architecture diagram illustrating an example of a keyboard controller style interface fault redundancy method according to the present invention.
[0040] Figure 4 This is a structural block diagram of an embodiment of a keyboard controller style interface fault redundancy device according to the present invention;
[0041] Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of the present invention;
[0042] Figure 6 This is a structural block diagram of a storage medium provided in an embodiment of the present invention. Detailed Implementation
[0043] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0044] Reference Figure 1 The flowchart illustrates an embodiment of a keyboard controller style interface fault redundancy method according to the present invention, which may specifically include the following steps:
[0045] Step 101: Save the keyboard controller style interface information to flash memory.
[0046] Before the Basic Input / Output System (BIOS) is started, the keyboard controller style interface information of the circuit board can be stored in the flash memory from the BIOS code. The flash memory can be the BIOS's flash memory, allowing the BIOS to read it directly at startup.
[0047] Step 102: When the basic input / output system starts, obtain the digital integrated circuit mapping information.
[0048] Then, when the basic input / output system starts up, the CPLD (Complex Programmable Logic Device) mapping information, i.e. digital integrated circuit mapping information, can be obtained. The status of the input / output interfaces of the board management controller during normal startup can be reflected through this digital integrated circuit mapping information, thereby determining whether the board management controller has started up normally.
[0049] Step 103: Determine the status of the substrate management controller based on the digital integrated circuit mapping information.
[0050] Based on the digital integrated circuit mapping information, determine whether the status of the substrate management controller is normal.
[0051] Step 104: When the status of the substrate management controller is abnormal, the step of obtaining digital integrated circuit mapping information is repeated after a preset time interval until the first repetition number is reached. Then, the step of sending the substrate management controller status detection command to detect the status of the substrate management controller is repeated until the second repetition number is reached. Finally, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory.
[0052] When the substrate management controller is determined to be in an abnormal state, after a preset time interval, the step of acquiring digital integrated circuit mapping information is executed again to determine the substrate management controller state using the new digital integrated circuit mapping information. The substrate management controller state is determined through multiple retries; if the substrate management controller state is still abnormal after the first retry count, a substrate management controller state detection command is sent to determine the state of the substrate management controller process, thereby determining the substrate management controller state. Then, multiple retries are performed again until a second retry count is reached, at which point the substrate management controller state is determined to be abnormal. At this point, a keyboard controller style interface is created based on the keyboard controller style interface information stored in flash memory, thereby forcibly creating the keyboard controller style interface. The preset time, the first retry count, and the second retry count can be set according to actual needs, and this embodiment of the invention does not impose limitations.
[0053] This invention embodiment stores keyboard controller style interface information in flash memory. When the Basic Input / Output System (BIOS) starts, it acquires digital integrated circuit (DIC) mapping information. Based on the DIC mapping information, it determines the status of the baseboard management controller (BMC). When the BMC status is abnormal, the step of acquiring the DIC mapping information is repeated after a preset time interval until a first repetition is reached. Then, the step of sending a BMC status detection command to detect the BMC status is repeated until a second repetition is reached. Finally, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory. This invention embodiment, by pre-storing the keyboard controller style interface information in flash memory, ensures that the keyboard controller style interface information is preserved even during power failures and restarts or when the BIOS starts. Then, when the BIOS starts, or when the BIOS malfunctions or processes are blocked, the keyboard controller style interface can be created based on the stored keyboard controller style interface information. This allows the BIOS to monitor the chassis status through the keyboard controller style interface, improving the reliability and stability of the server system.
[0054] Reference Figure 2 The flowchart illustrates another embodiment of the keyboard controller style interface fault redundancy method of the present invention, which may specifically include the following steps:
[0055] Step 201: Save the keyboard controller style interface information to flash memory.
[0056] In this embodiment of the invention, the B keyboard controller style interface information used by the current substrate can be stored in flash memory, wherein the flash memory can be the flash memory of the basic input / output system.
[0057] Step 202: When the basic input / output system starts, obtain the digital integrated circuit mapping information.
[0058] When the basic input / output system starts up, it obtains the digital integrated circuit mapping information through the corresponding interface channel.
[0059] Step 203: Determine the status of the substrate management controller based on the digital integrated circuit mapping information.
[0060] The status of the substrate management controller is determined by the acquired digital integrated circuit mapping information.
[0061] Step 204: When the status of the substrate management controller is abnormal, the step of obtaining digital integrated circuit mapping information is repeated after a preset time interval until the first repetition number is reached. Then, the step of sending the substrate management controller status detection command to detect the status of the substrate management controller is repeated until the second repetition number is reached. Finally, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory.
[0062] When the substrate management controller is in an abnormal state, the step of obtaining digital integrated circuit mapping information is repeated up to the first repetition number to determine the substrate management controller state multiple times. If the substrate management controller state is still not abnormal after multiple retries, a substrate management controller state detection command is sent to the basic controller to test whether there is a problem with the substrate management controller process and to determine the substrate management controller state. If the substrate management controller state is still abnormal after multiple retries, a keyboard controller style interface is created based on the keyboard controller style interface information stored in flash memory to achieve forced creation of the keyboard controller style interface.
[0063] Specifically, the step of repeatedly executing the step of acquiring digital integrated circuit mapping information after a preset time interval until the first repetition number is reached includes: periodically executing the step of acquiring digital integrated circuit mapping information according to the preset time to determine the status of the substrate management controller; when the status of the substrate management controller is abnormal, continuing to execute the step of acquiring digital integrated circuit mapping information until the first repetition number is reached; and interrupting the execution of the step of acquiring digital integrated circuit mapping information when the status of the substrate management controller is normal.
[0064] Specifically, after initially determining that the substrate management controller's state is abnormal, a preset time is waited before a second attempt is made to acquire digital integrated circuit mapping information. The newly acquired digital integrated circuit mapping information is used to determine the substrate management controller's state. If this determination indicates the substrate management controller's state is normal, then the subsequent acquisition of digital integrated circuit mapping information is interrupted. If this determination still indicates the substrate management controller's state is abnormal, after a preset time interval, the acquisition of digital integrated circuit mapping information is performed again, and the determination is repeated until the first repetition number of times the acquisition of digital integrated circuit mapping information is reached. Multiple retries are made for the substrate management controller. The interval time and the first repetition number can be determined based on actual conditions, such as an interval time of 5 seconds and a first repetition number of 5 times. This embodiment of the invention does not impose limitations.
[0065] Specifically, the baseboard management controller status detection instruction includes a device identifier acquisition instruction and a self-test instruction; the step of repeatedly executing the step of sending the baseboard management controller status detection instruction to detect the status of the baseboard management controller until a second repetition number is reached includes: sending the device identifier acquisition instruction to obtain an update status identifier fed back by the baseboard management controller; when the update status identifier is an update identifier, repeatedly executing the step of sending the device identifier acquisition instruction until a second repetition number is reached; when the update status identifier is an update identifier, sending the self-test instruction to obtain a hardware fault identifier fed back by the baseboard management controller; when the hardware fault identifier is empty, determining that the baseboard management controller status is normal; when the hardware fault identifier is a preset fault identifier, repeatedly executing the step of sending the self-test instruction until a second repetition number is reached, and then determining that the baseboard management controller status is abnormal.
[0066] In this embodiment of the invention, the status detection instruction of the baseboard management controller includes a device identifier acquisition instruction and a self-test instruction; the device identifier acquisition instruction can be a get deviceid (get identifier) instruction, and the self-test instruction can be a getselftest (self-test) instruction.
[0067] In this embodiment of the invention, a device identifier acquisition command can be sent via the KCS channel of the LPC bus (Low Pin Count bus) to obtain the update status identifier fed back by the board management controller. The update status identifier is used to determine whether the BMC firmware is being updated. When the update status identifier is an update identifier, or when the update status identifier is empty, it is determined that the BMC firmware is being updated. After waiting for a preset time, the step of sending the device identifier acquisition command is repeated until a second repetition is reached.
[0068] When the update status flag is "not updated," it is determined that the BMC firmware is not in an update state. The input / output system can send a self-test command to obtain the hardware fault flag fed back by the baseboard management controller; this determines whether there is a hardware fault in the baseboard management controller. When the hardware fault flag is a preset fault flag, the step of sending the self-test command is repeated until a second repetition is reached to eliminate occasional false detections. If the hardware fault flag still exists after the second repetition, it can be determined that the baseboard management controller is in an abnormal state.
[0069] Furthermore, the step of repeatedly executing the step of sending the self-test command until the second repetition number is reached includes: periodically repeating the execution of sending the self-test command; when the hardware fault identifier is a preset fault identifier, continuing to execute the execution of sending the self-test command until the second repetition number is reached; when the hardware fault identifier is empty, interrupting the execution of sending the self-test command, and determining that the status of the baseboard management controller is normal.
[0070] In this embodiment of the invention, the step of sending the self-test command can be repeated periodically. During the execution, if the hardware fault identifier is detected to be empty, the step of sending the self-test command is interrupted to determine that the status of the baseboard management controller is normal. If the hardware fault identifier is continuously detected as a hardware fault identifier, the execution continues until the second repetition number is reached.
[0071] Furthermore, if the status of the baseboard management controller remains abnormal after multiple retries, the status of the baseboard management controller can be recorded to generate an exception log, which will facilitate subsequent troubleshooting.
[0072] Step 205: When the baseboard management controller is in normal status, obtain the baseboard management controller information and create a keyboard controller style interface based on the baseboard management controller information.
[0073] When the baseboard management controller is in normal status, relevant baseboard management controller information is obtained from the basic central processing unit. Based on the obtained baseboard management controller information, an intelligent platform management interface protocol is created, and a corresponding keyboard controller style interface is created, thus completing the keyboard controller style interface. Furthermore, information corresponding to the keyboard controller style interface at this time can be obtained and updated in the flash memory, thereby updating the keyboard controller style interface information in the flash memory.
[0074] This invention embodiment stores keyboard controller style interface information in flash memory; when the basic input / output system starts, it acquires digital integrated circuit mapping information; determines the status of the substrate management controller based on the digital integrated circuit mapping information; when the status of the substrate management controller is abnormal, it repeats the step of acquiring digital integrated circuit mapping information after a preset time interval until a first repetition is reached, and then repeats the step of sending a substrate management controller status detection command to detect the status of the substrate management controller until a second repetition is reached, and then creates a keyboard controller style interface based on the keyboard controller style interface information stored in flash memory; when the status of the substrate management controller is normal, it acquires substrate management controller information and creates a keyboard controller style interface based on the substrate management controller information. This invention pre-deposits keyboard controller style interface information into flash memory, ensuring that the information is preserved even during power outages, restarts, or the startup of the Basic Input / Output System (BIOS). When the BIOS starts, if there are BIOS malfunctions or process blockages, multiple retries can be performed. If an BIOS malfunction is confirmed, a keyboard controller style interface can be created based on the pre-deposited information. This allows the BIOS to monitor the chassis status through this interface. If the BIOS is functioning normally, it can acquire the baseboard management controller (BMC) information and create the keyboard controller style interface accordingly. This enables the creation of keyboard controller style interfaces for chassis status monitoring in various scenarios, improving the reliability and stability of the server system.
[0075] To enable those skilled in the art to better understand the embodiments of the present invention, an example is provided below to illustrate the embodiments of the present invention:
[0076] Reference Figure 3 This diagram illustrates the architecture of an application server as an example of a keyboard controller-style interface fault redundancy method according to the present invention. The server includes a central processing unit (CPU), a complex programmable logic device (CPLD), a baseboard controller (BMC), and a basic input / output system (BIOS). The BIOS communicates with the CPU via SPI (full-duplex synchronous serial bus). The CPU and BMC communicate via PCIe (high-speed serial computer expansion bus), I2C (two-wire synchronous serial bus), and LPC (low pin count bus).
[0077] After the server is powered on, the CPLD controls the BMC to start first. During BMC system startup, the BMC hardware is initialized, and the IPMI process is created. Then, the CPLD controls the CPU to power on, and the CPU loads the BIOS firmware to initialize the server hardware system. The keyboard controller style interface fault redundancy method is as follows:
[0078] 1. The BIOS code (Basic Input / Output System code) stores the BMC KCS (Baseboard Controller Keyboard Controller Style) information currently used by the motherboard in the BIOS Flash Nvram (Basic Input / Output System Flash Memory);
[0079] 2. When the BIOS starts, it checks the CPLD mapping to identify the interface status of the BMC during normal startup. If the BMC starts normally, it proceeds to step 3. If the BMC starts abnormally, it reads the CPLD mapping 50 times at 500ms intervals. If it is abnormal in all cases, the BMC is considered to be starting abnormally. The relevant abnormal log is recorded, and then the process jumps to step 5.
[0080] 3. During BIOS startup, a getdeviceid command is sent via the LPC's KCS IO port (keyboard controller style interface channel) to determine if the returned bmc status (baseboard server status) indicates that the BMC firmware is being updated. If the bmc status does not indicate that the BMC firmware is being updated, the BIOS initiates a getselftest command. If the bmc status indicates that the BMC firmware is being updated or the command does not return a response, a retry is initiated after 5 seconds, with a maximum of 5 retries.
[0081] 5. If the get selftest returns no hard fail (hardware failure) or firmware update status, create an IPMI transport protocol (Intelligent Platform Management Interface Protocol) using the obtained BMC information, and update the obtained BMC KCS information to the BIOS Flash NVRAM; if the get selftest returns a hard fail or firmware update status, or the command does not return, wait 5 seconds and initiate a retry, with a maximum of 5 retries.
[0082] 6. If steps 2 and 4 fail, use the BMC KCS related data stored in the BIOS Flash Nvram to force the creation of the IPMI transport protocol;
[0083] 7. After the IPMI transport protocol is successfully created, an ACPI SMPI table is created, and the KCS information is saved to the ACPI SMPI table (keyboard controller style interface).
[0084] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.
[0085] Reference Figure 4 The diagram illustrates a structural block diagram of an embodiment of a keyboard controller style interface fault redundancy device according to the present invention, which may specifically include the following modules:
[0086] The firmware module 401 is used to firmware the keyboard controller style interface information to flash memory;
[0087] The acquisition module 402 is used to acquire digital integrated circuit mapping information when the basic input / output system starts up;
[0088] The judgment module 403 is used to determine the status of the substrate management controller based on the digital integrated circuit mapping information;
[0089] The forced creation module 404 is used to repeatedly execute the step of obtaining digital integrated circuit mapping information after a preset time interval when the status of the substrate management controller is abnormal until the first repetition number is reached. Then, it repeatedly executes the step of sending the substrate management controller status detection command to detect the status of the substrate management controller until the second repetition number is reached. Finally, it creates a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory.
[0090] In an optional embodiment of the present invention, the device further includes:
[0091] The standard forced creation module obtains the baseboard management controller information when the baseboard management controller is in a normal state, and creates a keyboard controller style interface based on the baseboard management controller information.
[0092] In an optional embodiment of the present invention, the forced creation module 404 includes:
[0093] The first loop execution submodule is used to periodically execute the step of obtaining digital integrated circuit mapping information according to the preset time, so as to determine the status of the substrate management controller;
[0094] The first repetitive execution submodule is used to continue executing the step of obtaining digital integrated circuit mapping information when the status of the substrate management controller is abnormal, until the first repetition number is reached;
[0095] The first interrupt execution submodule is used to interrupt the execution of the step of obtaining digital integrated circuit mapping information when the substrate management controller is in a normal state.
[0096] In an optional embodiment of the present invention, the baseboard management controller status detection instruction includes a device identifier acquisition instruction and a self-test instruction; the forced creation module 404 includes:
[0097] The sending module is used to send the device identifier acquisition instruction to obtain the update status identifier fed back by the baseboard management controller;
[0098] The second loop execution submodule is used to repeatedly execute the step of sending the device identifier acquisition instruction until the second repetition number is reached when the update status identifier is an update identifier.
[0099] The second loop execution submodule is used to send the self-test command to obtain the hardware fault flag fed back by the baseboard management controller when the update status flag is not updated; when the hardware fault flag is empty, the baseboard management controller is determined to be in normal status; when the hardware fault flag is a preset fault flag, the step of sending the self-test command is repeated until the second repetition number is reached, and then the baseboard management controller is determined to be in abnormal status.
[0100] In an optional embodiment of the present invention, the second loop execution submodule includes:
[0101] The second sending unit is used to periodically and repeatedly send the self-test command;
[0102] The second repetitive execution unit is used to continue sending the self-test instruction until the second repetition number is reached when the hardware fault identifier is a preset fault identifier.
[0103] The second interrupt execution unit is used to interrupt the step of sending the self-test command when the hardware fault identifier is empty, and to determine that the baseboard management controller is in normal status.
[0104] In an optional embodiment of the present invention, the forced creation module 404 includes:
[0105] The first creation submodule is used to create an intelligent platform management interface protocol based on the keyboard controller style interface information stored in the flash memory;
[0106] The second creation submodule is used to create a keyboard controller style interface according to the intelligent platform management interface protocol, and store the keyboard controller style interface information to complete the creation.
[0107] In an optional embodiment of the present invention, the device further includes:
[0108] Record the status of the baseboard management controller and generate an exception log.
[0109] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0110] Reference Figure 5 This application also provides an electronic device, including:
[0111] A processor 501 and a storage medium 502 are provided, wherein the storage medium 502 stores a computer program executable by the processor 501. When the electronic device is running, the processor 501 executes the computer program to perform the keyboard controller style interface fault redundancy method as described in this embodiment of the invention. The keyboard controller style interface fault redundancy method includes:
[0112] The keyboard controller style interface information is stored in flash memory;
[0113] When the basic input / output system starts up, acquire the digital integrated circuit mapping information;
[0114] The status of the substrate management controller is determined based on the digital integrated circuit mapping information;
[0115] When the status of the substrate management controller is abnormal, the step of obtaining digital integrated circuit mapping information is repeated after a preset time interval until the first repetition number is reached. Then, the step of sending the substrate management controller status detection command to detect the status of the substrate management controller is repeated until the second repetition number is reached. Finally, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory.
[0116] Optionally, the method further includes:
[0117] When the baseboard management controller is in normal status, the baseboard management controller information is obtained, and a keyboard controller style interface is created based on the baseboard management controller information.
[0118] Optionally, the step of repeatedly executing the step of obtaining the digital integrated circuit mapping information after a preset time interval until the first repetition number is reached includes:
[0119] The step of acquiring digital integrated circuit mapping information is executed periodically according to the preset time to determine the status of the substrate management controller;
[0120] When the status of the substrate management controller is abnormal, continue to execute the step of obtaining digital integrated circuit mapping information until the first repetition number is reached;
[0121] When the substrate management controller is in a normal state, the step of obtaining digital integrated circuit mapping information is interrupted.
[0122] Optionally, the baseboard management controller status detection instruction includes a device identifier acquisition instruction and a self-test instruction; the step of repeatedly executing the step of sending the baseboard management controller status detection instruction to detect the status of the baseboard management controller until the second repetition number is reached includes:
[0123] Send the device identifier acquisition command to obtain the update status identifier fed back by the baseboard management controller;
[0124] When the update status identifier is an update identifier, repeat the step of sending the device identifier acquisition instruction until the second repetition number is reached;
[0125] When the update status identifier is not updated, the self-test command is sent to obtain the hardware fault identifier fed back by the baseboard management controller; when the hardware fault identifier is empty, the baseboard management controller is determined to be in normal status; when the hardware fault identifier is a preset fault identifier, the step of sending the self-test command is repeated until the second repetition number is reached, and then the baseboard management controller is determined to be in abnormal status.
[0126] Optionally, the step of repeatedly executing the step of sending the self-test command until the second number of repetitions is reached includes:
[0127] The self-test command is sent periodically and repeatedly.
[0128] When the hardware fault identifier is a preset fault identifier, continue to send the self-test command until the second repetition number is reached;
[0129] When the hardware fault identifier is empty, the step of sending the self-test command is interrupted to determine that the status of the baseboard management controller is normal.
[0130] Optionally, the step of creating a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory includes:
[0131] A smart platform management interface protocol is created based on the keyboard controller style interface information stored in the flash memory;
[0132] A keyboard controller style interface is created according to the intelligent platform management interface protocol, and the keyboard controller style interface information is stored to complete the creation.
[0133] Optionally, after repeating the step of acquiring digital integrated circuit mapping information after the preset time interval until the first repetition number is reached, the method further includes:
[0134] Record the status of the baseboard management controller and generate an exception log.
[0135] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0136] Reference Figure 6 This application also provides a computer-readable storage medium 601, on which a computer program is stored. When a processor executes the computer program, it performs the multi-keyboard controller style interface fault redundancy method as described in this embodiment. The keyboard controller style interface fault redundancy method includes:
[0137] The keyboard controller style interface information is stored in flash memory;
[0138] When the basic input / output system starts up, acquire the digital integrated circuit mapping information;
[0139] The status of the substrate management controller is determined based on the digital integrated circuit mapping information;
[0140] When the status of the substrate management controller is abnormal, the step of obtaining digital integrated circuit mapping information is repeated after a preset time interval until the first repetition number is reached. Then, the step of sending the substrate management controller status detection command to detect the status of the substrate management controller is repeated until the second repetition number is reached. Finally, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory.
[0141] Optionally, the method further includes:
[0142] When the baseboard management controller is in normal status, the baseboard management controller information is obtained, and a keyboard controller style interface is created based on the baseboard management controller information.
[0143] Optionally, the step of repeatedly executing the step of obtaining the digital integrated circuit mapping information after a preset time interval until the first repetition number is reached includes:
[0144] The step of acquiring digital integrated circuit mapping information is executed periodically according to the preset time to determine the status of the substrate management controller;
[0145] When the status of the substrate management controller is abnormal, continue to execute the step of obtaining digital integrated circuit mapping information until the first repetition number is reached;
[0146] When the substrate management controller is in a normal state, the step of obtaining digital integrated circuit mapping information is interrupted.
[0147] Optionally, the baseboard management controller status detection instruction includes a device identifier acquisition instruction and a self-test instruction; the step of repeatedly executing the step of sending the baseboard management controller status detection instruction to detect the status of the baseboard management controller until the second repetition number is reached includes:
[0148] Send the device identifier acquisition command to obtain the update status identifier fed back by the baseboard management controller;
[0149] When the update status identifier is an update identifier, repeat the step of sending the device identifier acquisition instruction until the second repetition number is reached;
[0150] When the update status identifier is not updated, the self-test command is sent to obtain the hardware fault identifier fed back by the baseboard management controller; when the hardware fault identifier is empty, the baseboard management controller is determined to be in normal status; when the hardware fault identifier is a preset fault identifier, the step of sending the self-test command is repeated until the second repetition number is reached, and then the baseboard management controller is determined to be in abnormal status.
[0151] Optionally, the step of repeatedly executing the step of sending the self-test command until the second number of repetitions is reached includes:
[0152] The self-test command is sent periodically and repeatedly.
[0153] When the hardware fault identifier is a preset fault identifier, continue to send the self-test command until the second repetition number is reached;
[0154] When the hardware fault identifier is empty, the step of sending the self-test command is interrupted to determine that the status of the baseboard management controller is normal.
[0155] Optionally, the step of creating a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory includes:
[0156] A smart platform management interface protocol is created based on the keyboard controller style interface information stored in the flash memory;
[0157] A keyboard controller style interface is created according to the intelligent platform management interface protocol, and the keyboard controller style interface information is stored to complete the creation.
[0158] Optionally, after repeating the step of acquiring digital integrated circuit mapping information after the preset time interval until the first repetition number is reached, the method further includes:
[0159] Record the status of the baseboard management controller and generate an exception log.
[0160] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0161] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0162] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0163] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0164] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0165] Although preferred embodiments of the present invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present invention.
[0166] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.
[0167] The keyboard controller style interface fault redundancy method and apparatus provided by the present invention have been described in detail above. Specific examples have been used to illustrate the principle and implementation of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core idea of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation and application scope based on the idea of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A method for redundancy of keyboard controller style interface faults, characterized in that, include: The keyboard controller style interface information is stored in flash memory; When the basic input / output system starts up, acquire the digital integrated circuit mapping information; The status of the substrate management controller is determined based on the digital integrated circuit mapping information; When the substrate management controller is in an abnormal state, the step of obtaining digital integrated circuit mapping information is repeated after a preset time interval until the first repetition number is reached. Then, the step of sending a substrate management controller state detection command to detect the status of the substrate management controller is repeated until the second repetition number is reached. Then, a keyboard controller style interface is created based on the keyboard controller style interface information stored in the flash memory. The substrate management controller state detection command includes a device identifier acquisition command and a self-test command. The step of repeatedly executing the sending of the baseboard management controller status detection command to detect the status of the baseboard management controller until the second repetition number is reached includes: Send the device identifier acquisition command to obtain the update status identifier fed back by the baseboard management controller; When the update status identifier is an update identifier, repeat the step of sending the device identifier acquisition instruction until the second repetition number is reached; When the update status identifier is not updated, the self-test command is sent to obtain the hardware fault identifier fed back by the baseboard management controller; when the hardware fault identifier is empty, the baseboard management controller is determined to be in normal status; when the hardware fault identifier is a preset fault identifier, the step of sending the self-test command is repeated until the second repetition number is reached, and then the baseboard management controller is determined to be in abnormal status. The step of repeatedly executing the step of acquiring digital integrated circuit mapping information after a preset time interval until the first number of repetitions is reached includes: periodically executing the step of acquiring digital integrated circuit mapping information according to the preset time interval to determine the status of the substrate management controller; when the status of the substrate management controller is abnormal, continuing to execute the step of acquiring digital integrated circuit mapping information until the first number of repetitions is reached; when the status of the substrate management controller is normal, interrupting the execution of the step of acquiring digital integrated circuit mapping information. The step of repeatedly executing the self-test command until the second repetition number is reached includes: periodically repeating the execution of sending the self-test command; when the hardware fault identifier is a preset fault identifier, continuing to execute the sending of the self-test command until the second repetition number is reached; When the hardware fault identifier is empty, the step of sending the self-test command is interrupted to determine that the status of the baseboard management controller is normal. The step of creating a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory includes: creating an intelligent platform management interface protocol based on the keyboard controller style interface information stored in the flash memory; creating a keyboard controller style interface based on the intelligent platform management interface protocol; and storing the keyboard controller style interface information to complete the creation.
2. The method according to claim 1, characterized in that, The method further includes: When the baseboard management controller is in normal status, the baseboard management controller information is obtained, and a keyboard controller style interface is created based on the baseboard management controller information.
3. The method according to claim 1, characterized in that, After repeating the step of acquiring digital integrated circuit mapping information after a preset time interval until the first repetition number is reached, the method further includes: Record the status of the baseboard management controller and generate an exception log.
4. A keyboard controller-style interface fault redundancy device, characterized in that, include: The firmware module is used to firmware the keyboard controller style interface information to flash memory; The acquisition module is used to acquire digital integrated circuit mapping information when the basic input / output system starts up; The judgment module is used to determine the status of the substrate management controller based on the digital integrated circuit mapping information; A forced creation module is used to repeatedly execute the step of obtaining digital integrated circuit mapping information after a preset time interval when the status of the substrate management controller is abnormal, until the first repetition number is reached, and then repeatedly execute the step of sending substrate management controller status detection command to detect the status of the substrate management controller until the second repetition number is reached, and then create a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory. The status detection instructions of the baseboard management controller include device identifier acquisition instructions and self-test instructions; The forced creation module includes: The sending module is used to send the device identifier acquisition instruction to obtain the update status identifier fed back by the baseboard management controller; The second loop execution submodule is used to repeatedly execute the step of sending the device identifier acquisition instruction until the second repetition number is reached when the update status identifier is an update identifier. The second loop execution submodule is used to send the self-test command when the update status identifier is not updated to obtain the hardware fault identifier fed back by the baseboard management controller; when the hardware fault identifier is empty, the baseboard management controller is determined to be in normal status; when the hardware fault identifier is a preset fault identifier, the step of sending the self-test command is repeated until the second repetition number is reached, and then the baseboard management controller is determined to be in abnormal status. The step of repeatedly executing the step of acquiring digital integrated circuit mapping information after a preset time interval until the first number of repetitions is reached includes: periodically executing the step of acquiring digital integrated circuit mapping information according to the preset time interval to determine the status of the substrate management controller; when the status of the substrate management controller is abnormal, continuing to execute the step of acquiring digital integrated circuit mapping information until the first number of repetitions is reached; when the status of the substrate management controller is normal, interrupting the execution of the step of acquiring digital integrated circuit mapping information. The step of repeatedly executing the self-test command until the second repetition number is reached includes: periodically repeating the execution of sending the self-test command; when the hardware fault identifier is a preset fault identifier, continuing to execute the sending of the self-test command until the second repetition number is reached; When the hardware fault identifier is empty, the step of sending the self-test command is interrupted to determine that the status of the baseboard management controller is normal. The step of creating a keyboard controller style interface based on the keyboard controller style interface information stored in the flash memory includes: creating an intelligent platform management interface protocol based on the keyboard controller style interface information stored in the flash memory; creating a keyboard controller style interface based on the intelligent platform management interface protocol; and storing the keyboard controller style interface information to complete the creation.
5. An electronic device, characterized in that, It includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the steps of the keyboard controller style interface fault redundancy method as described in any one of claims 1 to 3.
6. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, which, when executed by a processor, implements the steps of the keyboard controller style interface fault redundancy method as described in any one of claims 1 to 3.