Optical module management method, system and apparatus, and computer device and storage medium

By establishing an optical module monitoring channel in a programmable logic device, the problem of insufficient timeliness and richness of optical module information obtained by the substrate management controller is solved, enabling timely and comprehensive monitoring and fault diagnosis of the optical module status.

WO2026001126A1PCT designated stage Publication Date: 2026-01-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/084224
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-03-21
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

The timely and comprehensive information obtained by the baseboard management controller from the optical module is insufficient, making it impossible to monitor the status of the optical module in a timely and comprehensive manner, resulting in inadequate fault diagnosis and management.

Method used

By establishing a monitoring channel from the substrate management controller to the optical module through a programmable logic device, the optical module information is obtained when the optical module is in place and idle using a communication bus, and then transmitted to the substrate management controller to establish an optical module management strategy.

Benefits of technology

It enables timely and comprehensive acquisition of optical module information, enhances the ability to monitor optical module status and diagnose faults, and improves product competitiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025084224_02012026_PF_FP_ABST
    Figure CN2025084224_02012026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers. Disclosed are an optical module management method, system and apparatus, and a computer device and a storage medium. The method comprises: acquiring presence information of an optical module, and on the basis of the presence information, determining whether the optical module is present; when the optical module is present and a communication bus between a programmable logic device and the optical module is idle, acquiring optical module information of the optical module by means of the communication bus; and transmitting the optical module information to a baseboard management controller, and instructing the baseboard management controller to generate and execute an optical module management policy on the basis of the optical module information. The present application solves the problem of optical module information acquired by a baseboard management controller lacking timeliness and richness.
Need to check novelty before this filing date? Find Prior Art

Description

Optical module management method, system, device, computer device and storage medium

[0001] Cross-reference to Related Applications

[0002] The present application claims priority to the Chinese patent application No. 202410853981.8 filed on June 28, 2024, and entitled "Optical module management method, system, device, computer device and storage medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present application relates to the technical field of computer, in particular to an optical module management method, system, device, computer device and storage medium. BACKGROUND

[0004] HBA (Host Bus Adapter) card is a component used to provide I / O (Input / Output) processing and physical connection between server and storage device. HBA card shares the pressure of server CPU (Central Processing Unit) to process data storage and data retrieval, which can improve the overall performance of the server. Some HBA cards need to be connected with optical fiber, and at this time, optical module (Small Form Pluggable, SFP) is needed to connect the optical fiber and transmit and convert optical signals.

[0005] In the process of using SFP, BMC (Baseboard Management Controller) needs to obtain optical module information to manage the optical module, for example: obtaining the voltage, connection rate, optical module temperature and other data of the optical module, so as to judge the stability and health status of the optical module; obtaining the basic information such as manufacturer and model of the optical module, which is convenient for asset management and information collection and component replacement processing in fault scenarios. The optical module information is stored in the EEPROM (Electrically Erasable Programmable read only memory) of SFP, and at present, the timeliness and richness of the optical module information obtained by BMC cannot be guaranteed. SUMMARY

[0006] Therefore, the present application provides an optical module management method, system, device, computer device and storage medium to solve the problem of lack of timeliness and richness of the optical module information obtained by the BMC.

[0007] In a first aspect, the present application provides a light module management method, which is applied to a programmable logic device, and the method comprises the following steps:

[0008] obtaining in-place information of the light module, and determining whether the light module is in place according to the in-place information;

[0009] when the light module is in place and a communication bus between the light module is idle, obtaining light module information of the light module through the communication bus;

[0010] transmitting the light module information to a baseboard management controller, and instructing the baseboard management controller to generate and execute a light module management strategy according to the light module information.

[0011] The light module management method provided by some embodiments of the present application can be used to obtain light module information of the light module when the light module is in place and a communication bus between the light module is idle, and transmit the light module information to a baseboard management controller. The monitoring channel from the baseboard management controller to the light module is established by using the programmable logic device, so that the light module information can be obtained more timely and comprehensively, more means and information are provided for monitoring the state of the light module and diagnosing faults, and the product competitiveness is enhanced. The problem that the light module information obtained by the baseboard management controller lacks timeliness and richness is solved.

[0012] In some embodiments, the step of obtaining in-place information of the light module and determining whether the light module is in place according to the in-place information comprises the following steps:

[0013] querying the in-place information of the light module from the baseboard management controller;

[0014] or, obtaining the in-place information from the light module through a hardware link between the light module and the programmable logic device;

[0015] determining whether the light module is in place according to the in-place information.

[0016] In some embodiments of the present application, the programmable logic device queries the in-place information of the light module from the baseboard management controller or through a hardware link, and determines whether the light module is in place according to the in-place information. Only when the light module is in place, the light module information is obtained, so as to avoid wasting communication resources.

[0017] In some embodiments, the step of obtaining light module information of the light module through the communication bus when the light module is in place and the communication bus between the light module is idle comprises the following steps:

[0018] obtaining a level signal of the communication bus;

[0019] if the level signal is a high level, it is determined that the communication bus is idle, a logical switch is performed, and the programmable logic device becomes a master device of the light module;

[0020] The optical module information of the optical module is actively acquired through the communication bus.

[0021] In some embodiments of the present application, the programmable logic device checks whether the communication bus is idle according to the level signal of the communication bus, and acquires the optical module information through the communication bus when the communication bus is idle, thereby avoiding affecting the use of the communication bus by other devices.

[0022] In some embodiments, the optical module information of the optical module is actively acquired through the communication bus, including:

[0023] The first optical module information acquisition instruction is acquired from the baseboard management controller;

[0024] The optical module information requirement is determined according to the first optical module information acquisition instruction;

[0025] The second optical module information acquisition instruction is generated according to the optical module information requirement, and the second optical module information acquisition instruction is sent to the optical module, wherein the second optical module information acquisition instruction is used to instruct the optical module to return the optical module information corresponding to the optical module information requirement;

[0026] The optical module information sent by the optical module is received through the communication bus.

[0027] In some embodiments, the optical module information is transmitted to the baseboard management controller, including:

[0028] The first data field in the optical module information is acquired, wherein the first data field includes the name field and the attribute field of the optical module;

[0029] The first index information corresponding to the first data field of the optical module is determined according to the preset mapping relationship, wherein the preset mapping relationship contains the mapping relationship between the data field and the index of the optical module, and the first index information includes the name index and the attribute index corresponding to the optical module;

[0030] The optical module information and the corresponding first index information are sent to the baseboard management controller and saved to the first database;

[0031] The method further includes:

[0032] When the optical module is in place and the communication bus between the optical module is idle, the new optical module information is acquired again through the communication bus;

[0033] The second data field in the new optical module information is acquired;

[0034] The second index information corresponding to the second data field is determined according to the preset mapping relationship;

[0035] compare the new optical module information with the optical module information corresponding to the second index information in the first database, and determine whether the optical module information is changed;

[0036] If the optical module information is changed, update the optical module information in the first database according to the changed optical module information and the second index information corresponding to the changed optical module information, trigger an asynchronous monitoring event, and send the changed optical module information and the second index information corresponding to the changed optical module information to the baseboard management controller, wherein the asynchronous monitoring event is issued by the baseboard management controller to the programmable logic device and is used to monitor whether the optical module information on the programmable logic device side is changed.

[0037] In some embodiments of the present application, the first index information corresponding to the optical module information is determined according to a preset mapping relationship, the optical module information and the first index information are sent to the baseboard management controller, and are saved to the second database. This facilitates the baseboard management controller to manage the optical module information. When the optical module information is changed, the changed optical module information is synchronized to the baseboard management controller, so as to ensure that the optical module information obtained by the baseboard management controller is accurate and real-time.

[0038] In a second aspect, the present application provides an optical module management method, which is applied to a baseboard management controller, and includes:

[0039] obtaining optical module information from the programmable logic device, wherein the optical module information is obtained by the programmable logic device through a communication bus when the optical module is in place and the communication bus between the optical module and the programmable logic device is idle;

[0040] generating an optical module management strategy according to the optical module information, and executing the optical module management strategy.

[0041] The optical module management method provided by some embodiments of the present application establishes a monitoring channel from the baseboard management controller to the optical module by using the programmable logic device, and the baseboard management controller obtains the optical module information from the programmable logic device, so that the optical module information is obtained more timely and comprehensively, more means and information are provided for monitoring the state of the optical module and diagnosing faults, and the product competitiveness is enhanced. The problem that the optical module information obtained by the baseboard management controller lacks timeliness and richness is solved.

[0042] In some embodiments, before obtaining the optical module information from the programmable logic device, the method further includes:

[0043] determining optical module information requirements;

[0044] generating a first optical module information acquisition instruction according to the optical module information requirements, wherein the first optical module information acquisition instruction is used to instruct the programmable logic device to obtain the optical module information corresponding to the optical module information requirements;

[0045] sending the first optical module information acquisition instruction to the programmable logic device.

[0046] In some embodiments, the method further comprises:

[0047] acquiring in-place information of the optical module sent by the host bus adapter;

[0048] storing the in-place information, and transmitting the in-place information to the programmable logic device when the programmable logic device queries the in-place information.

[0049] In some embodiments of the present application, the baseboard management controller acquires the in-place information of the optical module, and transmits the in-place information to the programmable logic device, so that the optical module information is acquired only when the optical module is in place, thereby avoiding waste of communication resources.

[0050] In some embodiments, the optical module management strategy is generated according to the optical module information, comprising:

[0051] determining whether there is a fault code in the optical module information, and if so, generating fault information corresponding to the fault code;

[0052] obtaining a state parameter of the optical module according to the optical module information;

[0053] generating an alarm information if the state parameter is not within a corresponding preset range;

[0054] generating a heat dissipation device scheduling strategy if a temperature in the state parameter is greater than a temperature threshold;

[0055] obtaining the optical module management strategy according to the fault information, the alarm information, and the heat dissipation device scheduling strategy.

[0056] In some embodiments of the present application, the baseboard management controller generates the optical module management strategy containing the fault information, the alarm information, and the heat dissipation device scheduling strategy according to the optical module information, so that the optical module can work normally and the stability and reliability of the service are ensured.

[0057] In some embodiments, the optical module information is acquired from the programmable logic device, comprising:

[0058] acquiring the optical module information and corresponding first index information from the programmable logic device;

[0059] storing the optical module information and the first index information into a second database;

[0060] in a case where the second index information and the changed optical module information are acquired from the programmable logic device, updating the optical module information in the second database according to the second index information and the changed optical module information;

[0061] The method further comprises:

[0062] acquiring the optical module information requirement;

[0063] analyzing the optical module information requirement to obtain third index information; the third index information comprises a name index and an attribute index of the optical module, or the third index information only comprises the name index of the optical module;

[0064] in the case where the third index information comprises the name index and the attribute index, performing a step-by-step query in the second database according to the name index and the attribute index of the third index information to obtain target optical module information corresponding to the optical module information requirement;

[0065] in the case where the third index information only comprises the name index, taking optical module information corresponding to the name index of the third index information in the second database as the target optical module information.

[0066] In a third aspect, the present application provides an optical module management system, comprising: a baseboard management controller, a programmable logic device, and a preset number of optical modules.

[0067] The programmable logic device is connected with the optical modules through a communication bus, and the baseboard management controller is connected with the programmable logic device.

[0068] The programmable logic device is configured to execute the optical module management method of the first aspect or any one of the corresponding embodiments thereof.

[0069] The baseboard management controller is configured to execute the optical module management method of the second aspect or any one of the corresponding embodiments thereof.

[0070] The optical module management system provided by some embodiments of the present application is used to acquire the optical module information of the optical module when the optical module is in place and the communication bus between the programmable logic device and the optical module is idle, and transmit the optical module information to the baseboard management controller. The monitoring channel from the baseboard management controller to the optical module is established by using the programmable logic device, so that the optical module information is acquired more timely and comprehensively, more means and information are provided for the state monitoring and fault diagnosis of the optical module, and the product competitiveness is enhanced. The problem that the optical module information acquired by the baseboard management controller lacks timeliness and richness is solved.

[0071] In a fourth aspect, the present application provides an optical module management device, which is deployed in a programmable logic device, and comprises:

[0072] a first acquisition module configured to acquire in-place information of an optical module, and determine whether the optical module is in place according to the in-place information;

[0073] The second obtaining module is configured to obtain the optical module information of the optical module through the communication bus when the optical module is in place and the communication bus between the optical module is idle.

[0074] The transmission module is configured to transmit the optical module information to the baseboard management controller, and instruct the baseboard management controller to generate and execute the optical module management strategy according to the optical module information.

[0075] In a fifth aspect, the present application provides an optical module management device, which is deployed in a baseboard management controller, and the device comprises:

[0076] The third obtaining module is configured to obtain the optical module information from the programmable logic device, wherein the optical module information is obtained by the programmable logic device through the communication bus when the optical module is in place and the communication bus between the optical module is idle.

[0077] The generation module is configured to generate the optical module management strategy according to the optical module information, and execute the optical module management strategy.

[0078] In a sixth aspect, the present application provides a computer device, which comprises a memory and a processor, the memory and the processor are in communication connection with each other, the memory stores computer instructions, and the processor executes the optical module management method of the first aspect or any one of the corresponding embodiments thereof or the optical module management method of the second aspect or any one of the corresponding embodiments thereof by executing the computer instructions.

[0079] In a seventh aspect, the present application provides a computer non-volatile readable storage medium, which stores computer instructions, and the computer instructions are used to make the computer execute the optical module management method of the first aspect or any one of the corresponding embodiments thereof or the optical module management method of the second aspect or any one of the corresponding embodiments thereof.

[0080] In an eighth aspect, the present application provides a computer program product, which comprises computer instructions, and the computer instructions are used to make the computer execute the optical module management method of the first aspect or any one of the corresponding embodiments thereof or the optical module management method of the second aspect or any one of the corresponding embodiments thereof. BRIEF DESCRIPTION OF DRAWINGS

[0081] In order to more clearly illustrate the technical solutions in some specific embodiments or related technologies of the present application, the drawings needed in the specific embodiments or related technology description will be briefly introduced as follows. Obviously, the drawings in the following description are some embodiments of the present application, and those skilled in the art can also obtain other drawings according to these drawings without creating any creative labor.

[0082] Fig. 1 is a schematic diagram of obtaining optical module information through a host bus adapter according to some embodiments of the present application;

[0083] Fig. 2 is a flowchart of an optical module management method applied to a programmable logic device according to some embodiments of the present application;

[0084] Fig. 3 is a structural block diagram of an optical module management system when obtaining in-situ information through a host bus adapter according to some embodiments of the present application;

[0085] Fig. 4 is a structural block diagram of an optical module management system when obtaining in-situ information directly through a programmable logic device according to some embodiments of the present application;

[0086] Fig. 5 is a flowchart of obtaining optical module information when obtaining in-situ information through a host bus adapter according to some embodiments of the present application;

[0087] Fig. 6 is a flowchart of obtaining optical module information when obtaining in-situ information directly through a programmable logic device according to some embodiments of the present application;

[0088] Fig. 7 is a structural block diagram of an optical module management system containing a database according to some embodiments of the present application;

[0089] Fig. 8 is a flowchart of an optical module management method applied to a baseboard management controller according to some embodiments of the present application;

[0090] Fig. 9 is a structural block diagram of an optical module management device deployed in a programmable logic device according to some embodiments of the present application;

[0091] Fig. 10 is a structural block diagram of an optical module management device deployed in a baseboard management controller according to some embodiments of the present application;

[0092] Fig. 11 is a hardware structural schematic diagram of a computer device according to some embodiments of the present application. DETAILED DESCRIPTION

[0093] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present application.

[0094] A host bus adapter (HBA) card can be used for various bus interconnections, but the HBA card is mainly used for the connection between a server and a storage device. An FC (Fibre Channel) HBA card is a type of HBA card, and uses optical fibers as the connection medium. Since the FC HBA card needs to be connected to an optical fiber, an optical module (SFP) is needed to connect the optical fiber and to transmit and convert optical signals. In recent years, with the development of the Internet and information technology, the demand for storage is increasing, and HBA cards are increasingly widely used in enterprise and data center businesses. In the process of using the optical module, the operating conditions of the optical module, such as voltage, connection rate, optical module temperature, and the like, need to be determined according to the optical module information, so as to determine the stability and health status of the optical module. The basic information of the optical module, such as the manufacturer and the model, also needs to be paid attention to, so as to facilitate asset management and information collection and component replacement processing in the fault scenario. The acquisition of optical module information generally depends on the device in which the optical module is located, for example, the HBA card.

[0095] The optical module information of the SFP is stored in the EEPROM of the SFP. The current BMC acquires the optical module information through the HBA card, as shown in FIG. 1. The HBA card can acquire the optical module information from the optical module (SFP) through an IIC (Inter-Integrated Circuit) bus. The HBA card provides a PLDM (Platform Level Data Model) over MCTP (Management Component Transport Protocol) channel. The BMC sends a standard PLDM command through the PLDM over MCTP channel to acquire the optical module information and to realize the monitoring of the SFP. In the above scheme, the BMC acquires the SFP information completely depending on the HBA card. However, the main function of the HBA card is not SFP monitoring, and the HBA card has a large load when working. Therefore, the timeliness and richness of the SFP information acquired by the BMC cannot be guaranteed. If the working state of the HBA card is abnormal, the BMC cannot monitor the SFP information at all. At the same time, the current HBA card does not support monitoring of the optical module, and cannot acquire various required optical module information, which limits the acquisition of the optical module information by the BMC and lacks timeliness and richness.

[0096] Based on the above, some embodiments of the present application provide an optical module management method, a new data path is designed to obtain optical module information, through the data path, the BMC can directly interact with the optical module and obtain all information of the optical module. The new path is constructed from the hardware level, the BMC directly accesses the IIC bus of the optical module, reads the EEPROM in the SFP through the bus to obtain the optical module information. To achieve more reliable monitoring of the optical module, the obtained optical module information has the effect of timeliness and richness.

[0097] According to some embodiments of the present application, an optical module management method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from here.

[0098] In some embodiments of the present application, an optical module management method is provided, which is applied to a programmable logic device. FIG. 2 is a flowchart of an optical module management method according to some embodiments of the present application, as shown in FIG. 2, the flow includes the following steps.

[0099] Step S201, obtaining the in-place information of the optical module, and determining whether the optical module is in place according to the in-place information.

[0100] Specifically, the programmable logic device is, for example: complex programmable logic device (CPLD), programmable logic controller (PLC), and field programmable logic gate array (FPGA), etc.

[0101] The programmable logic device obtains the in-place information of the optical module, for example: the programmable logic device can read the in-place information from the baseboard management controller, the in-place information in the baseboard management controller is obtained from the HBA card; the programmable logic device can also set a hardware link with the optical module, and obtain the in-place information of the optical module through the hardware link. According to the in-place information, it is determined whether the optical module is in place.

[0102] Step S202, in the case that the optical module is in place and the communication bus between the optical module is idle, obtaining the optical module information of the optical module through the communication bus.

[0103] Specifically, the programmable logic device often shares the same communication bus with the HBA card to communicate with the optical module (SFP). In order to avoid data transmission errors, the programmable logic device and the HBA card cannot simultaneously use the communication bus for communication. When the HBA card uses the communication bus, the programmable logic device cannot use it. The communication bus is, for example, an IIC bus. In addition, the present application can also be applied to other components with optical modules outside the HBA card, such as HCA (Host Channel Adapter, Host Channel Adapter) network cards, etc.

[0104] The programmable logic device determines whether the communication bus is idle by detecting the level state of the communication bus. For example, if the level state of the communication bus is high for a long time, it indicates that the communication bus is idle.

[0105] The programmable logic device sends a command to access and read the optical module information stored in the EEPROM of the optical module through the communication bus when it is determined that the optical module is in place and the communication bus between the optical module is idle.

[0106] In step S203, the optical module information is transmitted to the baseboard management controller to instruct the baseboard management controller to generate and execute an optical module management strategy according to the optical module information.

[0107] Specifically, after the programmable logic device obtains the optical module information, it can directly or periodically transmit the optical module information to the baseboard management controller through the communication link between the programmable logic device and the baseboard management controller. The specific transmission time is determined according to the actual situation.

[0108] After receiving the optical module information, the baseboard management controller determines the state of the optical module according to the optical module information. If the optical module state is abnormal, it generates and executes a corresponding optical module management strategy. For example, if the temperature of the optical module is too high, the optical module management strategy is to increase the speed of the cooling fan; if a fault code appears in the optical module information, the optical module management strategy is to output alarm information containing the fault code, etc.

[0109] The optical module management method provided by some embodiments of the present application can be used to obtain the optical module information of the optical module when the optical module is in place and the communication bus between the optical module is idle. The programmable logic device establishes a monitoring channel from the baseboard management controller to the optical module, making it more timely and comprehensive to obtain the optical module information, providing more means and information for monitoring and fault diagnosis of the optical module state, and enhancing the product competitiveness. The problem of lack of timeliness and richness of the optical module information obtained by the baseboard management controller is solved.

[0110] In some embodiments, the in-place information of the optical module is obtained, and whether the optical module is in place is determined according to the in-place information, comprising:

[0111] Query the in-place information of the optical module from the baseboard management controller;

[0112] Alternatively, obtain the in-place information from the optical module through a hardware link between the programmable logic device and the optical module.

[0113] Determine whether the optical module is in place according to the in-place information.

[0114] Specifically, the programmable logic device can obtain the in-place information of the optical module in two ways. One way is that the programmable logic device reads the in-place information from the baseboard management controller, and the in-place information in the baseboard management controller is obtained from the HBA card. The other way is that the programmable logic device and the optical module are provided with a hardware link, and the in-place information of the optical module is obtained through the hardware link.

[0115] The first way is shown in FIG. 3. The HBA card obtains the in-place information of the optical module from the optical module through an IIC bus, and the BMC obtains the in-place information of the optical module from the HBA card through the PLDM over MCTP out-of-band management mode provided by the HBA card. After receiving the optical module in-place state query request sent by the CPLD, the BMC sends the in-place state to the CPLD through the IIC bus, wherein in the IIC bus, the CPLD is the master device (Master) and the BMC is the slave device (Slave). After receiving the in-place signal of the optical module, the CPLD starts to perform the optical module information acquisition operation.

[0116] The in-place state of the optical module does not necessarily have to be obtained by the BMC from the HBA card through the out-of-band mode. A hardware link from the optical module slot to the CPLD can be directly established for the CPLD to monitor the in-place signal of the optical module. Therefore, the second way is shown in FIG. 4. A hardware link is established between the programmable logic device and the optical module. The CPLD no longer requests the BMC side to obtain the in-place state of the optical module, and is changed to the CPLD directly detecting the in-place information of the optical module through the hardware link. The in-place information is, for example, a PRSNT (Present, in place) signal. The PRSNT signal is used to indicate whether the optical module has been correctly inserted into the system. In the second way, the BMC no longer depends on the out-of-band management function provided by the HBA card to obtain and monitor the optical module information, and the optical module and the HBA card can be completely decoupled.

[0117] The programmable logic device determines whether the optical module is in place according to the in-place information. For example, if the in-place information is the PRSNT signal, and if the PRSNT signal is high, it is determined that the optical module is in place. If the optical module is not in place, the programmable logic device keeps obtaining the in-place information until it is determined that the optical module is in place.

[0118] In some embodiments of the present application, the programmable logic device queries the in-place information of the optical module from the baseboard management controller or through the hardware link; according to the in-place information, it determines whether the optical module is in place. Only when the optical module is in place, the optical module information is obtained, so as to avoid wasting communication resources.

[0119] In some embodiments, the optical module information of the optical module is obtained through the communication bus under the condition that the optical module is in place and the communication bus between the optical module is idle, including:

[0120] Obtaining the level signal of the communication bus;

[0121] If the level signal is high, it is determined that the communication bus is idle, and the logic is switched to become the master device of the optical module.

[0122] The optical module information of the optical module is actively obtained through the communication bus.

[0123] Specifically, the programmable logic device often shares the same communication bus with the HBA card, and communicates with the optical module (SFP), and the communication bus is, for example, IIC bus. Considering that the IIC bus of the optical module is occupied by the HBA card, the BMC and the HBA card cannot access the IIC bus at the same time, the present application designs and edits the CPLD to determine whether the IIC bus is idle, and then obtains the optical module information through the IIC bus when the IIC bus is idle and the optical module is in place. Therefore, the present application stipulates in the IIC bus that the master device and the slave device will first query the IIC bus level when initiating an access request to judge whether it is in an idle state. The above design ensures that the CPLD and the HBA card access the optical module in time sharing, and does not cause bus congestion to affect the normal work of the HBA card.

[0124] The programmable logic device polls the idle state of the IIC bus between the HBA card and the optical module; if the IIC bus is occupied, the polling is maintained; if the bus is idle, the CPLD performs logic switching to make itself the master device of the IIC bus, sends a command to obtain the optical module information, and after obtaining the optical module information, does not analyze it, but directly forwards the information to the BMC through another IIC bus. The steps include:

[0125] The programmable logic device obtains the level signal of the communication bus, monitors the IIC bus level signal between the HBA card and the optical module, and judges whether the bus is occupied. If the level signal is high, it is determined that the communication bus is idle. The programmable logic device performs logic switching to switch the master device of the IIC bus from the HBA card to the programmable logic device, and the programmable logic device becomes the master device of the optical module.

[0126] When the programmable logic device becomes the master of the IIC bus of the optical module, the programmable logic device actively sends a command to access and read the optical module information stored in the EEPROM of the optical module through the IIC bus. Then, the programmable logic device acts as the master and the BMC acts as the slave. The programmable logic device synchronizes the acquired optical module information to the BMC in a timely manner.

[0127] If the programmable logic device acquires the in-place information of the optical module in the manner corresponding to FIG. 3, the process of the programmable logic device acquiring the optical module information is shown in FIG. 5: the HBA card queries the SFP in-place state (continuous query); the optical module returns the SFP in-place state; the BMC queries the SFP in-place state from the HBA card (continuous query); the HBA card returns the SFP in-place state to the BMC; the programmable logic device queries the SFP in-place state (continuous query); the BMC returns the SFP in-place state to the programmable logic device; the programmable logic device acquires the SFP information if the SFP is in place and the IIC bus is idle; the optical module returns the SFP information to the programmable logic device; and the programmable logic device forwards the SFP information to the BMC.

[0128] If the programmable logic device acquires the in-place information of the optical module in the manner corresponding to FIG. 4, the process of the programmable logic device acquiring the optical module information is shown in FIG. 6: the programmable logic device queries the SFP in-place state from the optical module (continuous query); the optical module returns the SFP in-place state to the programmable logic device; the programmable logic device acquires the SFP information if the SFP is in place and the IIC bus is idle; the optical module returns the SFP information to the programmable logic device; and the programmable logic device forwards the SFP information to the BMC.

[0129] In some embodiments of the present application, the programmable logic device checks whether the communication bus is idle according to the level signal of the communication bus. When the communication bus is idle, the programmable logic device acquires the optical module information through the communication bus. This avoids affecting the use of the communication bus by other devices.

[0130] In some embodiments, the active acquisition of the optical module information of the optical module through the communication bus includes:

[0131] acquiring a first optical module information acquisition instruction from the BMC;

[0132] determining an optical module information requirement according to the first optical module information acquisition instruction;

[0133] generating a second optical module information acquisition instruction according to the optical module information requirement, and sending the second optical module information acquisition instruction to the optical module, wherein the second optical module information acquisition instruction is used to instruct the optical module to return the optical module information corresponding to the optical module information requirement;

[0134] The optical module information is received through the communication bus.

[0135] Specifically, the baseboard management controller can send a first optical module information acquisition instruction to the programmable logic device through the IIC bus between the programmable logic device, and inform the programmable logic device of the current optical module information requirement, for example, the requirement of acquiring the voltage, temperature and connection rate of the optical module, and the requirement of acquiring the manufacturer and model of the optical module.

[0136] The programmable logic device generates a second optical module information acquisition instruction according to the optical module information requirement, and sends the second optical module information acquisition instruction to the optical module through the communication bus to read the optical module information stored in the EEPROM of the optical module. The optical module information is received through the communication bus.

[0137] In some embodiments, the transmission of the optical module information to the baseboard management controller comprises:

[0138] The first data field in the optical module information is acquired, wherein the first data field comprises a name field and an attribute field of the optical module;

[0139] According to a preset mapping relationship, first index information corresponding to the first data field of the optical module is determined, wherein the preset mapping relationship comprises a mapping relationship between the data field and the index of the optical module, and the first index information comprises a name index and an attribute index corresponding to the optical module;

[0140] The optical module information and the corresponding first index information are sent to the baseboard management controller and saved to a first database;

[0141] The method further comprises:

[0142] When the optical module is in place and the communication bus between the optical module is idle, new optical module information is acquired again through the communication bus;

[0143] A second data field in the new optical module information is acquired;

[0144] According to the preset mapping relationship, second index information corresponding to the second data field is determined;

[0145] The new optical module information is compared with the optical module information corresponding to the second index information in the first database to determine whether there is a change in the optical module information;

[0146] If the changed optical module information exists, the optical module information in the first database is updated according to the changed optical module information and the second index information corresponding to the changed optical module information, an asynchronous monitoring event is triggered, and the changed optical module information and the second index information corresponding to the changed optical module information are sent to the baseboard management controller, where the asynchronous monitoring event is sent to the programmable logic device by the baseboard management controller and is used for monitoring whether the optical module information on the programmable logic device side is changed.

[0147] Specifically, the number of interfaces in some switches exceeds 256, that is, there are more than 256 optical modules, and the BMC needs to obtain the optical module information saved in the EEPROM of all the optical modules. The prior art generally uses the slow I2C bus to read, and when the number of optical modules is not large, for example, only a few, the defect in reading speed is not obvious, but when the number of optical modules in the system reaches hundreds, it takes a long time to read all the technical parameters and other data of the optical modules, which is usually not allowed in actual application scenarios, for example, in a fast restart scenario.

[0148] Therefore, the present application can create a first database in the external memory of the programmable logic device, create a second database in the baseboard management controller, save the optical module information to the first database first, and synchronize the optical module information of the first database to the second database. Subsequently, if the optical module information in the first database changes, only the change information needs to be sent to the baseboard management controller, reducing the amount of data transmitted. As shown in FIG. 7, the programmable logic device creates a first database, and the baseboard management controller creates a second database. The programmable logic device saves the optical module information and the corresponding first index information to the first database, and sends the optical module information and the corresponding first index information to the baseboard management controller through the IIC bus, and then the baseboard management controller saves the optical module information and the corresponding first index information to the second database. The specific steps include:

[0149] The programmable logic device obtains the first data field in the optical module information, the first data field including a name field and an attribute field of the optical module, for example: the optical module is classified according to the packaging form, and common ones are SFP, SFF (Small Form-factor Pluggable, small form-factor pluggable module), etc. The name field is the name of the optical module, and the name field is: SFP1, SFP2, …, SFF1, SFF2, etc. The attribute field includes voltage, connection rate, temperature, manufacturer, model, error code, etc.

[0150] The preset mapping relationship includes a mapping relationship between the name field and the name index, and a mapping relationship between the attribute field and the attribute index, for example: the mapping relationship between the name field and the name index is shown in Table 1, and the mapping relationship between the attribute field and the attribute index is shown in Table 2.

[0151] Mapping relationship between name index and attribute index

[0152] Mapping relationship between attribute field and attribute index

[0153] According to the preset mapping relationship, the first index information corresponding to the first data field of the optical module is determined, and the first index information includes the name index and the attribute index corresponding to the optical module, for example, the first index information corresponding to the temperature of SFP1 is 1c, and the first index information corresponding to the error code of SFF2 is 4f.

[0154] The optical module information and the corresponding first index information are sent to the baseboard management controller through the IIC bus, and are saved to the first database by the baseboard management controller.

[0155] In addition, the programmable logic device can obtain the information of each optical module every time or at a fixed time, update the data of the first database if the obtained information is inconsistent with the first database, trigger an asynchronous monitoring event, and synchronize the changed data to the second database of the BMC. The steps include:

[0156] The programmable logic device obtains new optical module information through the communication bus again under the condition that the optical module is in place and the communication bus between the optical module is idle; obtains a second data field in the new optical module information; determines second index information corresponding to the second data field according to the preset mapping relationship; compares the new optical module information with the optical module information corresponding to the second index information in the first database, and judges whether there is a change in the optical module information.

[0157] The first database and the second database can use a combination of active request response mechanism and asynchronous monitoring response mechanism to realize real-time synchronization of data. If there is a change in the optical module information, the optical module information in the first database is updated according to the changed optical module information and the second index information corresponding to the changed optical module information, an asynchronous monitoring event is triggered, and the changed optical module information and the second index information corresponding to the changed optical module information are sent to the baseboard management controller. The asynchronous monitoring event is issued by the baseboard management controller to the programmable logic device, and is used to monitor whether the optical module information on the programmable logic device side is changed. Similarly, the same technical effect can be achieved by using a subscription mechanism, that is, the baseboard management controller subscribes to the data in the first database, and the programmable logic device pushes the changed information to the baseboard management controller if the data in the first database is changed.

[0158] In addition, the data in the substrate management controller is transmitted to the editable logic device every 1 hour, and the data of the second database is copied to the first database.

[0159] In some embodiments of the present application, the first index information corresponding to the optical module information is determined according to the preset mapping relationship, the optical module information and the first index information are transmitted to the substrate management controller, and the first database is saved. It is convenient for the substrate management controller to manage the optical module information. When the optical module information is changed, the changed optical module information is synchronized to the substrate management controller, and the optical module information obtained by the substrate management controller is ensured to be accurate and real-time.

[0160] In some embodiments of the present application, a method for managing an optical module is provided, which is applied to a substrate management controller. Figure 8 is a flowchart of a method for managing an optical module according to some embodiments of the present application. As shown in Figure 8, the flow includes the following steps.

[0161] Step S801, obtaining optical module information from a programmable logic device, wherein the optical module information is obtained by the programmable logic device through a communication bus when the optical module is in place and the communication bus between the programmable logic device and the optical module is idle.

[0162] Specifically, the programmable logic device often shares the same communication bus with the HBA card and communicates with the optical module (SFP). In order to avoid data transmission errors, the programmable logic device and the HBA card cannot use the communication bus for communication at the same time. When the HBA card uses the communication bus, the programmable logic device cannot use it. The communication bus is, for example, an IIC bus.

[0163] The programmable logic device can determine whether the communication bus is idle by detecting the level state of the communication bus. For example, if the level state of the communication bus is high for a long time, it means that the communication bus is idle.

[0164] The programmable logic device sends a command to access and read the optical module information stored in the EEPROM of the optical module through the communication bus when it is determined that the optical module is in place and the communication bus between the programmable logic device and the optical module is idle.

[0165] After the programmable logic device obtains the optical module information, it can directly or periodically transmit the optical module information to the substrate management controller through the communication link between the programmable logic device and the substrate management controller. The specific transmission time is determined according to the actual situation. The substrate management controller obtains the optical module information from the programmable logic device.

[0166] Step S802, generating an optical module management strategy according to the optical module information, and executing the optical module management strategy.

[0167] Specifically, the baseboard management controller determines the state of the optical module according to the optical module information after receiving the optical module information, and generates and executes a corresponding optical module management strategy if the optical module state is abnormal, for example: if the temperature of the optical module is too high, the optical module management strategy is to increase the rotation speed of the cooling fan; if a fault code appears in the optical module information, the optical module management strategy is to output alarm information containing the fault code, etc. The optical module management strategy is executed.

[0168] The optical module management method provided by some embodiments of the present application establishes a monitoring channel from the baseboard management controller to the optical module by using the programmable logic device, and the baseboard management controller obtains optical module information from the programmable logic device, so that the optical module information is obtained more timely and comprehensively, more means and information are provided for monitoring and fault diagnosis of the optical module state, and the product competitiveness is enhanced. The problem of lack of timeliness and richness of the optical module information obtained by the baseboard management controller is solved.

[0169] In some embodiments, before obtaining the optical module information from the programmable logic device, the method further comprises:

[0170] determining optical module information requirements;

[0171] generating a first optical module information acquisition instruction according to the optical module information requirements, wherein the first optical module information acquisition instruction is used to instruct the programmable logic device to obtain optical module information corresponding to the optical module information requirements;

[0172] sending the first optical module information acquisition instruction to the programmable logic device.

[0173] Specifically, the baseboard management controller determines the current optical module information requirements, which can be set by the server operation and maintenance personnel. The optical module information requirements are, for example: three kinds of optical module information of voltage, temperature and connection rate of the optical module need to be obtained; two kinds of optical module information of the manufacturer and model of the optical module need to be obtained.

[0174] The baseboard management controller generates a first optical module information acquisition instruction according to the optical module information requirements, sends the first optical module information acquisition instruction to the baseboard management controller through the IIC bus between the baseboard management controller and the programmable logic device, notifies the programmable logic device of the current optical module information requirements, and instructs the programmable logic device to obtain the optical module information corresponding to the optical module information requirements.

[0175] In some embodiments, the method further comprises:

[0176] obtaining the in-place information of the optical module sent by the host bus adapter;

[0177] saving the in-place information, and transmitting the in-place information to the programmable logic device when the programmable logic device queries the in-place information.

[0178] Specifically, the CPLD obtains the in-situ information of the optical module in the following manner: the CPLD reads the in-situ information from the BMC, and the in-situ information in the BMC is obtained from the HBA card. The above manner is shown in FIG. 3. The HBA card obtains the in-situ information of the optical module from the optical module through the IIC bus, and the BMC obtains the in-situ information of the optical module from the HBA card through the PLDM over MCTP out-of-band management manner provided by the HBA card. After receiving the in-situ state query request of the optical module sent by the CPLD, the BMC sends the in-situ state to the CPLD through the IIC bus, wherein in the IIC bus, the CPLD is the master device and the BMC is the slave device. After receiving the in-situ signal of the optical module, the CPLD starts to obtain the information of the optical module.

[0179] In the above manner, the BMC periodically polls the in-situ information of the optical module from the host bus adapter (HBA card) through the PLDM over MCTP out-of-band management manner provided by the HBA card. The BMC saves the in-situ information. The CPLD as the IIC bus master device of the BMC continuously polls the in-situ information of the optical module from the slave BMC. When the CPLD queries the in-situ information, the BMC transmits the in-situ information to the CPLD. In addition, if the CPLD determines that the optical module is not in-situ according to the in-situ information, the CPLD continues to poll the in-situ information from the BMC until the optical module is in-situ.

[0180] In some embodiments of the present application, the BMC obtains the in-situ information of the optical module and transmits the in-situ information to the CPLD, so that the information of the optical module is obtained only when the optical module is in-situ, thereby avoiding wasting communication resources.

[0181] In some embodiments, the optical module management strategy is generated according to the optical module information, comprising:

[0182] determining whether there is a fault code in the optical module information, and if so, generating fault information corresponding to the fault code;

[0183] obtaining a state parameter of the optical module according to the optical module information;

[0184] generating an alarm information if the state parameter is not within a corresponding preset range;

[0185] generating a heat dissipation device scheduling strategy if a temperature in the state parameter is greater than a temperature threshold;

[0186] obtaining the optical module management strategy according to the fault information, the alarm information, and the heat dissipation device scheduling strategy.

[0187] Specifically, the programmable logic device performs logical switching to become an IIC bus master device when the optical module is in place and the communication bus between the optical module is idle, sends a command to obtain optical module information from the optical module, and after obtaining the optical module information, does not parse the optical module information, but directly forwards the optical module information to the BMC through another IIC bus.

[0188] After the BMC receives the optical module information sent by the programmable logic device, the BMC parses the optical module information, stores and updates the parsed information to the component monitoring process of the BMC, realizes monitoring of the optical module, and generates an optical module management strategy according to the optical module information, specifically including:

[0189] The BMC determines whether there is a fault code in the optical module information, and if so, generates fault information corresponding to the fault code.

[0190] The BMC parses the optical module information to obtain the state parameters of the optical module. If the state parameters are not within the corresponding preset range, an alarm information is generated, for example: the normal working voltage of the optical module is 3.3V-5V, the preset range corresponding to the voltage is 3.3V-5V, if the current voltage of the optical module is 8V, which is not within 3.3V-5V, an alarm information is generated to notify that the voltage is too high; the normal working temperature of the optical module is 0℃-60℃, the preset range corresponding to the temperature is 0℃-60℃, if the current temperature of the optical module is 80℃, which is not within 0℃-60℃, an alarm information is generated to notify that the temperature is too high. The BMC can issue an alarm in time when the SFP state is abnormal, so as to facilitate server operation and maintenance;

[0191] In addition, the SFP has high power and large heat dissipation, and the BMC can also take the SFP temperature into the server heat dissipation dimension to perform more reasonable heat dissipation regulation and control. That is, if the temperature in the state parameters is greater than the temperature threshold, a heat dissipation device scheduling strategy is generated, for example: setting the temperature threshold to 60℃, if the temperature is greater than 60℃, the heat dissipation efficiency of the heat dissipation device can be improved, for example: if the heat dissipation device is a air-cooled heat dissipation device, the speed of the heat dissipation fan is increased; if the heat dissipation device is a liquid-cooled heat dissipation device, the flow rate of the cooling liquid is increased, the temperature of the cooling liquid is reduced, etc.

[0192] The BMC integrates the above fault information, alarm information and heat dissipation device scheduling strategy to obtain an optical module management strategy, and the BMC executes the optical module management strategy, for example: outputs the fault information and the alarm information to notify the user to process; executes the heat dissipation device scheduling strategy to increase the speed of the heat dissipation fan or increase the flow rate of the cooling liquid, reduce the temperature of the cooling liquid, etc.

[0193] In some embodiments of the present application, the baseboard management controller generates an optical module management strategy containing fault information, alarm information and heat dissipation device scheduling strategy according to the optical module information. The optical module can work normally, and the stability and reliability of the business are ensured.

[0194] In some embodiments, the obtaining the optical module information from the programmable logic device comprises:

[0195] obtaining the optical module information and corresponding first index information from the programmable logic device;

[0196] storing the optical module information and the first index information into the second database;

[0197] In the case that the second index information and the changed optical module information are obtained from the programmable logic device, updating the optical module information in the second database according to the second index information and the changed optical module information;

[0198] The method further comprises:

[0199] obtaining the optical module information requirement;

[0200] parsing the optical module information requirement to obtain third index information; the third index information comprises a name index and an attribute index of the optical module, or the third index information only comprises the name index of the optical module;

[0201] In the case that the third index information comprises the name index and the attribute index, performing a hierarchical query in the second database according to the name index and the attribute index of the third index information to obtain target optical module information corresponding to the optical module information requirement;

[0202] In the case that the third index information only comprises the name index, taking the optical module information corresponding to the name index of the third index information in the second database as the target optical module information.

[0203] Specifically, as shown in FIG. 7, the second database is created in the baseboard management controller.

[0204] After the baseboard management controller obtains the optical module information and corresponding first index information from the programmable logic device, the baseboard management controller stores the optical module information and the first index information into the second database.

[0205] The baseboard management controller also issues an asynchronous monitoring event to the programmable logic device for monitoring whether the optical module information on the programmable logic device side is changed.

[0206] When the optical module information on the programmable logic device side is changed, the programmable logic device sends the changed optical module information and corresponding second index information to the baseboard management controller. In the case that the second index information and the changed optical module information are obtained from the programmable logic device, the baseboard management controller updates the optical module information in the second database according to the second index information and the changed optical module information.

[0207] When the baseboard management controller manages the optical module, some optical module information is needed, or when the user views some optical module information, the baseboard management controller can query in the first database without obtaining from the programmable logic device, and the query mode can include two kinds: the first query mode, full amount query of information of a single / multiple optical modules: only the name index of the optical module is used for query to obtain all information of the corresponding optical module; the second query mode, query of some information of a certain optical module: name index+attribute index. The steps include:

[0208] The baseboard management controller obtains the optical module information requirement, analyzes the optical module information requirement to obtain third index information; the third index information includes the name index and the attribute index of the optical module, or the third index information only includes the name index of the optical module.

[0209] In the case that the third index information contains the name index and the attribute index, it can be determined that the second query mode, query of some information of a certain optical module, is used, and the target optical module information corresponding to the optical module information requirement is obtained by performing step-by-step query in the second database according to the name index and the attribute index of the third index information, for example: the third index information is 1c, the temperature of SFP1 is queried in the second database; the third index information is 4f, the error code of SFF2 is queried in the second database.

[0210] In the case that the third index information only contains the name index, it can be determined that the first query mode, query of all information of a certain optical module, is used, and the optical module information corresponding to the name index of the third index information in the second database is taken as the target optical module information, for example: the third index information is 1, all attribute information of SFP1 is queried in the second database, including: voltage, connection rate, temperature, manufacturer, model, error code, etc.

[0211] In some embodiments of the present application, the optical module information and the first index information are saved to the second database, so as to facilitate management of the optical module information. The optical module information in the second database is updated according to the change of the optical module information, so as to ensure that the optical module information obtained by the baseboard management controller is accurate and real-time. In addition, when the baseboard management controller needs to obtain the optical module information, the optical module information is directly queried from the second database, so as to improve the optical module information obtaining efficiency.

[0212] Some embodiments of the present application provide an optical module management system, which includes: a baseboard management controller, a programmable logic device, and a preset number of optical modules.

[0213] The programmable logic device and the optical module are connected through a communication bus, and the baseboard management controller is connected with the programmable logic device.

[0214] The programmable logic device is configured to execute the optical module management method of steps S201-S203 or any of the corresponding embodiments.

[0215] The baseboard management controller is configured to execute the optical module management method of steps S801-S802 or any of the corresponding embodiments.

[0216] Specifically, the optical module management system is, for example, the system shown in FIG. 3, FIG. 4, or FIG. 7. The above embodiments have been described in detail for each step, and will not be repeated here.

[0217] The optical module management system provided by some embodiments of the present application can be used to acquire optical module information of the optical module when the optical module is in place and a communication bus between the programmable logic device and the optical module is idle, and transmit the optical module information to the baseboard management controller. The monitoring channel from the baseboard management controller to the optical module is established by using the programmable logic device, so that the acquisition of the optical module information is more timely and comprehensive, more means and information are provided for the monitoring and fault diagnosis of the optical module state, and the product competitiveness is enhanced. The problem of lack of timeliness and richness of the optical module information acquired by the baseboard management controller is solved.

[0218] In some embodiments of the present application, an optical module management device is also provided, which is used to implement the above embodiments and some embodiments of the present application, and has been described above. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware is also possible and contemplated.

[0219] Some embodiments of the present application provide an optical module management device, which is deployed in a programmable logic device, as shown in FIG. 9, and includes:

[0220] The first acquisition module 901 is configured to acquire in-place information of the optical module, and determine whether the optical module is in place according to the in-place information.

[0221] The second acquisition module 902 is configured to acquire optical module information of the optical module through the communication bus when the optical module is in place and a communication bus between the programmable logic device and the optical module is idle.

[0222] The transmission module 903 is configured to transmit the optical module information to the baseboard management controller, and instruct the baseboard management controller to generate and execute an optical module management strategy according to the optical module information.

[0223] In some embodiments, the first acquisition module 901 acquires in-place information of the optical module, and determines whether the optical module is in place according to the in-place information, including:

[0224] Inquire the in-place information of the optical module from the baseboard management controller;

[0225] Alternatively, acquire the in-place information from the optical module through a hardware link between the baseboard management controller and the optical module;

[0226] According to the in-place information, determine whether the optical module is in place.

[0227] In some embodiments, the second acquisition module 902 acquires optical module information of the optical module through the communication bus when the optical module is in place and the communication bus between the baseboard management controller and the optical module is idle, including:

[0228] Acquire a level signal of the communication bus;

[0229] If the level signal is high, determine that the communication bus is idle, perform logical switching, and become the master device of the optical module;

[0230] Proactively acquire optical module information of the optical module through the communication bus.

[0231] In some embodiments, the second acquisition module 902 proactively acquires optical module information of the optical module through the communication bus, including:

[0232] Acquire a first optical module information acquisition instruction from the baseboard management controller;

[0233] According to the first optical module information acquisition instruction, determine optical module information requirements;

[0234] According to the optical module information requirements, generate a second optical module information acquisition instruction, and send the second optical module information acquisition instruction to the optical module, wherein the second optical module information acquisition instruction is used to instruct the optical module to return optical module information corresponding to the optical module information requirements;

[0235] Receive the optical module information sent by the optical module through the communication bus.

[0236] In some embodiments, the transmission module 903 transmits the optical module information to the baseboard management controller, including:

[0237] Acquire a first data field in the optical module information, wherein the first data field includes a name field and an attribute field of the optical module;

[0238] According to a preset mapping relationship, determine first index information corresponding to the first data field of the optical module, wherein the preset mapping relationship contains a mapping relationship between data fields and indexes of the optical module, and the first index information includes a name index and an attribute index corresponding to the optical module;

[0239] Send the optical module information and the corresponding first index information to the baseboard management controller, and save to a first database;

[0240] In some embodiments, the apparatus is further configured to:

[0241] retrieving new optical module information via the communication bus again when the optical module is in place and the communication bus between the optical module is idle;

[0242] retrieving a second data field in the new optical module information;

[0243] determining second index information corresponding to the second data field according to a preset mapping relationship;

[0244] comparing the new optical module information with optical module information corresponding to the second index information in the first database to determine whether there is changed optical module information;

[0245] if there is, updating the optical module information in the first database according to the changed optical module information and the second index information corresponding to the changed optical module information, triggering an asynchronous monitoring event, and sending the changed optical module information and the second index information corresponding to the changed optical module information to the baseboard management controller, wherein the asynchronous monitoring event is issued by the baseboard management controller to the programmable logic device and is used to monitor whether the optical module information on the programmable logic device side is changed.

[0246] Some embodiments of the present application provide an optical module management apparatus, which is deployed in a baseboard management controller, as shown in FIG. 10, and includes:

[0247] a third retrieval module 1001 configured to retrieve optical module information from the programmable logic device, wherein the optical module information is retrieved by the programmable logic device via a communication bus when the optical module is in place and the communication bus between the optical module is idle;

[0248] a generation module 1002 configured to generate an optical module management strategy according to the optical module information and execute the optical module management strategy.

[0249] In some embodiments, before retrieving the optical module information from the programmable logic device, the apparatus is configured to:

[0250] determining optical module information requirements;

[0251] generating a first optical module information retrieval instruction according to the optical module information requirements, wherein the first optical module information retrieval instruction is used to instruct the programmable logic device to retrieve optical module information corresponding to the optical module information requirements;

[0252] sending the first optical module information retrieval instruction to the programmable logic device.

[0253] In some embodiments, the apparatus is further configured to:

[0254] retrieving in-place information of the optical module sent by the host bus adapter;

[0255] Save the in-place information, and when the programmable logic device queries the in-place information, transmit the in-place information to the programmable logic device.

[0256] In some embodiments, the generating module 1002 generates an optical module management strategy according to the optical module information, including:

[0257] Determining whether there is a fault code in the optical module information, and if so, generating fault information corresponding to the fault code;

[0258] According to the optical module information, obtaining the state parameters of the optical module;

[0259] If the state parameters are not within the corresponding preset range, generating an alarm information;

[0260] If the temperature in the state parameters is greater than the temperature threshold, generating a heat dissipation device scheduling strategy;

[0261] According to the fault information, the alarm information, and the heat dissipation device scheduling strategy, obtaining the optical module management strategy.

[0262] In some embodiments, the third obtaining module 1001 obtains the optical module information from the programmable logic device, including:

[0263] Obtaining the optical module information and the corresponding first index information from the programmable logic device;

[0264] Saving the optical module information and the first index information to the second database;

[0265] In the case of obtaining the second index information and the changed optical module information from the programmable logic device, updating the optical module information in the second database according to the second index information and the changed optical module information;

[0266] In some embodiments, the apparatus is further used for:

[0267] Obtaining an optical module information requirement;

[0268] Parsing the optical module information requirement to obtain third index information; the third index information includes a name index and an attribute index of the optical module, or the third index information only includes the name index of the optical module;

[0269] In the case where the third index information includes the name index and the attribute index, performing a hierarchical query in the second database according to the name index and the attribute index of the third index information to obtain target optical module information corresponding to the optical module information requirement;

[0270] In the case where the third index information only includes the name index, taking the optical module information corresponding to the name index of the third index information in the second database as the target optical module information.

[0271] Further function description of each module and unit is the same as the corresponding embodiment described above, which will not be repeated here.

[0272] The optical module management apparatus in some embodiments of the present application is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, including a processor and a memory executing one or more software or fixed programs, and / or other devices that can provide the above functions.

[0273] Some embodiments of the present application also provide a computer device having the optical module management apparatus shown in FIG. 9 or FIG. 10.

[0274] Please refer to FIG. 11, which is a structural schematic diagram of a computer device provided by some embodiments of the present application. As shown in FIG. 11, the computer device includes one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are communicatively connected with each other by using different buses, and can be installed on a common motherboard or in other manners as needed. The processor can process instructions executed in the computer device, including instructions stored in the memory or graphics information of the memory to display a GUI on an external input / output device (such as a display device coupled to the interface). In some embodiments, multiple processors and / or multiple buses can be used with multiple memories if needed. Also, multiple computer devices can be connected, each providing part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). In FIG. 11, one processor 10 is taken as an example.

[0275] The processor 10 can be a central processor, a network processor, or a combination thereof. The processor 10 can further include a hardware chip. The hardware chip can be an application specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device can be a complex programmable logic device, a field programmable logic device, a general array logic, or any combination thereof.

[0276] The memory 20 stores instructions executable by the at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiments.

[0277] The memory 20 can include a program storage area and a data storage area. The program storage area can store an operating system, application programs required for at least one function, etc. The data storage area can store data created by the computer device, etc. In addition, the memory 20 can include a high-speed random access memory, and can also include a non-transitory memory such as at least one disk storage device, a flash memory device, or other non-transitory solid state memory device. In some embodiments, the memory 20 can optionally include a memory that is remotely located with respect to the processor 10, and these remote memories can be connected to the computer device through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0278] The memory 20 can include a volatile memory such as a random access memory, and can also include a non-volatile memory such as a flash memory, a hard disk, or a solid state disk. The memory 20 can also include a combination of the above-mentioned types of memory.

[0279] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.

[0280] Some embodiments of the present application also provide a computer non-volatile readable storage medium, and the above-mentioned method according to some embodiments of the present application can be implemented in hardware, firmware, or as computer code that can be recorded in a storage medium, or be originally stored in a remote storage medium or a non-transitory machine readable storage medium downloaded through a network and stored in a local storage medium, so that the method described herein can be processed by such software on a storage medium using a general purpose computer, a special purpose processor, or programmable or special purpose hardware. The storage medium can be a disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, or a solid state disk, etc. Further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that the computer, processor, microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code, when the software or computer code is accessed and executed by the computer, processor, or hardware, the method shown in the above embodiments is implemented.

[0281] Part of the present application can be applied as a computer program product, for example, computer program instructions, when executed by a computer, through the operation of the computer, the method and / or technical solutions according to the present application can be called or provided. Those skilled in the art should understand that the form of computer program instructions in computer non-volatile readable medium includes but is not limited to source file, executable file, installation package file and the like, accordingly, the way of computer program instructions executed by computer includes but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer non-volatile readable medium can be any available computer non-volatile readable storage medium or communication medium accessible to the computer.

[0282] Although the embodiments of the present application are described in conjunction with the drawings, various modifications and changes can be made by those skilled in the art without departing from the spirit and scope of the present application, and such modifications and changes fall within the scope defined by the appended claims.

Claims

1. A method for managing optical modules, characterized in that, The method is applied to a programmable logic device, and the method includes: Obtain the presence information of the optical module, and determine whether the optical module is in place based on the presence information; When the optical module is in place and the communication bus between the optical module and the optical module is idle, the optical module information of the optical module is obtained through the communication bus; The optical module information is transmitted to the substrate management controller, which is then instructed to generate and execute an optical module management strategy based on the optical module information.

2. The method according to claim 1, characterized in that, The step of obtaining the presence information of the optical module and determining whether the optical module is in place based on the presence information includes: The presence information of the optical module is queried from the substrate management controller; Alternatively, the presence information can be obtained from the optical module via a hardware link with the optical module; Based on the presence information, determine whether the optical module is in place.

3. The method according to claim 1, characterized in that, When the optical module is in place and the communication bus between the optical module and the optical module is idle, obtaining the optical module information of the optical module through the communication bus includes: Obtain the level signal of the communication bus; If the level signal is high, it is determined that the communication bus is idle, and a logic switch is performed to make it the master device of the optical module; The optical module information of the optical module is actively acquired through the communication bus.

4. The method according to claim 3, characterized in that, The step of actively acquiring the optical module information of the optical module through the communication bus includes: Obtain the first optical module information acquisition instruction from the substrate management controller; Based on the first optical module information acquisition instruction, determine the optical module information requirements; A second optical module information acquisition instruction is generated according to the optical module information requirement, and the second optical module information acquisition instruction is sent to the optical module. The second optical module information acquisition instruction is configured to instruct the optical module to return the optical module information corresponding to the optical module information requirement. The optical module information is received via the communication bus.

5. The method according to claim 1, characterized in that, The step of transmitting the optical module information to the substrate management controller includes: The optical module information is transmitted to the substrate management controller directly or periodically via a communication link with the substrate management controller.

6. The method according to claim 1, characterized in that, The instruction to the substrate management controller to generate and execute an optical module management strategy based on the optical module information includes: In response to the optical module information indicating that the optical module is in an abnormal state, the substrate management controller is instructed to generate and execute the optical module management strategy.

7. The method according to claim 1, characterized in that, The step of transmitting the optical module information to the substrate management controller includes: Obtain the first data field from the optical module information, wherein the first data field includes the name field and attribute field of the optical module; According to a preset mapping relationship, first index information corresponding to the first data field of the optical module is determined, wherein the preset mapping relationship includes the mapping relationship between the data field of the optical module and the index, and the first index information includes the name index and attribute index corresponding to the optical module; The optical module information and the corresponding first index information are sent to the substrate management controller and saved to the first database; The method further includes: When the optical module is in place and the communication bus between the optical module and the optical module is idle, new optical module information can be obtained again through the communication bus; Obtain the second data field from the new optical module information; Based on the preset mapping relationship, determine the second index information corresponding to the second data field; The new optical module information is compared with the optical module information corresponding to the second index information in the first database to determine whether there is a change in the optical module information; If the changed optical module information exists, the optical module information in the first database is updated according to the changed optical module information and the second index information corresponding to the changed optical module information, triggering an asynchronous monitoring event. The changed optical module information and the second index information corresponding to the changed optical module information are sent to the substrate management controller. The asynchronous monitoring event is issued by the substrate management controller to the programmable logic device and is configured to monitor whether the optical module information on the programmable logic device side has changed.

8. The method according to claim 7, characterized in that, The preset mapping relationship includes the mapping relationship between the name field and the name index of the optical module and the mapping relationship between the attribute field and the attribute index of the optical module.

9. A method for managing optical modules, characterized in that, The method is applied to a baseboard management controller, and the method includes: Optical module information is obtained from a programmable logic device, wherein the optical module information is obtained by the programmable logic device through the communication bus when the optical module is in place and the communication bus between the programmable logic device and the optical module is idle; Based on the optical module information, an optical module management policy is generated and executed.

10. The method according to claim 9, characterized in that, Before obtaining the optical module information from the programmable logic device, the method further includes: Determine the optical module information requirements; A first optical module information acquisition instruction is generated according to the optical module information requirement, wherein the first optical module information acquisition instruction is configured to instruct the programmable logic device to acquire the optical module information corresponding to the optical module information requirement; The instruction to acquire the information of the first optical module is sent to the programmable logic device.

11. The method according to claim 10, characterized in that, The optical module information requirements include at least three types of optical module information: voltage, temperature, and connection rate; and two types of optical module information: manufacturer and model.

12. The method according to claim 9, characterized in that, The method further includes: Obtain the presence information of the optical module sent by the host bus adapter; The presence information is stored, and when the programmable logic device queries the presence information, the presence information is transmitted to the programmable logic device.

13. The method according to claim 9, characterized in that, The step of generating an optical module management strategy based on the optical module information includes: Determine whether there is a fault code in the optical module information; if so, generate the fault information corresponding to the fault code. Based on the optical module information, the state parameters of the optical module are obtained; If the status parameter is not within the corresponding preset range, an alarm message is generated; If the temperature in the state parameters is greater than the temperature threshold, a heat dissipation device scheduling strategy is generated. The optical module management strategy is obtained based on the fault information, the alarm information, and the heat dissipation equipment scheduling strategy.

14. The method according to claim 13, characterized in that, The execution of the optical module management policy includes: Output the fault information and the alarm information to notify the user to handle the situation; The heat dissipation equipment scheduling strategy is executed to increase the speed of the cooling fan, or increase the flow rate of the coolant, or decrease the temperature of the coolant.

15. The method according to claim 9, characterized in that, The process of obtaining optical module information from programmable logic devices includes: Obtain optical module information and corresponding first index information from the programmable logic device; The optical module information and the first index information are saved to the second database; When the second index information and the changed optical module information are obtained from the programmable logic device, the optical module information in the second database is updated according to the second index information and the changed optical module information; The method further includes: Requirements for obtaining optical module information; The optical module information requirements are parsed to obtain third index information; the third index information includes the name index and attribute index of the optical module, or the third index information only includes the name index of the optical module; If the third index information includes a name index and an attribute index, the target optical module information corresponding to the optical module information requirement is obtained by performing a step-by-step query in the second database based on the name index and attribute index of the third index information. If the third index information only contains a name index, the optical module information in the second database corresponding to the name index of the third index information shall be used as the target optical module information.

16. An optical module management system, characterized in that, The system includes: a substrate management controller, a programmable logic device, and a preset number of optical modules; The programmable logic device is connected to the optical module via a communication bus, and the baseboard management controller is connected to the programmable logic device; The programmable logic device is configured to perform the optical module management method according to any one of claims 1 to 8; The substrate management controller is configured to perform the optical module management method according to any one of claims 9 to 15.

17. An optical module management device, characterized in that, The device is deployed on a programmable logic device, and the device includes: The first acquisition module is configured to acquire the presence information of the optical module and determine whether the optical module is in place based on the presence information; The second acquisition module is configured to acquire optical module information of the optical module through the communication bus when the optical module is in place and the communication bus between the optical module and the optical module is idle. The transmission module is configured to transmit the optical module information to the substrate management controller, and instruct the substrate management controller to generate and execute an optical module management strategy based on the optical module information.

18. An optical module management device, characterized in that, The device is deployed on a substrate management controller, and the device includes: The third acquisition module is configured to acquire optical module information from a programmable logic device, wherein the optical module information is acquired by the programmable logic device through the communication bus when the optical module is in place and the communication bus between the programmable logic device and the optical module is idle; The generation module is configured to generate an optical module management policy based on the optical module information and execute the optical module management policy.

19. A computer device, characterized in that, include: A memory and a processor are communicatively connected, the memory stores computer instructions, and the processor executes the computer instructions to perform the optical module management method of any one of claims 1 to 8 or claims 9 to 15.

20. A computer-defined non-volatile readable storage medium, characterized in that, The computer non-volatile readable storage medium stores computer instructions configured to cause the computer to perform the optical module management method of any one of claims 1 to 8 or claims 9 to 15.

Citation Information

Patent Citations

  • Fault processing method and device, computer device and readable storage medium

    CN110417464A

  • Optical module identification regulation and control structure and method and storage medium

    CN114116545A

  • Optical module management method, system and device, computer equipment and storage medium

    CN118427132A

  • Flexible, high-bandwidth link management between system and subsystem baseboard management controllers

    US20230074345A1