A method and apparatus for determining an FRU device, and a medium

CN115470170BActive Publication Date: 2026-09-08INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211293445.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-21
Publication Date
2026-09-08
Estimated Expiration
2042-10-21

AI Technical Summary

Technical Problem

在全面扫描的方式导致扫描过程较为漫长,占用大量的时间成本,其扫描效率较低

Benefits of technology

[0032] This invention provides a method for determining FRU devices, comprising: obtaining an FRU device information table; performing an FRU device scan operation via OpenBMC to read the FRU device information table; and matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device. This method reads only information from the FRU device information table during scanning, replacing a full scan, enabling rapid scanning and avoiding the need for scanning all system devices, thus significantly reducing scanning time and improving scanning efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115470170B_ABST
    Figure CN115470170B_ABST
Patent Text Reader

Abstract

The application discloses a kind of determination method, device and medium of FRU equipment, applicable to server FRU information technical field.It includes: obtaining FRU equipment information table;FRU equipment scanning operation is executed by OpenBMC to read FRU equipment information table;FRU equipment supported by server is matched with FRU equipment information table to determine target FRU equipment.The method reads only the information in FRU equipment information table when scanning to replace the mode of comprehensive scanning, can realize fast scanning, avoid scanning to all system devices existingly, greatly shorten scanning time, improve scanning efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of server FRU information technology, and in particular to a method, apparatus and medium for determining FRU devices. Background Technology

[0002] With servers becoming increasingly modular, server manufacturing is shifting from traditional whole-machine production to modular assembly. Identifying and managing field-replaceable units (FRUs) within server modules has become a crucial function of the Board Management Controller (BMC) in server monitoring and management units.

[0003] Currently, OpenBMC uses a full scan approach for FRU (Inter-Integrated Circuit) unit search and confirmation in its FRU information management. It locates all serial buses (I2C) in the system device tree and then scans them according to bus addresses 0x03 to 0x7F. Once a corresponding device is found, its information is read and evaluated to determine if it conforms to the FRU information specification. If it does, it is identified as an FRU unit and added to the FRU information management list. In complex multi-I2C bus scenarios, the number of devices to be scanned may reach thousands, while a single server may only have a dozen or so FRU units that need to be managed. This full scan approach results in a lengthy scanning process, consuming significant time and resources, and has low scanning efficiency.

[0004] Therefore, how to quickly scan and confirm FRU devices is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] The purpose of this invention is to provide a method, apparatus, and medium for determining FRU devices, which avoids the need to scan all system devices as in existing methods, greatly shortens scanning time, and improves scanning efficiency.

[0006] To address the aforementioned technical problems, the present invention provides a method for determining an FRU device, comprising:

[0007] Configure the FRU device information table;

[0008] Perform an FRU device scan operation using OpenBMC to read the FRU device information table;

[0009] The server is matched with the FRU device information table to determine the target FRU device.

[0010] Preferably, the FRU device information table contains device information corresponding to each FRU device that the server can support.

[0011] Preferably, the FRU device information table includes at least the FRU device name, I2C bus, and I2C address information.

[0012] Preferably, the I2C bus in the FRU device information table supports at least one FRU device.

[0013] Preferably, the step of matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device includes:

[0014] Obtain the server's supported I2C bus;

[0015] The target I2C bus is determined based on the I2C bus supported by the I2C bus and the I2C bus in the FRU device information table, and the reverse matching.

[0016] Determine the FRU devices that can be supported in the FRU device information table based on the target I2C bus;

[0017] The target FRU device is determined by matching the FRU devices supported by the server with the FRU devices supported in the FRU device information table.

[0018] Preferably, the step of determining the target FRU device by matching the FRU devices supported by the server with the FRU devices supported in the FRU device information table includes:

[0019] The target FRU device is determined by the FRU device name and / or I2C address information corresponding to the FRU devices supported by the server and the FRU devices supported in the FRU device information table.

[0020] Preferably, it further includes:

[0021] When a change in the information of the FRU device or a change in the FRU device information table is detected, return to the step of obtaining the FRU device information table.

[0022] To address the aforementioned technical problems, the present invention also provides a device for determining an FRU device, comprising:

[0023] The configuration module is used to configure the FRU device information table;

[0024] The execution module is used to perform an FRU device scanning operation via OpenBMC to read the FRU device information table;

[0025] The matching module is used to match the FRU devices supported by the server with the FRU device information table to determine the target FRU device.

[0026] Preferably, it also includes a detection module;

[0027] The detection module is used to return to the step of setting the FRU device information table when it detects a change in the information of the FRU device or a change in the FRU device information table.

[0028] To address the aforementioned technical problems, the present invention also provides a device for determining an FRU device, comprising:

[0029] Memory, used to store computer programs;

[0030] A processor, used to execute the computer program to implement the steps of the method for determining an FRU device as described above.

[0031] To address the aforementioned technical problems, the present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the method for determining an FRU device as described above.

[0032] This invention provides a method for determining FRU devices, comprising: obtaining an FRU device information table; performing an FRU device scan operation via OpenBMC to read the FRU device information table; and matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device. This method reads only information from the FRU device information table during scanning, replacing a full scan, enabling rapid scanning and avoiding the need for scanning all system devices, thus significantly reducing scanning time and improving scanning efficiency.

[0033] In addition, the present invention also provides an apparatus and medium for determining an FRU device, which has the same beneficial effects as the above-described method for determining an FRU device. Attached Figure Description

[0034] To more clearly illustrate the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 A flowchart illustrating a method for determining an FRU device according to an embodiment of the present invention;

[0036] Figure 2A structural diagram of a determination device for an FRU device provided in an embodiment of the present invention;

[0037] Figure 3 This is a structural diagram of a determining device for another FRU device provided in an embodiment of the present invention. Detailed Implementation

[0038] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present invention.

[0039] The core of this invention is to provide a method, apparatus, and medium for determining FRU devices, which avoids the need to scan all system devices as in existing methods, greatly shortens scanning time, and improves scanning efficiency.

[0040] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0041] It's worth noting that FRU technology was first used in large-scale equipment such as servers, with International Business Machines Corporation (IBM) achieving the highest level of sophistication. Later, Dell ported FRU technology to personal computers (PCs). The Intelligent Platform Management Interface (IPMI) specification includes support for storing and accessing multiple sets of non-volatile Field Replaceable Unit (FRU) information for different modules within a system. An enterprise-level system typically possesses FRU information for each major system board (e.g., processor board, memory board, I / O board, etc.). FRU data includes serial numbers, part numbers, model numbers, asset tags, and other information.

[0042] IPMI FRU information can be accessed via the Intelligent Platform Management Bus (IPMB) and the management controller. This information can be retrieved at any time, independent of the host processor, Basic Input Output System (BIOS), system software, or operating system. This allows FRU information to be retrieved via out-of-band interfaces such as the Inter-Chassis Management Bus (ICMB), remote management cards, or other devices connected to the IPMB. FRU information can even be provided when the system is powered off. These capabilities allow FRU information to be obtained under fault conditions when host processor-dependent FRU access mechanisms are unavailable. This facilitates the creation of automated remote inventory and servicing applications.

[0043] IPMI does not seek to replace other FRU or inventory data mechanisms, such as those provided by System Management BIOS (SMBIOS) and Peripheral Component Interconnection (PCI) critical product data. Instead, IPMI FRU information is typically used to supplement this information or to provide access to information out-of-band or under “system-off” conditions.

[0044] Figure 1 A flowchart of a method for determining an FRU device provided in an embodiment of the present invention is shown below. Figure 1 As shown, the method includes:

[0045] S11: Configure the FRU device information table;

[0046] S12: Perform an FRU device scan operation via OpenBMC to read the FRU device information table;

[0047] S13: Match the FRU devices supported by the server with the FRU device information table to determine the target FRU device.

[0048] Understandably, the acquired FRU device information table, based on the configurable FRU unit list settings supported by the server model, allows access to FRU devices via the management controller or the FRU server. This access is achieved using IPMI commands to access FRU information managed by the management controller. This isolates the software from direct access to the non-volatile storage device, allowing hardware implementers to utilize any type of non-volatile storage they desire.

[0049] To more economically support the provision of FRU information across multiple platform modules, IPMI also allows the use of a simple 24C02-compatible Seeprom (Serial Electrically Erasable Programmable Read-Only Memory, ROM) chip to store FRU information. (The “24C02” type device is a non-volatile memory device with a built-in I2C-compatible interface).

[0050] FRU sequences provide a mechanism for implementing FRU information without requiring a management controller on the field-replaceable unit. FRU sequences can be accessed via a dedicated management bus connected to the management controller, or, if necessary, placed directly on the IPMB or PCI management bus. While supported, it is generally recommended that devices lacking data integrity checks on their I2C / SMBus interfaces, such as 24 C02 type Seeprom units, not be placed on "common" buses like the IPMB and PCI-SMBus. This is because without data integrity checks, misbehaving third-party plug-in devices could cause bus "failures," resulting in undetected errors when reading from or writing to the Seeprom. (Note: Depending on the device type, I2C addressing limits the number of devices that can be placed directly on the IPMB. See the IPMBI2C Address Allocation Specification for more information.)

[0051] OpenBMC performs an FRU device scan to read the FRU device information table. The BMC utilizes the intelligence of the IPMI architecture and is a dedicated microcontroller embedded on the motherboard of a computer (typically a server). It serves as an interface between the system and management software and the server platform hardware.

[0052] According to the IPMI specification, BMC needs to meet the following conditions:

[0053] 1. It has the IMPI command;

[0054] 2. Provide a BMC access interface (usually a network port);

[0055] 3. Provides a standardized watchdog timer interface and watchdog internal event generation function;

[0056] 4. Provides event receiving functionality that can be used by other host components;

[0057] 5. Provides functions such as SDR (Sensor Data Log), SEL (System Event Log), and FRU (Field Replaceable Unit) accessible through the corresponding IPMI mandatory commands.

[0058] In short, BMC is a small, independent board on the server motherboard with its own processor and control system. It communicates with the host hardware or system through interfaces such as IPMB, LPC (low-pin-count-interface), and SMBus, and transmits data to the local host / remote server through interfaces such as network, serial / Modem, and PCI to provide query and control functions. OpenBMC is a Linux distribution of BMC, designed to manage heterogeneous systems, including enterprise, high-performance computing, telecommunications, and cloud-scale data centers.

[0059] As one embodiment, the FRU device information table contains device information corresponding to each FRU device that the preset server can support.

[0060] Configure the list of FRU devices supported by the server model in advance, and add the device information to the FRU device information table.

[0061] Correspondingly, the FRU device information table may include the total number of FRUs, the I2C bus where the FRU device is located, the I2C address information corresponding to the FRU device address, etc. As an example, the FRU device information table may include at least the FRU device name, I2C bus and I2C address information.

[0062] It should be noted that the supported buses can be I2C bus, SMBUS bus, or other buses, such as PMBUS bus, IPMI interface, etc.

[0063] I2C is a protocol developed by Philips. It is a slow, two-wire protocol (variable speed, up to 400kHz) with a high-speed extension (3.4MHz). It provides an inexpensive bus for connecting many types of devices with infrequent or low-bandwidth communication needs. I2C is widely used in embedded systems. Some systems use variants that do not meet brand requirements and are therefore not advertised as I2C, but under different names such as TWI (Two-Wire Interface) or IIC.

[0064] The official I2C specification is the "I2C Bus Specification and User Manual" (UM10204) published by NXP Semiconductors. SMBus (System Management Bus) is based on the I2C protocol, primarily a subset of the I2C protocol and signaling. Many I2C devices will operate on SMBus, but some SMBus protocols add semantics beyond those required by the I2C protocol. Modern PC motherboards rely on SMBus. The most common devices connected via SMBus are RAM modules and hardware monitoring chips configured using I2C EEPROMs.

[0065] Because SMBus is primarily a subset of the general-purpose I2C bus, its protocol can be used on many I2C systems. However, some systems do not meet the electrical constraints of SMBus and I2C; and other systems cannot implement all the semantics or message protocols of the general-purpose SMBus protocol.

[0066] The target FRU device is determined by matching the server's supported FRU devices against the FRU device information table. This matching process can utilize existing full scan methods, or other scan methods or matching rules.

[0067] When performing FRU scan verification, OpenBMC only needs to scan and verify the FRU devices in the list according to the information in the list.

[0068] This invention provides a method for determining FRU devices, comprising: acquiring an FRU device information table; performing an FRU device scan operation via OpenBMC to read the FRU device information table; and matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device. This method reads only information from the FRU device information table during scanning, replacing a full scan, enabling rapid scanning and avoiding the need for scanning all system devices, thus significantly reducing scanning time and improving scanning efficiency.

[0069] Based on the above embodiments, the I2C bus of the FRU device information table supports at least one FRU device.

[0070] It is understandable that the I2C bus supports at least one FRU device, meaning that the I2C bus can support one or more FRU devices. Multiple I2C buses exist in the FRU device information table, with one FRU device corresponding to one I2C bus, and one I2C bus can correspond to multiple FRU devices to increase the number of supported FRU devices in the FRU device information table. Since the number of I2C buses supported by an FRU device is limited, multiple devices can be supported through the I2C bus during the configuration process.

[0071] The I2C bus of the FRU device information table provided in this embodiment of the invention supports at least one FRU device, which facilitates the loading of more device information on the I2C bus in the device information table.

[0072] Based on the above embodiments, step S13, which involves matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device, includes:

[0073] Obtain the server's support for the I2C bus;

[0074] The target I2C bus is determined by matching the supported I2C buses with the I2C buses in the FRU device information table.

[0075] Determine the FRU devices that can be supported in the FRU device information table based on the target I2C bus;

[0076] The target FRU device is determined by matching the FRU devices supported by the server with the FRU devices supported in the FRU device information table.

[0077] It should be noted that the matching method can determine the priority order of matching from multiple pieces of information in the FRU device information table, with the first priority being matched first. The first priority in the matching method provided in this embodiment can be any information. As a preferred embodiment, the first priority is the I2C bus.

[0078] I2C is a popular communication protocol that enables master devices (such as processors, microcontrollers (MCUs), or application-specific integrated circuits (ASICs)) to communicate with other peripheral devices on the same two-wire bus. One wire is dedicated to data transmission, while the other is used for clock signals. Imagine it as a two-lane highway: cars flow from one end to the other in each lane, just as data packets are transmitted from the master device (processor, MCU, ASIC) to peripheral devices (temperature sensors, humidity sensors, and other devices).

[0079] I2C allows multiple peripherals to be easily implemented on the same bus. For example, various sensors can be used to monitor the temperature of a server. The I2C protocol is actually designed to support multiple devices on a single bus, while other protocols such as the Serial Peripheral Interface (SPI) are designed for point-to-point single-device support. A two-wire I2C interface can also help simplify wiring for a four-wire SPI interface and reduce the need for General Purpose Input / Output (GPIO).

[0080] I2C I / O expanders, as the name suggests, expand the number of I / O ports when the selected processor has no available ports. These devices differ from standard GPIO expanders because they communicate directly with devices on the I2C bus. This combination also provides various functions depending on your specific system needs, such as the number of channels, reset pins, and level shifting. I2C switches can solve two different problems. The first problem relates to address conflicts. Conflicts typically occur when two devices on the same bus have the same address. If the system has two temperature sensors and two humidity sensors on the same I2C bus, all with addresses 0xFF; an I2C switch can switch to a single sensor at a time; the I2C switch only powers a portion of the I2C bus at a time, thus keeping the unused portion of the bus powered down when not in use.

[0081] Specifically, the server's supported I2C buses are obtained, and the target I2C bus is determined by matching the supported I2C buses with the I2C buses in the FRU device information table. It is understood that the number of FRU devices a server can configure based on its supported I2C buses is limited. The number of FRU devices corresponding to the I2C bus in the FRU device information table may be greater or less than the number of FRU devices configured on the server; this is not limited here.

[0082] It should be noted that the server may support one or more I2C buses depending on the interface; this is not a limitation, as long as the corresponding I2C bus for the FRU device is determined. Correspondingly, the target I2C bus may be one or more.

[0083] The supported FRU devices in the FRU device information table are determined based on the target I2C bus. Specifically, the corresponding FRU devices in the FRU device information table are obtained based on the target I2C bus. As mentioned above, the number of FRU devices that a server can support is limited. For example, if a server supports one I2C bus, it can support three FRU devices. If five FRU devices are configured under the target I2C bus determined in the FRU device information table, the number of FRU devices that the server can support is less than the number of FRU devices on the target I2C bus. Therefore, it is necessary to match the supported FRU devices corresponding to the server's supported I2C bus from among the five FRU devices.

[0084] The target FRU device is determined by matching the FRU devices supported by the server with the FRU devices supported in the FRU device information table. Correspondingly, the matching method can be the same as the matching method for determining the target I2C bus, or it can be different. Other matching methods can be used as long as the target FRU device can be matched. There are no restrictions, and the method can be set according to the actual situation.

[0085] This invention provides a method for obtaining the supported I2C buses of a server; determining the target I2C bus by matching the supported I2C buses with the I2C buses in the FRU device information table; determining the supported FRU devices in the FRU device information table based on the target I2C bus; and determining the target FRU device by matching the server's supported FRU devices with the supported FRU devices in the FRU device information table. By reading only the information in the FRU device information table instead of a full scan, a fast scanning method can be achieved.

[0086] Based on the above embodiments, the target FRU device is determined by matching the FRU devices supported by the server with the FRU devices supported in the FRU device information table, including:

[0087] The target FRU device is determined by comparing the FRU devices supported by the server with the FRU device names and / or I2C address information corresponding to the supported FRU devices in the FRU device information table.

[0088] In the above embodiments, the FRU device information table includes at least the FRU device name, I2C bus, and I2C address information. The target I2C bus is determined by the first priority (I2C bus), so the target FRU device can be subsequently determined using the FRU device name and / or I2C address information. It is understood that the FRU device and I2C address information can both be used as the second priority, or either the FRU device or the I2C address information can be used as the second priority; no specific limitation is made here.

[0089] For example, after identifying the target I2C bus, the server selects three FRU devices from the five FRU devices based on the FRU device name.

[0090] It should be noted that other information in the FRU device information table can also be used as a priority match to obtain the target FRU device, which is not limited here.

[0091] This embodiment provides a method for determining the target FRU device by using the FRU device name and / or I2C address information corresponding to the FRU devices supported by the server and the FRU device information table, making the obtained target FRU device more accurate and the determination process faster.

[0092] Based on the above embodiments, this method can be used for information changes in FRU devices, and also includes:

[0093] When a change in FRU device information or a change in the FRU device information table is detected, return to the steps for setting the FRU device information table.

[0094] It is understandable that if the FRU device name or I2C address information of its FRU device changes, it will obtain the corresponding target FRU device by retrieving the FRU device information table and the corresponding matching process.

[0095] It should be noted that, in the embodiments of the present invention, the corresponding I2C bus remains unchanged despite the corresponding information changes, that is, the specific protocol of the corresponding I2C bus remains unchanged.

[0096] This invention provides a method for obtaining the FRU device information table when a change in FRU device information or the FRU device information table is detected; performing an FRU device scan operation via OpenBMC to read the FRU device information table; and matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device. This method reads only information from the FRU device information table during scanning, replacing a full scan, enabling rapid scanning and avoiding the need for scanning all system devices, significantly reducing scanning time and making the scanning target more clearly defined.

[0097] As one embodiment, after identifying a target FRU device, corresponding log information can be output, allowing staff to clearly view port usage and FRU device usage by reviewing the logs. Simultaneously, prompt messages can be output to promptly remind staff that the target FRU device has been identified, facilitating subsequent operations.

[0098] The foregoing has described in detail various embodiments corresponding to the method for determining FRU devices. Based on this, the present invention also discloses an apparatus for determining FRU devices corresponding to the aforementioned apparatus. Figure 2 This is a structural diagram of a determining device for an FRU device provided in an embodiment of the present invention. Figure 2 As shown, the determining device of the FRU equipment includes:

[0099] Module 11 is used to configure the FRU device information table;

[0100] Execution module 12 is used to perform FRU device scanning operations through OpenBMC to read the FRU device information table;

[0101] The matching module is used to match the FRU devices supported by the server with the FRU device information table to determine the target FRU device.

[0102] Since the embodiments of the device part correspond to the embodiments described above, please refer to the embodiments described in the method part for the embodiments of the device part, and will not be repeated here.

[0103] Based on the above embodiments, a detection module is also included;

[0104] The detection module is used to return to the step of obtaining the FRU device information table when a change in the information of the FRU device or a change in the FRU device information table is detected.

[0105] This invention provides an apparatus for determining FRU devices, comprising a setting module, an execution module, and a matching module: the setting module is used to acquire an FRU device information table; the execution module is used to perform an FRU device scanning operation via OpenBMC to read the FRU device information table; and the matching module is used to match the FRU devices supported by the server with the FRU device information table to determine the target FRU device. This apparatus reads only the information in the FRU device information table during scanning, replacing a full scan, enabling rapid scanning and avoiding the need for scanning all system devices, thus significantly shortening scanning time and improving scanning efficiency.

[0106] Figure 3 A structural diagram of a determining device for another FRU device provided in an embodiment of the present invention is shown below. Figure 3 As shown, the determining device of the FRU equipment includes:

[0107] Memory 21 is used to store computer programs;

[0108] Processor 22 is used to implement the steps of determining the FRU device when executing a computer program.

[0109] The device for determining the FRU device provided in this embodiment may include, but is not limited to, smartphones, tablets, laptops, or desktop computers.

[0110] The processor 22 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 22 may be implemented using at least one of the following hardware forms: Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 22 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 22 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 22 may also include an Artificial Intelligence (AI) processor, which handles computational operations related to machine learning.

[0111] The memory 21 may include one or more computer-readable storage media, which may be non-transitory. The memory 21 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 21 is used to store at least the following computer program 211, which, after being loaded and executed by the processor 22, is capable of implementing the relevant steps of the FRU device determination method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 21 may also include an operating system 212 and data 213, etc., and the storage method may be temporary storage or permanent storage. The operating system 212 may include Windows, Unix, Linux, etc. The data 213 may include, but is not limited to, the data involved in the FRU device determination method, etc.

[0112] In some embodiments, the determining means of the FRU device may further include a display screen 23, an input / output interface 24, a communication interface 25, a power supply 26, and a communication bus 27.

[0113] Those skilled in the field can understand, Figure 3 The structure shown does not constitute a limitation on a specific FRU device and may include more or fewer components than illustrated.

[0114] The processor 22 implements the method for determining the FRU device provided in any of the above embodiments by calling instructions stored in the memory 21.

[0115] This invention provides an apparatus for determining FRU devices, comprising: acquiring an FRU device information table; performing an FRU device scanning operation via OpenBMC to read the FRU device information table; and matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device. This apparatus reads only information from the FRU device information table during scanning, replacing a full scan, enabling rapid scanning and avoiding the need for scanning all system devices, thus significantly shortening scanning time and improving scanning efficiency.

[0116] Furthermore, the present invention also provides a computer-readable storage medium storing a computer program, which, when executed by processor 22, implements the steps of the method for determining the FRU device as described above.

[0117] It is understood that if the methods in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0118] This invention provides a computer-readable storage medium, comprising: acquiring an FRU device information table; performing an FRU device scan operation via OpenBMC to read the FRU device information table; and matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device. This medium reads only information from the FRU device information table during scanning, replacing a full scan, enabling rapid scanning and avoiding the need for scanning all system devices, thus significantly shortening scanning time and improving scanning efficiency.

[0119] The foregoing has provided a detailed description of the method, apparatus, and medium for determining an FRU device provided by this invention. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make various improvements and modifications to this invention without departing from the principles of the invention, and these improvements and modifications also fall within the protection scope of the claims of this invention.

[0120] It should also be noted that, in this specification, 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 apparatus 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 apparatus. 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 apparatus that includes said element.

Claims

1. A method for determining an FRU device, characterized in that, include: Configure the FRU device information table; Perform an FRU device scan operation using OpenBMC to read the FRU device information table; The server-supported FRU devices are matched with the FRU device information table to determine the target FRU device; Correspondingly, the step of matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device includes: Obtain the server's supported I2C bus; The target I2C bus is determined by matching the supported I2C bus with the I2C bus in the FRU device information table. Determine the FRU devices that can be supported in the FRU device information table based on the target I2C bus; The target FRU device is determined by matching the FRU devices supported by the server with the FRU devices supported in the FRU device information table; wherein the number of FRU devices supported by the server is less than the number of FRU devices on the target I2C bus; specifically, the target FRU device is determined by the FRU device name and / or I2C address information corresponding to the FRU devices supported by the server and the FRU devices supported in the FRU device information table.

2. The method for determining the FRU device according to claim 1, characterized in that, The FRU device information table contains device information corresponding to each FRU device that the server can support.

3. The method for determining the FRU device according to claim 2, characterized in that, The FRU device information table includes at least the FRU device name, I2C bus, and I2C address information.

4. The method for determining the FRU device according to claim 3, characterized in that, The I2C bus in the FRU device information table supports at least one FRU device.

5. The method for determining the FRU device according to any one of claims 1 to 4, characterized in that, Also includes: When a change in the information of the FRU device or a change in the FRU device information table is detected, return to the step of setting the FRU device information table.

6. A determining device for an FRU device, characterized in that, include: The configuration module is used to configure the FRU device information table; The execution module is used to perform an FRU device scanning operation via OpenBMC to read the FRU device information table; The matching module is used to match the FRU devices supported by the server with the FRU device information table to determine the target FRU device; Correspondingly, the step of matching the FRU devices supported by the server with the FRU device information table to determine the target FRU device includes: Obtain the server's supported I2C bus; The target I2C bus is determined by matching the supported I2C bus with the I2C bus in the FRU device information table. Determine the FRU devices that can be supported in the FRU device information table based on the target I2C bus; The target FRU device is determined by matching the FRU devices supported by the server with the FRU devices supported in the FRU device information table; wherein the number of FRU devices supported by the server is less than the number of FRU devices on the target I2C bus; specifically, the target FRU device is determined by the FRU device name and / or I2C address information corresponding to the FRU devices supported by the server and the FRU devices supported in the FRU device information table.

7. A determining device for an FRU device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the steps of the method for determining an FRU device as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method for determining an FRU device as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Method and device for refreshing field replaceable unit (FRU)

    CN110413296A