Monitoring methods, devices, computer equipment, and storage media for server daughter cards
By selecting sub-cards that support SMBus and using ARP to allocate addresses, the problem of low monitoring efficiency of server sub-cards was solved, achieving efficient and conflict-free sub-card monitoring and expanding the monitoring scope.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INSPUR SUZHOU INTELLIGENT TECH CO LTD
- Filing Date
- 2023-06-27
- Publication Date
- 2026-06-30
AI Technical Summary
In existing technologies, the monitoring efficiency of server daughter cards is low, especially when the same daughter cards are connected on the same I2C bus, which requires switching channels through a switch chip, resulting in low monitoring efficiency.
By selecting daughter cards that support the System Management Bus (SMBus), and using the Address Resolution Protocol (ARP) to assign addresses to each daughter card, efficient monitoring of the daughter cards can be achieved, avoiding address conflicts.
It improves monitoring efficiency, enables simultaneous monitoring of the same sub-card, expands the monitoring range, and avoids the need to switch channels.
Smart Images

Figure CN116795642B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and specifically to a monitoring method, apparatus, computer equipment, and storage medium for a server sub-card. Background Technology
[0002] As we all know, servers are the core of the entire network system and computing platform, storing much important data. The Baseboard Management Controller (BMC) acts as the server's steward, using sensors to monitor the status of computers, network servers, and other hardware drivers. Besides the CPU, the PCIe daughter card is also a crucial component of a server; therefore, ensuring the stable operation of the server requires ensuring the stable operation of the PCIe daughter card. Thus, the BMC needs to be able to efficiently and accurately acquire the status of the PCIe daughter card.
[0003] When using a BMC to monitor the status of a PCIe daughter card, an external switch chip is typically required on the BMC's InterIntegrated Circuit (I2C) bus to ensure that identical PCIe daughter cards on the same bus do not experience address conflicts. This necessitates the BMC constantly switching channels to monitor the PCIe daughter card, impacting monitoring efficiency.
[0004] Multiple PCIe daughter cards are connected to each I2C bus. If at least two identical cards (e.g., cards of the same manufacturer and model) are connected to an I2C bus, the addresses of these identical cards will conflict. For example, ... Figure 1 As shown, two identical SAS cards, SAS1 and SAS2, are connected to the I2C-0 bus. The addresses of SAS1 and SAS2 conflict, both being 0x5. Similarly, two identical HCA cards, HCA1 and HCA2, are connected to the I2C-0 bus. The addresses of HCA1 and HCA2 also conflict, both being 0x32. Likewise, on the I2C-1 bus, network card 1 and network card 2 have conflicting addresses, as do RAID card 1 and RAID card 2. To avoid address conflicts, in... Figure 1 As shown, a switch chip can be set on the bus to avoid address conflicts by switching channels. For example, if it is necessary to monitor the status of SAS card 1 and SAS card 2, because their addresses conflict, they cannot be monitored simultaneously. They can only be monitored alternately, resulting in low monitoring efficiency. Summary of the Invention
[0005] In view of this, the present invention provides a method, apparatus, computer equipment and storage medium for monitoring server sub-cards, in order to solve the problem of low monitoring efficiency.
[0006] In a first aspect, embodiments of the present invention provide a method for monitoring server sub-cards, the method comprising the following steps: after the server is powered on, selecting sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain a set of sub-cards to be monitored; assigning an address to each sub-card in the set of sub-cards to be monitored using the Address Resolution Protocol (ARP); and monitoring the sub-cards in the set of sub-cards to be monitored based on the assigned address of each sub-card in the set of sub-cards to be monitored.
[0007] The server sub-card monitoring method provided in this embodiment of the invention, after the server is powered on, selects sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain a set of sub-cards to be monitored; assigns an address to each sub-card in the set of sub-cards using the Address Resolution Protocol (ARP); and monitors the sub-cards in the set of sub-cards based on the assigned addresses of each sub-card in the set of sub-cards. This allows each sub-card in the set of sub-cards to have a different assigned address, thus eliminating the need to switch channels using a switch chip when monitoring the same sub-card, and enabling simultaneous monitoring of the same sub-cards, thereby improving monitoring efficiency.
[0008] In one alternative implementation, selecting daughter cards that support the System Management Bus (SMBus) from among multiple daughter cards connected to the same I2C integrated circuit bus includes: sending a test command to the multiple daughter cards connected to the same I2C integrated circuit bus; determining whether each daughter card supports the SMBus based on its response information; and selecting daughter cards that support the SMBus from among the multiple daughter cards based on whether each daughter card supports the SMBus.
[0009] This allows for the accurate selection of daughter cards that support the System Management Bus (SMBus) from among multiple daughter cards on the same I2C integrated circuit bus.
[0010] In one optional implementation, determining whether a daughter card supports the System Management Bus (SMBus) based on the response information of each daughter card includes: for any daughter card, if the response information of the daughter card can be obtained, it is determined that the daughter card supports the System Management Bus (SMBus); if the response information of the daughter card cannot be obtained, it is determined that the daughter card does not support the System Management Bus (SMBus).
[0011] This allows for an accurate determination of whether each daughter card supports the System Management Bus (SMBus).
[0012] In one optional implementation, after assigning an address to each sub-card in the set of sub-cards to be monitored using the Address Resolution Protocol (ARP), the following steps are further included: obtaining an address set based on the assigned address of each sub-card in the set of sub-cards to be monitored; removing the sub-cards to be monitored from among multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain the remaining sub-cards; obtaining the device address of any remaining sub-card; determining whether there is an assigned address in the address set that matches the device location; and adding the remaining sub-card to the set of sub-cards to be monitored if no such address exists.
[0013] This allows monitoring of daughter cards that do not support the System Management Bus (SMBus) on the same I2C integrated circuit bus without causing address conflicts, thus expanding the monitoring scope of server daughter cards.
[0014] In one optional implementation, monitoring the sub-cards in the set of sub-cards to be monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored includes: adding each sub-card in the set of sub-cards to be monitored to the Management Component Transport Protocol (MCTP) device list; assigning an endpoint ID to each sub-card in the set of sub-cards to be monitored according to the Management Component Transport Protocol (MCTP) device list; and for any sub-card in the set of sub-cards to be monitored, sending a monitoring command to the sub-card using the sub-card's endpoint ID and the sub-card's allocated address, and obtaining feedback information from the sub-card.
[0015] Therefore, the sub-cards in the set of sub-cards to be monitored can be monitored using the assigned address of each sub-card.
[0016] In one optional implementation, before sending a monitoring command to any sub-card in the set of sub-cards to be monitored via the sub-card's endpoint ID and allocation address, and obtaining feedback information from the sub-card, the method further includes: determining whether a monitoring command for the sub-card has been obtained; when a monitoring command for the sub-card is obtained, obtaining the sub-card's manufacturer information; and generating a monitoring command based on the manufacturer information.
[0017] This allows for targeted monitoring of the sub-cards that require monitoring.
[0018] In one optional implementation, the monitoring method for server daughter cards includes: after the server is powered on, sending test commands to multiple daughter cards connected to the same integrated circuit bus (I2C); for any daughter card, if a response information from the daughter card can be obtained, determining that the daughter card supports the System Management Bus (SMBus); if a response information from the daughter card cannot be obtained, determining that the daughter card does not support the SMBus; filtering out daughter cards that support the SMBus from among the multiple daughter cards based on whether each daughter card supports the SMBus; assigning an address to each daughter card in the set of daughter cards to be monitored using the Address Resolution Protocol (ARP); and obtaining an address set based on the assigned address of each daughter card in the set of daughter cards to be monitored. The process involves: removing the set of daughter cards to be monitored from multiple daughter cards connected to the same I2C bus to obtain the remaining daughter cards; obtaining the device address of any remaining daughter card; determining whether there is an allocation address with the same device location in the address set; adding the remaining daughter card to the set of daughter cards to be monitored; adding each daughter card in the set of daughter cards to be monitored to the Management Component Transport Protocol (MCTP) device list; assigning an endpoint ID to each daughter card in the set of daughter cards to be monitored according to the MCTP device list; and sending a monitoring command to any daughter card in the set of daughter cards to be monitored using the endpoint ID and the allocation address of the daughter card, and obtaining the feedback information from the daughter card.
[0019] The server sub-card monitoring method provided in this embodiment of the invention, after the server is powered on, selects sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same I2C integrated circuit bus to obtain a set of sub-cards to be monitored; assigns an address to each sub-card in the set of sub-cards using the Address Resolution Protocol (ARP); and monitors the sub-cards in the set of sub-cards based on the assigned address of each sub-card in the set of sub-cards. This allows each sub-card in the set of sub-cards to have a different assigned address, thus eliminating the need to switch channels using a switch chip when monitoring the same sub-card, and enabling simultaneous monitoring of the same sub-card, improving monitoring efficiency. Furthermore, it can monitor sub-cards on the same I2C integrated circuit bus that do not support the SMBus without causing address conflicts, expanding the monitoring scope of the server sub-cards.
[0020] Secondly, embodiments of the present invention provide a monitoring device for server sub-cards. The device includes a preprocessing module, an address allocation module, and a monitoring module. After the server is powered on, the preprocessing module is used to filter out sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same integrated circuit bus (I2C), thus obtaining a set of sub-cards to be monitored. The address allocation module is used to allocate an address to each sub-card in the set of sub-cards to be monitored using the Address Resolution Protocol (ARP). The monitoring module is used to monitor the sub-cards in the set of sub-cards to be monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored.
[0021] Thirdly, embodiments of the present invention also provide a computer device, including a memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to perform the server sub-card monitoring method of the first aspect or any corresponding embodiment described above.
[0022] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing computer instructions, which are used to cause a computer to execute the monitoring method of the server sub-card described in the first aspect or any of its corresponding embodiments. Attached Figure Description
[0023] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0024] Figure 1 This is a schematic diagram illustrating the principle of server sub-card monitoring methods in related technologies;
[0025] Figure 2 This is a flowchart of a server sub-card monitoring method according to an embodiment of the present invention;
[0026] Figure 3 This is a schematic diagram of the allocated address obtained by the server sub-card monitoring method according to an embodiment of the present invention;
[0027] Figure 4 This is a flowchart of another server sub-card monitoring method according to an embodiment of the present invention;
[0028] Figure 5 This is a flowchart of another server sub-card monitoring method according to an embodiment of the present invention;
[0029] Figure 6This is a structural block diagram of a server sub-card monitoring device according to an embodiment of the present invention;
[0030] Figure 7 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation
[0031] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0032] According to an embodiment of the present invention, a monitoring method for a server sub-card is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0033] This embodiment provides a monitoring method for a server daughter card, which can be used in the aforementioned Baseboard Management Controller (BMC). Figure 2 This is a flowchart of a server sub-card monitoring method according to an embodiment of the present invention, such as... Figure 2 As shown, the process includes the following steps:
[0034] Step S201: After the server is powered on, select the sub-cards that support the System Management Bus (SMBus) from among the multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain the set of sub-cards to be monitored.
[0035] Specifically, the set of sub-cards to be monitored includes at least two sub-cards to be monitored.
[0036] The System Management Bus (SMBus) is a two-wire serial bus, mostly based on the I2C bus specification. A system can use SMBus to exchange information with multiple devices without requiring independent control lines.
[0037] SMBus involves three types of devices: Slave devices, which receive or respond to commands; Master devices, which issue commands, generate time signatures, and terminate transmissions; and Master devices, which are dedicated master devices that provide the main interface with the system CPU. Master devices must have master-slave functionality and must support the SMBus notification protocol.
[0038] Step S202: Use the Address Resolution Protocol (ARP) to assign an address to each sub-card in the set of sub-cards to be monitored.
[0039] It should be noted that by using the Address Resolution Protocol (ARP) to assign an address to each sub-card in the set of sub-cards to be monitored, each sub-card in the set of sub-cards to be monitored can have a different assigned address.
[0040] Step S203: Monitor the sub-cards in the set of sub-cards to be monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored.
[0041] In other words, when monitoring each sub-card in the set of sub-cards to be monitored, there is no need to consider the actual address of each sub-card; monitoring can be performed solely based on the allocated address of each sub-card.
[0042] Figure 3 This is a schematic diagram of the allocated address obtained by the server sub-card monitoring method according to an embodiment of the present invention, as shown below. Figure 3 As shown, although SAS card 1, SAS card 2, HCA card 1, and HCA card 2 are connected to I2C-0, their addresses are all different. Similarly, although network card 1, network card 2, RAID card 1, and RAID card 1 are connected to I2C-1, their addresses are all different. It should be noted that the child cards on I2C-0 and I2C-1 can have the same assigned address.
[0043] The server sub-card monitoring method provided in this embodiment of the invention, after the server is powered on, selects sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same I2C integrated circuit bus to obtain a set of sub-cards to be monitored; assigns an address to each sub-card in the set of sub-cards using the Address Resolution Protocol (ARP); and monitors the sub-cards in the set of sub-cards based on the assigned addresses of each sub-card in the set of sub-cards. This allows each sub-card in the set of sub-cards to have a different assigned address, so that when the same sub-card needs to be monitored, there is no need to switch channels through a switch chip, and the same sub-card can be monitored simultaneously, improving monitoring efficiency.
[0044] This embodiment provides a monitoring method for a server daughter card, which can be used in the aforementioned Baseboard Management Controller (BMC). Figure 4 This is a flowchart of another server sub-card monitoring method according to an embodiment of the present invention, such as... Figure 4 As shown, the process includes the following steps:
[0045] Step S401: After the server is powered on, select the sub-cards that support the System Management Bus (SMBus) from among the multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain the set of sub-cards to be monitored.
[0046] Specifically, step S401 includes:
[0047] Step S4011: Send test commands to multiple daughter cards connected to the same integrated circuit bus I2C.
[0048] Step S4012: Determine whether each daughter card supports the System Management Bus (SMBus) based on the response information of each daughter card.
[0049] The process of determining whether a child card supports the System Management Bus (SMBus) based on its response information includes: for any child card, if the child card's response information can be obtained, the child card is determined to support the System Management Bus (SMBus); if the child card's response information cannot be obtained, the child card is determined to not support the System Management Bus (SMBus).
[0050] Step S4013: Select the daughter cards that support System Management Bus (SMBus) from among multiple daughter cards based on whether each daughter card supports SMBus.
[0051] Step S402: Use the Address Resolution Protocol (ARP) to assign an address to each sub-card in the set of sub-cards to be monitored.
[0052] Step S403: Monitor the sub-cards in the set of sub-cards to be monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored.
[0053] Specifically, step S403 includes:
[0054] Step S4031: Add each sub-card in the set of sub-cards to be monitored to the management component transport protocol MCTP device list.
[0055] Step S4032: Assign an endpoint ID to each sub-card in the set of sub-cards to be monitored according to the Management Component Transport Protocol (MCTP) device list.
[0056] Step S4033: For any sub-card in the set of sub-cards to be monitored, send the monitoring command to the sub-card through the sub-card's endpoint ID and the sub-card's assigned address, and obtain the sub-card's feedback information.
[0057] As a further implementation, before sending the monitoring command to any sub-card in the set of sub-cards to be monitored through the sub-card's endpoint ID and the sub-card's allocation address, and obtaining the sub-card's feedback information, the method further includes: determining whether the monitoring command of the sub-card has been obtained; when the monitoring command of the sub-card is obtained, obtaining the sub-card's manufacturer information; and generating a monitoring command based on the manufacturer information.
[0058] The server sub-card monitoring method provided in this embodiment of the invention, after the server is powered on, selects sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same I2C integrated circuit bus to obtain a set of sub-cards to be monitored; assigns an address to each sub-card in the set of sub-cards using the Address Resolution Protocol (ARP); and monitors the sub-cards in the set of sub-cards based on the assigned addresses of each sub-card in the set of sub-cards. This allows each sub-card in the set of sub-cards to have a different assigned address, so that when the same sub-card needs to be monitored, there is no need to switch channels through a switch chip, and the same sub-card can be monitored simultaneously, improving monitoring efficiency.
[0059] This embodiment provides a monitoring method for a server daughter card, which can be used in the aforementioned Baseboard Management Controller (BMC). Figure 5 This is a flowchart of another server sub-card monitoring method according to an embodiment of the present invention, such as... Figure 5 As shown, the process includes the following steps:
[0060] Step S501: After the server is powered on, select the sub-cards that support the System Management Bus (SMBus) from among the multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain the set of sub-cards to be monitored.
[0061] Step S502: Use the Address Resolution Protocol (ARP) to assign an address to each sub-card in the set of sub-cards to be monitored.
[0062] Step S503: Obtain the address set based on the allocated address of each sub-card in the set of sub-cards to be monitored.
[0063] In other words, the address set includes the assigned address for each child card to be monitored.
[0064] Step S504: Eliminate the set of daughter cards to be monitored from multiple daughter cards connected to the same integrated circuit bus I2C to obtain the remaining daughter cards.
[0065] In other words, the remaining daughter cards are daughter cards on the same integrated circuit bus I2C that are not included in the set of daughter cards to be monitored.
[0066] Step S505: For any remaining sub-card, obtain the device address of the remaining sub-card; determine whether there is an allocation address in the address set that is the same as the device location; if not, add the remaining sub-card to the set of sub-cards to be monitored.
[0067] Step S506: Monitor the sub-cards in the set of sub-cards to be monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored.
[0068] The server sub-card monitoring method provided in this invention not only allows each sub-card in the set of sub-cards supporting System Management Bus (SMBus) to have a different allocated address, thus eliminating the need to switch channels via a switch chip when monitoring the same sub-card, thereby improving monitoring efficiency; but also allows monitoring of sub-cards that do not support SMBus on the same I2C integrated circuit bus without causing address conflicts, thereby expanding the monitoring scope of server sub-cards.
[0069] To illustrate the monitoring method of the server sub-card in this embodiment of the invention in more detail, a specific example is given, which includes the following steps:
[0070] S11: The server BMC and PCIe daughter card have a physical I2C channel and support multiple identical cards connected to the same I2C bus;
[0071] S12: When the server is powered on, the BMC checks whether the PCIe daughter card on the current bus supports SMBus by sending an I2C command; if SMBus is supported, the BMC notifies all slave devices (PCIe daughter cards) and the master device (BMC) that the ARP process will be initiated by sending an SMBus ARP Prepare command.
[0072] S13: The BMC sends requests through the SMBus bus and obtains the device address and other information of each PCIe daughter card. It then reassigns I2C addresses to each daughter card via ARP to ensure that no address conflict occurs when daughter cards with the same I2C address exist.
[0073] S14: After all PCIe daughter cards have reacquired their I2C addresses via ARP, the BMC triggers the MCTP device discovery process, adds all PCIe daughter cards to the MCTP device list, and assigns an EID to each PCIe daughter card as the MCTP Bus Owner.
[0074] S15: The BMC starts monitoring threads for different daughter cards and sends MCTP over I2C commands to specific daughter cards through EID to obtain key information such as temperature and manufacturer information for different types of daughter cards and daughter cards of the same type but in different locations, so as to realize the BMC's monitoring of PCIe daughter cards.
[0075] Therefore, this invention provides a method for real-time and rapid monitoring of server PCIe daughter cards based on SMBus ARP technology and using MCTP over I2C. This method resolves address conflicts by reallocating addresses of identical PCIe daughter cards on the same I2C bus using the SMBus ARP mechanism, and achieves real-time and accurate monitoring of PCIe daughter cards by the BMC through the MCTP protocol. This improves server robustness and further ensures the stability of big data services.
[0076] It should be noted that the above explanation uses the server architecture of the Intel platform as an example, but this method is not limited to servers on the Intel platform and has general application value in servers and computer platforms on other platforms.
[0077] This embodiment also provides a monitoring device for a server sub-card, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. 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 implementation, or a combination of software and hardware, is also possible and contemplated.
[0078] This embodiment provides a monitoring device for a server sub-card, such as... Figure 6 As shown, it includes:
[0079] The preprocessing module 601, after the server is powered on, is used to filter out the sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain a set of sub-cards to be monitored.
[0080] Address allocation module 602 is used to allocate an address to each sub-card in the set of sub-cards to be monitored using the Address Resolution Protocol (ARP);
[0081] The monitoring module 603 is used to monitor the sub-cards in the set of sub-cards to be monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored.
[0082] In some alternative implementations, the preprocessing module 601 includes:
[0083] The test command sending unit is used to send test commands to multiple daughter cards connected to the same integrated circuit bus I2C.
[0084] The judgment unit is used to determine whether each daughter card supports the System Management Bus (SMBus) based on the response information of each daughter card.
[0085] The filtering unit is used to filter out the daughter cards that support the System Management Bus (SMBus) from among multiple daughter cards based on whether each daughter card supports the SMBus.
[0086] In some optional implementations, the determination unit is specifically used to: for any daughter card, when the response information of the daughter card can be obtained, determine that the daughter card supports the System Management Bus (SMBus); when the response information of the daughter card cannot be obtained, determine that the daughter card does not support the System Management Bus (SMBus).
[0087] In some optional implementations, the monitoring device for server sub-cards further includes a sub-card set expansion module to be monitored. After assigning an address to each sub-card in the sub-card set to be monitored using the Address Resolution Protocol (ARP), the sub-card set expansion module is specifically used for: obtaining an address set based on the assigned address of each sub-card in the sub-card set to be monitored; removing the sub-card set to be monitored from among multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain the remaining sub-cards; obtaining the device address of any remaining sub-card; determining whether there is an assigned address in the address set that matches the device location; and adding the remaining sub-card to the sub-card set to be monitored if no address exists.
[0088] In some alternative implementations, the monitoring module 603 includes:
[0089] The endpoint ID allocation unit is used to add each sub-card in the set of sub-cards to be monitored to the Management Component Transport Protocol (MCTP) device list; and to assign an endpoint ID to each sub-card in the set of sub-cards to be monitored according to the Management Component Transport Protocol (MCTP) device list.
[0090] The monitoring unit is used to send monitoring commands to any sub-card in the set of sub-cards to be monitored, using the sub-card's endpoint ID and assigned address, and to obtain feedback information from the sub-card.
[0091] In some optional implementations, before sending a monitoring command to any sub-card in the set of sub-cards to be monitored via the sub-card's endpoint ID and allocation address, and before obtaining feedback information from the sub-card, the monitoring unit is further configured to: determine whether a monitoring command for the sub-card has been obtained; when a monitoring command for the sub-card is obtained, obtain the sub-card's manufacturer information; and generate a monitoring command based on the manufacturer information.
[0092] In this embodiment, the monitoring device of the server sub-card is presented in the form of a functional unit. Here, a unit refers to an ASIC circuit, a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.
[0093] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.
[0094] This invention also provides a computer device having the above-described features. Figure 6The monitoring device for the server sub-card shown.
[0095] Please see Figure 7 , Figure 7 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 7 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 7 Take a processor 10 as an example.
[0096] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.
[0097] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.
[0098] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device as shown by a landing page for an app. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, which can be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0099] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0100] The computer device also includes an input device 30 and an output device 40. The processor 10, memory 20, input device 30, and output device 20 can be connected via a bus or other means. Figure 7 Taking the example of a connection between China and Israel via a bus.
[0101] Input device 30 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the computer device, such as a touchscreen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 40 may include display devices, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibration motors). The aforementioned display devices include, but are not limited to, liquid crystal displays, light-emitting diodes, displays, and plasma displays. In some alternative embodiments, the display device may be a touchscreen.
[0102] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.
[0103] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and all such modifications and variations fall within the scope defined by the appended claims.
Claims
1. A method for monitoring a server sub-card, characterized in that, The method includes: After the server is powered on, select the sub-cards that support the System Management Bus (SMBus) from among the multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain the set of sub-cards to be monitored. The Address Resolution Protocol (ARP) is used to assign an address to each sub-card in the set of sub-cards to be monitored. The sub-cards in the set of sub-cards to be monitored are monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored; The process of selecting daughter cards that support the System Management Bus (SMBus) from among multiple daughter cards connected to the same I2C integrated circuit bus includes: Send test commands to the multiple daughter cards connected to the same integrated circuit bus I2C; Determine whether each of the sub-cards supports the System Management Bus (SMBus) based on the response information of each sub-card; Based on whether each of the sub-cards supports the System Management Bus (SMBus), sub-cards that support the SMBus are selected from among the multiple sub-cards; After assigning an address to each sub-card in the set of sub-cards to be monitored using the Address Resolution Protocol (ARP), the process also includes: Based on the allocated address of each sub-card in the set of sub-cards to be monitored, an address set is obtained; The set of daughter cards to be monitored is removed from multiple daughter cards connected to the same integrated circuit bus I2C to obtain the remaining daughter cards; for any remaining daughter card, the device address of the remaining daughter card is obtained; it is determined whether there is an allocation address with the same device location in the address set; if not, the remaining daughter card is added to the set of daughter cards to be monitored. Add each sub-card in the set of sub-cards to be monitored to the Management Component Transport Protocol (MCTP) device list; assign an endpoint ID to each sub-card in the set of sub-cards to be monitored according to the Management Component Transport Protocol (MCTP) device list; for any sub-card in the set of sub-cards to be monitored, send a monitoring command to the sub-card using the endpoint ID and the assigned address of the sub-card, and obtain feedback information from the sub-card.
2. The method according to claim 1, characterized in that, Before sending a monitoring command to any sub-card in the set of sub-cards to be monitored, using the sub-card's endpoint ID and allocation address, and before obtaining feedback information from the sub-card, the process further includes: Determine whether the monitoring command for the sub-card has been received; When a monitoring command is received from the sub-card, the manufacturer information of the sub-card is obtained; The monitoring command is generated based on the manufacturer information.
3. A monitoring device for a server sub-card, characterized in that, The device includes: The preprocessing module, after the server is powered on, is used to filter out the sub-cards that support the System Management Bus (SMBus) from multiple sub-cards connected to the same integrated circuit bus (I2C), and obtain the set of sub-cards to be monitored. The address allocation module is used to allocate an address to each sub-card in the set of sub-cards to be monitored using the Address Resolution Protocol (ARP). The monitoring module is used to monitor the sub-cards in the set of sub-cards to be monitored based on the allocated address of each sub-card in the set of sub-cards to be monitored; The preprocessing module includes a test command sending unit, a judgment unit, and a filtering unit; The test command sending unit is used to send test commands to the multiple daughter cards connected to the same integrated circuit bus I2C. The determination unit is used to determine whether each of the sub-cards supports the System Management Bus (SMBus) based on the response information of each sub-card. The filtering unit is used to filter out sub-cards that support the System Management Bus (SMBus) from among multiple sub-cards based on whether each sub-card supports the SMBus. The determination unit is specifically used for: for any daughter card, when the response information of the daughter card can be obtained, determining that the daughter card supports the System Management Bus (SMBus); when the response information of the daughter card cannot be obtained, determining that the daughter card does not support the System Management Bus (SMBus); The monitoring device for the server sub-cards also includes an expansion module for the set of sub-cards to be monitored; After assigning an address to each sub-card in the monitored sub-card set using the Address Resolution Protocol (ARP), the monitored sub-card set expansion module is specifically used for: obtaining an address set based on the assigned address of each sub-card in the monitored sub-card set; removing the monitored sub-card set from multiple sub-cards connected to the same integrated circuit bus (I2C) to obtain the remaining sub-cards; obtaining the device address of any remaining sub-card; determining whether there is an assigned address in the address set that matches the device location; and adding the remaining sub-card to the monitored sub-card set if no such address exists. The monitoring module includes an endpoint ID allocation unit and a monitoring unit; The endpoint ID allocation unit is used to add each sub-card in the set of sub-cards to be monitored to the Management Component Transport Protocol (MCTP) device list; and to allocate an endpoint ID to each sub-card in the set of sub-cards to be monitored according to the Management Component Transport Protocol (MCTP) device list. The monitoring unit is used to send monitoring commands to any sub-card in the set of sub-cards to be monitored, using the endpoint ID and the allocation address of the sub-card, and to obtain feedback information from the sub-card.
4. 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 monitoring method of the server sub-card according to any one of claims 1 to 2.
5. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to execute the monitoring method of the server sub-card as described in any one of claims 1 to 2.