Equipment management method and device, substrate management controller and storage medium
By combining the PCIe bus and I2C bus to manage PCIe devices, the thread blocking problem caused by synchronous monitoring is solved, achieving efficient device management and improved server performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-09
- Publication Date
- 2026-04-07
AI Technical Summary
In existing technologies, synchronous monitoring of single I/O may block the management device's thread, causing the management device to wait for the PCIe device to send data and return resources, thus preventing it from performing other tasks. This reduces the management efficiency of the management device over the PCIe device and the overall performance of the server.
PCIe devices are managed using a combination of PCIe and I2C buses. Commands are sent via the PCIe bus to obtain device information, and commands to adjust parameters are sent via the I2C bus to achieve asynchronous management and avoid waiting for data returns.
It improves the management efficiency of PCIe devices, enhances the overall performance of the server, enables the simultaneous execution of other tasks and reception of data, and enhances the targeted and real-time nature of device management.
Smart Images

Figure CN121807753A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data monitoring technology, and in particular to a device management method, apparatus, baseboard management controller (BMC), and storage medium. Background Technology
[0002] With the development of information technology and the increasing demand for higher bandwidth and more device connections in servers, storage systems and data centers, Peripheral Component Interconnect Express (PCIe) devices allow multiple devices to connect to the host through one or more PCIe ports, enabling efficient resource allocation and expansion in high-performance computing and modern data centers.
[0003] In existing technologies, the Inter-Integrated Circuit (I2C) bus is typically used to access and manage PCIe devices. However, the synchronous monitoring of a single I / O operation may block the management device's thread. The management device needs to wait for the PCIe device to send data and return resources before releasing the blocked thread. While waiting for the PCIe device to send data and return resources, the management device cannot perform other tasks, which reduces the management efficiency of the management device for PCIe devices and reduces the overall performance of the server. Summary of the Invention
[0004] To address the problems in the prior art, this application provides a device management method, apparatus, baseboard management controller, and storage medium that can simultaneously utilize the PCIe bus and I2C bus to manage PCIe devices, thereby improving the management efficiency of PCIe devices.
[0005] In a first aspect, embodiments of this application provide a device management method applied to a baseboard management controller (BMC); the BMC is connected to at least one peripheral component interconnect (PCIe) device via a PCIe bus and an internal integrated circuit I2C bus; the method includes: A first command is generated at each first time interval and sent to at least one PCIe device via the PCIe bus; the first command is used to obtain first information of the PCIe device; the first information is the status information of each port on the PCIe device. The system receives first information and / or second information sent by at least one PCIe device via the PCIe bus; the first information is sent by the PCIe device in response to the first command; the second information is the status information of the PCIe device. A corresponding second command is generated based on the first information and / or the second information sent by each PCIe device, and each second command is sent to the corresponding PCIe device through the I2C bus; each second command is used to instruct the corresponding PCIe device to adjust parameters.
[0006] The Base Management Console (BMC) can be used to manage PCIe devices. It can send a first command to at least one PCIe device connected to it via the PCIe bus. This first command can be used to obtain the first information of the PCIe device, namely the status information of each port on the PCIe device. After the PCIe device has prepared its data, the BMC can receive the first and / or second information sent by at least one PCIe device via the PCIe bus. The first information is sent by the device in response to the first command, and the second information is the status information of the PCIe device. Based on the first and / or second information sent by each PCIe device, a corresponding second command can be generated, and each second command can be sent to the corresponding PCIe device via the I2C bus to guide the PCIe device in adjusting its parameters. In this way, the BMC can manage PCIe devices simultaneously using both the PCIe bus and the I2C bus. After sending the first command via the PCIe bus, the BMC does not need to wait but can continue to execute other tasks and receive data from the PCIe device via the I2C bus, improving the management efficiency of PCIe devices and enhancing the overall performance of the server.
[0007] In one possible implementation, the first information includes at least one or more of port status, port error reports, and port request response information; the step of generating a corresponding second command based on the first and / or second information sent by each PCIe device includes: If the first information sent by the PCIe device includes the port status of each port on the PCIe device, and the port status of the target port is a first state, then the second command includes changing the state of the target port to a second state; the target port is any port on the PCIe device. If the first information sent by the PCIe device includes a target port error report for the target port, then the second command is generated based on the target port error report; the second command is used to instruct the PCIe device to repair the port error of the target port. If the first information sent by the PCIe device includes the target port request response status of the target port, and the target port request response status is a failure, then the second command is to re-execute the request corresponding to the target port request response status. If the second information sent by the PCIe device is greater than a preset threshold, then the second command includes reducing the operating power of the PCIe device.
[0008] Using the above method, different second commands can be determined based on the different data information sent by the PCIe device to the BMC and the different thresholds to which each data information belongs. In the second command, the port status in the first state can be changed to the second state, port errors can be repaired based on error reports, port response requests can be controlled based on port response status, and the operating power of the PCIe device can be adjusted to meet the heat dissipation requirements of the PCIe device. This improves the targeting of the second command, realizes the real-time management process of the PCIe device, and improves the overall performance of the server.
[0009] In one possible implementation, after sending each of the second commands to the corresponding PCIe device via the I2C bus, the method further includes: Responding to a device update command, obtain the update package contained in the update command; If the update package is incompatible with the target PCIe device, a first prompt message is displayed; the first prompt message is used to prompt the device update command to stop responding; the target PCIe device is the PCIe device corresponding to the device identifier contained in the device update command; If the update package is compatible with the target PCIe device, the update package is sent to the target PCIe device via the PCIe bus, and a second prompt message is displayed when the first command sent by the target PCIe device is received after the update package is sent; the second prompt message is used to prompt the device to complete the update command response.
[0010] Using the above method, the update process for target PCIe devices with update requirements can be realized based on device update commands. Furthermore, before updating the target PCIe device, the compatibility between the update package and the target PCIe device can be checked. If they are incompatible, the update process can be stopped in advance to avoid potential errors. If they are compatible, the update package can be sent directly to the target PCIe device, which improves the management efficiency of PCIe devices and enhances the overall performance of the server.
[0011] Secondly, embodiments of this application provide a device management method applicable to any peripheral component interconnect fast lane PCIe device; the PCIe device is connected to the baseboard management controller (BMC) via a PCIe bus and an internal integrated circuit I2C bus; the method includes: The system receives a first command sent by the BMC via the PCIe bus and responds to the first command to obtain first information; the first information is the status information of each port on the PCIe device. The first information is sent to the BMC via the PCIe bus, and the second information is sent to the BMC via the PCIe bus every second time interval; the second information is the status information of the PCIe device. The BMC receives a second command sent via the I2C bus and adjusts parameters based on the second command; the second command is generated by the BMC based on the first and / or second information sent by the PCIe device.
[0012] In this way, the PCIe device can respond to the first command sent by the BMC to obtain the first information, and send the first information to the BMC through the PCIe bus. At every second time interval, it can send the second information to the BMC through the PCIe bus. The second information is the status information of the PCIe device. It can also receive the second command sent by the BMC through the I2C bus and adjust the parameters based on the second command. In this way, the BMC can manage the PCIe device using both the PCIe bus and the I2C bus at the same time. After sending the first command through the PCIe bus, the BMC does not need to wait, but can continue to execute other tasks and receive data information sent by the PCIe device through the I2C bus, which improves the management efficiency of PCIe devices and enhances the overall performance of the server.
[0013] In one possible implementation, after adjusting the parameters based on the second command, the method further includes: If the PCIe device malfunctions, a third command is transmitted to the BMC via the I2C bus; the third command is used to instruct the BMC to suspend sending the second command. Obtain a predetermined number of target second commands that were executed before a failure occurred, and adjust the target parameters to the values of the target parameters at any time before the execution of the target second commands; the target parameters include the parameters that were adjusted according to each of the target second commands.
[0014] In the above manner, a third command instructing the BMC to suspend sending the second command can also be transmitted to the BMC in the event of a PCIe device failure. At the same time, a set number of target second commands that were executed before the failure occurred can be obtained, and the target parameters can be adjusted to the value of the target parameters at any time before the execution of the target second commands. By tracing back the failure, the management efficiency of PCIe devices can be improved, and the overall efficiency of the server can also be improved.
[0015] Thirdly, embodiments of this application provide a device management apparatus, the apparatus comprising: A first command sending unit is configured to generate a first command at each first time interval and send the first command to at least one PCIe device via the PCIe bus; the first command is used to obtain first information of the PCIe device; the first information is the status information of each port on the PCIe device. An information receiving unit is configured to receive first information and / or second information sent by at least one PCIe device via the PCIe bus; the first information is sent by the PCIe device in response to the first command; the second information is the status information of the PCIe device. The second command sending unit is used to generate a corresponding second command based on the first information and / or the second information sent by each PCIe device, and to send each second command to the corresponding PCIe device through the I2C bus; each second command is used to instruct the corresponding PCIe device to adjust parameters.
[0016] Fourthly, embodiments of this application provide a device management apparatus, the apparatus comprising: The first command receiving unit is configured to receive a first command sent by the BMC via the PCIe bus, and respond to the first command to obtain first information; the first information is the status information of each port on the PCIe device. An information sending unit is configured to send the first information to the BMC via the PCIe bus, and to send the second information to the BMC via the PCIe bus every second time interval; the second information is the status information of the PCIe device. The second command receiving unit is used to receive the second command sent by the BMC via the I2C bus and adjust the parameters based on the second command; the second command is generated by the BMC based on the first information and / or the second information sent by the PCIe device.
[0017] Fifthly, embodiments of this application provide a BMC, including: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps included in the method described in the first aspect according to the obtained program instructions.
[0018] Sixthly, embodiments of this application provide a PCIe device, including: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps included in the method described in the second aspect according to the obtained program instructions.
[0019] In a seventh aspect, this application provides a computer-readable storage medium storing a computer program, the computer program including program instructions that, when executed by a computer, cause the computer to perform the method described in the first aspect or the second aspect.
[0020] This application provides a device management method, apparatus, baseboard management controller, and storage medium. The baseboard management controller (BMC) can be used to manage PCIe devices and can send a first command to at least one PCIe device connected to the BMC via the PCIe bus. The first command can be used to obtain first information of the PCIe device, namely the status information of each port on the PCIe device. After the PCIe device has prepared data, the BMC can receive the first information and / or second information sent by at least one PCIe device via the PCIe bus. The first information is sent by the device in response to the first command, and the second information is the status information of the PCIe device. Based on the first and / or second information sent by each PCIe device, a corresponding second command can be generated, and each second command can be sent to the corresponding PCIe device via the I2C bus to guide the PCIe device to adjust its parameters. In this way, the BMC can manage PCIe devices using both the PCIe bus and the I2C bus simultaneously. After sending the first command via the PCIe bus, the BMC does not need to wait but can continue to execute other tasks and receive data information sent by the PCIe device via the I2C bus, which improves the management efficiency of PCIe devices and enhances the overall performance of the server. Attached Figure Description
[0021] Figure 1 This is a schematic diagram illustrating an application scenario of a device management method provided in an embodiment of this application; Figure 2 An interactive flowchart of a device management method provided in an embodiment of this application; Figure 3 An interactive flowchart illustrating a specific device management method provided in this application embodiment; Figure 4A structural diagram of a device management apparatus provided in an embodiment of this application; Figure 5 A structural diagram of another device management device provided in the embodiments of this application; Figure 6 A structural diagram of a BMC provided in an embodiment of this application; Figure 7 This is a structural diagram of a PCIe device provided in an embodiment of this application. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0023] It should be noted that the terms "comprising" and "having" and their variations used in this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or device.
[0024] The terms "first" and "second" used in this document are for descriptive purposes only and should not be construed as indicating relative importance or implying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.
[0025] The word “exemplary” as used below means “serving as an example, embodiment, or illustration.” Any embodiment illustrated as an “exemplary” need not be construed as superior to or better than other embodiments.
[0026] The present application will now be described in further detail with reference to the accompanying drawings and specific embodiments.
[0027] Figure 1 This illustration shows an application scenario diagram of a monitoring method provided in an embodiment of this application. See also... Figure 1As shown, the application scenario includes a server 100, which contains a BMC 110, a PCIe device 120, and a PCIe device 130. The BMC 110 and PCIe device 120 are connected via an I2C bus 200 and a PCIe bus 300, respectively. Similarly, the BMC 110 and PCIe device 130 are connected via an I2C bus 200 and a PCIe bus 300. After the server 100 is powered on, the BMC 110 can scan each PCIe device to obtain the number of PCIe devices connected to the BMC 110. The BMC 110 can set an identification information for each scanned PCIe device. It should be noted that there can be more than just PCIe devices 120 and 130; there can be more or fewer devices, which is not limited in this application.
[0028] In one possible embodiment, BMC110 can send a first command to at least one PCIe device connected to BMC110, such as PCIe device 120 or PCIe device 130, via PCIe bus 300; BMC110 can also receive first information and / or second information sent by at least one PCIe device via PCIe bus 300; BMC110 can also send each generated second command to the corresponding PCIe device via I2C bus 200 to guide the PCIe device to adjust the parameters of the PCIe device.
[0029] With the development of information technology and the increasing demand for higher bandwidth and more device connections in servers, storage systems and data centers, Peripheral Component Interconnect Express (PCIe) devices allow multiple devices to connect to the host through one or more PCIe ports, enabling efficient resource allocation and expansion in high-performance computing and modern data centers.
[0030] In existing technologies, the Inter-Integrated Circuit (I2C) bus is typically used to access and manage PCIe devices. However, the synchronous monitoring of a single I / O operation may block the management device's thread. The management device needs to wait for the PCIe device to send data and return resources before releasing the blocked thread. While waiting for the PCIe device to send data and return resources, the management device cannot perform other tasks, which reduces the management efficiency of the management device for PCIe devices and reduces the overall performance of the server.
[0031] The device management method provided by the exemplary embodiments of this application will be described below with reference to the accompanying drawings and the application scenarios described above. It should be noted that the application scenarios described above are only shown to facilitate understanding of the spirit and principles of this application, and the embodiments of this application are not limited in any way in this respect.
[0032] Figure 2 This application provides an interactive flowchart of a device management method according to an embodiment of the present application. Figure 2 As shown, an embodiment of this application provides a device management method that may include the following steps: In step S201, the BMC generates a first command every first time interval and sends the first command to at least one PCIe device via the PCIe bus.
[0033] In one possible embodiment, the BMC can create an asynchronous monitoring thread, in which information acquired for each PCIe device in at least one PCIe device can be recorded, and it can also be used to record events that generate the first command.
[0034] In one possible embodiment, the BMC can generate a first command every first time interval. The first command may be a request to obtain the port status of each port on the PCIe device, a request to obtain the target port error report of the target port on the PCIe device, or a request to obtain the target port request response status on the PCIe device. This application does not limit the specific content of the first command. It should be noted that the first command may also obtain other data in the PCIe device, or may obtain multiple of the above data and other data in the PCIe device at the same time.
[0035] In one possible embodiment, after generating the first command, the BMC can encapsulate the first command into a message in the form of Management Component Transport Protocol (MCTP), and then save the MCTP-encapsulated first command to the asynchronous monitoring thread. The asynchronous monitoring thread will temporarily store the MCTP-encapsulated first command in the task queue, waiting for the application layer to process it. The application layer will then send the MCTP-encapsulated first command to the PCIe device at an appropriate time.
[0036] In step S202, the PCIe device receives the first command sent by the BMC through the PCIe bus and responds to the first command to obtain the first information.
[0037] In one possible embodiment, the PCIe device can receive a first command sent by the BMC via the PCIe bus and obtain first information accordingly. For example, if the first command sent by the BMC is a request to obtain the port status of each port on the PCIe device, then the PCIe device receiving this first command will obtain the port status of each port; if the first command sent by the BMC is a request to obtain a target port error report of a target port on the PCIe device, then the PCIe device receiving this first command will obtain the target port error report of the target port; if the first command sent by the BMC is a request to obtain the target port request response status on the PCIe device, then the PCIe device receiving this first command will obtain the target port request response status.
[0038] In step S203, the PCIe device sends the first information to the BMC via the PCIe bus, and sends the second information to the BMC via the PCIe bus every second time interval.
[0039] In one possible embodiment, after completing step S202, the PCIe device obtains the first information, which can also be encapsulated into a message in MCTP format and sent to the BMC via the PCIe bus.
[0040] In one possible embodiment, the PCIe device can also acquire second information every second time interval. This second information is typically the operating temperature of the PCIe device. Since the operating temperature is more important than the first information, the second time interval can be set shorter than the first time interval. This allows for timely adjustments to the PCIe device's cooling environment by having the PCIe device actively report the second information. It should be noted that after acquiring the second information, the PCIe device can also encapsulate it into an MCTP (Multi-Channel Programming) message and send the MCTP-encapsulated second information to the BMC (Browser Management Center) via the PCIe bus.
[0041] In step S204, the BMC receives first information and / or second information sent by at least one PCIe device via the PCIe bus.
[0042] In one possible embodiment, the BMC can receive first and / or second information sent by at least one PCIe device via the PCIe bus. It should be noted that after completing step S201, the BMC does not need to wait for the PCIe device to respond to the first command; instead, it can continue to complete tasks in other threads after sending the first command to the PCIe device.
[0043] In step S205, the BMC generates a corresponding second command based on the first information and / or second information sent by each PCIe device, and sends each second command to the corresponding PCIe device via the I2C bus.
[0044] In one possible embodiment, if the first information sent by the PCIe device includes the port status of each port on the PCIe device, and the port status of the target port is the first state, then the second command generated by the BMC may include changing the state of the target port to the second state. The target port may be any port on the PCIe device, and the first state may be the off state, the second state may be the on state, and in some special cases, the first state may be set to the on state and the second state may be set to the off state.
[0045] In one possible embodiment, if the first information sent by the PCIe device includes a target port error report for the target port, then the second command generated by the BMC can be a command generated based on the target port error report to instruct the PCIe device to repair the port error of the target port. For example, if the first information sent by the PCIe device includes a target port error report indicating that the target port was not found, then the second command generated by the BMC could be to instruct the PCIe device to rescan its own ports to find the target port.
[0046] In one possible embodiment, if the first information sent by the PCIe device includes the target port request response status of the target port, and the target port request response status is a failure, then the second command generated by the BMC may be to re-execute the request corresponding to the target port request response status. For example, if the response status of port 1 on the PCIe device to request 1 is a failure, then the second command generated by the BMC may be to instruct port 1 on the PCIe device to re-respond to request 1.
[0047] In one possible embodiment, if the PCIe device sends a second piece of information, namely, that the temperature of the PCIe device is greater than a preset threshold, the second command can be to reduce the operating power of the PCIe device, or to instruct the PCIe device to adjust the heat dissipation device connected to the PCIe device to increase the operating power of the heat dissipation device connected to the PCIe device. For example, if the temperature of the PCIe device is 90°C and the preset threshold is 88°C, then it can be determined that the temperature of the PCIe device is greater than the preset threshold. The second command can be to reduce the operating power of the PCIe device to 90% of its original operating power. The PCIe device can reduce its operating power by reducing the number of commands processed per unit time.
[0048] In one possible embodiment, after the BMC generates the second command, the second command can also be encapsulated as a message in MCTP form, and the MCTP-encapsulated second command can be sent to the PCIe device via the I2C bus.
[0049] In one possible embodiment, after the BMC completes step S205, it can respond to the device update command and obtain the update package contained in the update command. If the update package is incompatible with the target PCIe device, a first prompt message is displayed, wherein the first prompt message is used to prompt the device update command to stop responding, and the target PCIe device is the PCIe device corresponding to the device identifier contained in the device update command. If the update package is compatible with the target PCIe device, the update package can be sent to the target PCIe device through the PCIe bus, and a second prompt message is displayed when the first command sent by the target PCIe device is received after sending the update package, wherein the second prompt message is used to prompt the device update command to complete the response.
[0050] In step S206, the PCIe device receives the second command sent by the BMC via the I2C bus and adjusts the parameters based on the second command.
[0051] In one possible embodiment, the PCIe device can receive a second command sent by the BMC via the I2C bus and adjust the parameters in the PCIe device based on the second command. If a fault occurs during the adjustment of the parameters in the PCIe device, a third command can be transmitted to the BMC via the I2C bus. The third command is used to instruct the BMC to suspend sending the second command to the PCIe device. After transmitting the third command to the BMC, a set number of target second commands that were executed before the fault occurred can be obtained, and the target parameters can be adjusted to the values of the target parameters at any time before the execution of the target second commands. For example, the PCIe device can obtain three target second commands that were executed before the fault occurred, and then the PCIe device can backtrack based on these three target second commands, adjusting the target parameters to the values before the first target second command, the second target second command, or the third target second command.
[0052] This application provides a device management method, apparatus, baseboard management controller, and storage medium (BMC) that can be used to manage PCIe devices. The BMC can send a first command to at least one PCIe device connected to it via the PCIe bus. The first command can be used to obtain first information from the PCIe device, namely the status information of each port on the PCIe device. After the PCIe device has prepared data, the BMC can receive the first information and / or second information sent by at least one PCIe device via the PCIe bus. The first information is sent by the device in response to the first command, and the second information is the status information of the PCIe device. Based on the first and / or second information sent by each PCIe device, a corresponding second command can be generated, and each second command can be sent to the corresponding PCIe device via the I2C bus to guide the PCIe device to adjust its parameters. In this way, the BMC can manage PCIe devices using both the PCIe bus and the I2C bus simultaneously. After sending the first command via the PCIe bus, the BMC does not need to wait but can continue to execute other tasks and receive data information sent by the PCIe device via the I2C bus, which improves the management efficiency of PCIe devices and enhances the overall performance of the server.
[0053] In one specific embodiment, Figure 3 This application provides a specific interactive flowchart of a device management method according to an embodiment of the present application. Figure 3 As shown, it includes the following steps: In step S301, the BMC generates a first command every first time interval and sends the first command to at least one PCIe device via the PCIe bus.
[0054] In step S302, the PCIe device receives the first command sent by the BMC through the PCIe bus and responds to the first command to obtain the first information.
[0055] In step S303, the PCIe device sends the first information to the BMC via the PCIe bus, and sends the second information to the BMC via the PCIe bus every second time interval.
[0056] In step S304, the BMC receives first information and / or second information sent by at least one PCIe device via the PCIe bus.
[0057] In step S305, the BMC generates a second command to change the state of the target port, which is in the first state, to the second state, based on the first information including the port state of each port on the PCIe device.
[0058] In step S306, the BMC generates a second command to instruct the PCIe device to repair the port error of the target port based on the first information, including the target port error report.
[0059] In step S307, the BMC generates a second command, based on the first information including the target port request response status, instructing the target port to re-execute the request whose response status is a failure.
[0060] In step S308, the BMC sends each second command to the corresponding PCIe device via the I2C bus.
[0061] In step S309, the BMC responds to the device update command, obtains the update package contained in the update command, and if the update package is incompatible with the target PCIe device, displays the first prompt message; if the update package is compatible with the target PCIe device, the update package is sent to the target PCIe device through the PCIe bus and the second prompt message is displayed.
[0062] In step S310, the PCIe device receives the second command sent by the BMC via the I2C bus and adjusts the parameters based on the second command.
[0063] In step S311, after a fault occurs, the PCIe device transmits a third command to the BMC via the I2C bus to obtain a set number of target second commands that were executed before the fault occurred, and adjusts the target parameters to the values of the target parameters at any time before the execution of the target second commands.
[0064] Based on the same inventive concept, this application also provides a device management apparatus that can be applied to a BMC, such as... Figure 4 As shown, the device management device 400 may include: The first command sending unit 401 is configured to generate a first command every first time interval and send the first command to at least one PCIe device via the PCIe bus; the first command is used to obtain first information of the PCIe device; the first information is the status information of each port on the PCIe device. The information receiving unit 402 is configured to receive first information and / or second information sent by at least one PCIe device via the PCIe bus; the first information is sent by the PCIe device in response to the first command; the second information is the status information of the PCIe device. The second command sending unit 403 is used to generate a corresponding second command based on the first information and / or the second information sent by each PCIe device, and send each second command to the corresponding PCIe device through the I2C bus; each second command is used to instruct the corresponding PCIe device to adjust parameters.
[0065] In one possible implementation, the second command sending unit 403 is specifically configured to, if the first information sent by the PCIe device includes the port status of each port on the PCIe device, and the port status of the target port is a first state, then the second command includes changing the state of the target port to a second state; the target port is any port on the PCIe device. If the first information sent by the PCIe device includes a target port error report for the target port, then the second command is generated based on the target port error report; the second command is used to instruct the PCIe device to repair the port error of the target port. If the first information sent by the PCIe device includes the target port request response status of the target port, and the target port request response status is a failure, then the second command is to re-execute the request corresponding to the target port request response status. If the second information sent by the PCIe device is greater than a preset threshold, then the second command includes reducing the operating power of the PCIe device.
[0066] In one possible implementation, the second command sending unit 403 can also be used to respond to a device update command and obtain the update package contained in the update command; If the update package is incompatible with the target PCIe device, a first prompt message is displayed; the first prompt message is used to prompt the device update command to stop responding; the target PCIe device is the PCIe device corresponding to the device identifier contained in the device update command; If the update package is compatible with the target PCIe device, the update package is sent to the target PCIe device via the PCIe bus, and a second prompt message is displayed when the first command sent by the target PCIe device is received after the update package is sent; the second prompt message is used to prompt the device to complete the update command response.
[0067] Based on the same inventive concept, this application also provides a device management apparatus that can be applied to PCIe devices, such as... Figure 5 As shown, the device management device 500 may include: The first command receiving unit 501 is used to receive a first command sent by the BMC through the PCIe bus, and to respond to the first command to obtain first information; the first information is the status information of each port on the PCIe device. The information sending unit 502 is used to send the first information to the BMC via the PCIe bus, and to send the second information to the BMC via the PCIe bus every second time interval; the second information is the status information of the PCIe device. The second command receiving unit 503 is used to receive a second command sent by the BMC via the I2C bus and adjust parameters based on the second command; the second command is generated by the BMC based on the first information and / or the second information sent by the PCIe device.
[0068] In one possible implementation, the second command receiving unit 503 can also be used to transmit a third command to the BMC via the I2C bus if the PCIe device malfunctions; the third command is used to instruct the BMC to suspend sending the second command. Obtain a predetermined number of target second commands that were executed before a failure occurred, and adjust the target parameters to the values of the target parameters at any time before the execution of the target second commands; the target parameters include the parameters that were adjusted according to each of the target second commands.
[0069] Based on the same inventive concept, this application provides a BMC that can implement the functions of the device management method described above. Please refer to... Figure 6 The BMC600 includes a memory 601, a processor 602, and a bus 603.
[0070] The memory 601 is used to store computer programs executed by the processor 602. The memory 601 may mainly include a program storage area and a data storage area. The program storage area may store the operating system and programs required to run instant messaging functions, etc.; the data storage area may store various instant messaging information and operation instruction sets, etc.
[0071] Memory 601 may be volatile memory, such as random-access memory (RAM); memory 601 may also be non-volatile memory, such as read-only memory, flash memory, hard disk drive (HDD), or solid-state drive (SSD); or memory 601 may be any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. Memory 601 may be a combination of the above-mentioned memories.
[0072] The processor 602 may include one or more central processing units (CPUs) or digital processing units, etc. The processor 602 is used to implement the device management method described above when it invokes a computer program stored in the memory 601.
[0073] This application embodiment does not limit the specific connection medium between the memory 601 and the processor 602 described above. This application embodiment... Figure 6 The memory 601 and the processor 602 are connected via a bus 603, and the bus 603 is in Figure 6 The connections between other components are indicated by thick lines and are for illustrative purposes only, not as limiting information. The 603 bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 6 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0074] Based on the same inventive concept, this application provides a PCIe device that can implement the functions of the device management method described above. Please refer to... Figure 7 The PCIe device 700 includes a memory 701, a processor 702, and a bus 703.
[0075] The memory 701 is used to store computer programs executed by the processor 702. The memory 701 may mainly include a program storage area and a data storage area. The program storage area may store the operating system and programs required to run instant messaging functions, etc.; the data storage area may store various instant messaging information and operation instruction sets, etc.
[0076] Memory 701 may be volatile memory, such as random-access memory (RAM); memory 701 may also be non-volatile memory, such as read-only memory, flash memory, hard disk drive (HDD), or solid-state drive (SSD); or memory 701 may be any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. Memory 701 may be a combination of the above-mentioned memories.
[0077] The processor 702 may include one or more central processing units (CPUs) or digital processing units, etc. The processor 702 is used to implement the device management method described above when it calls a computer program stored in the memory 701.
[0078] This application embodiment does not limit the specific connection medium between the memory 701 and the processor 702 described above. This application embodiment... Figure 7 The memory 701 and the processor 702 are connected via a bus 703, and the bus 703 is in Figure 7 The connections between other components are shown in bold lines only and are not intended to be limiting. The 703 bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 7 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0079] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium. The computer program product includes computer program code, which, when executed on a computer, causes the computer to perform any of the device management methods discussed above. Since the principle by which the computer-readable storage medium solves the problem is similar to that of the device management method, the implementation of the computer-readable storage medium can be found in the implementation of the method; repeated details will not be elaborated further.
[0080] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0081] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0082] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0083] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0084] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for managing equipment, characterized in that, Applications in the Baseboard Management Controller (BMC); The BMC is interconnected with at least one peripheral component via a fast-access PCIe device through a PCIe bus and an internal integrated circuit I2C bus; the method includes: A first command is generated at each first time interval and sent to at least one PCIe device via the PCIe bus; the first command is used to obtain first information of the PCIe device; the first information is the status information of each port on the PCIe device. The system receives first information and / or second information sent by at least one PCIe device via the PCIe bus; the first information is sent by the PCIe device in response to the first command; the second information is the status information of the PCIe device. A corresponding second command is generated based on the first information and / or the second information sent by each PCIe device, and each second command is sent to the corresponding PCIe device through the I2C bus; each second command is used to instruct the corresponding PCIe device to adjust parameters.
2. The method according to claim 1, characterized in that, The first information includes at least one or more of port status, port error reports, and port request response information; the step of generating a corresponding second command based on the first and / or second information sent by each PCIe device includes: If the first information sent by the PCIe device includes the port status of each port on the PCIe device, and the port status of the target port is a first state, then the second command includes changing the state of the target port to a second state; the target port is any port on the PCIe device. If the first information sent by the PCIe device includes a target port error report for the target port, then the second command is generated based on the target port error report; the second command is used to instruct the PCIe device to repair the port error of the target port. If the first information sent by the PCIe device includes the target port request response status of the target port, and the target port request response status is a failure, then the second command is to re-execute the request corresponding to the target port request response status. If the second information sent by the PCIe device is greater than a preset threshold, then the second command includes reducing the operating power of the PCIe device.
3. The method according to claim 1, characterized in that, After sending each of the second commands to the corresponding PCIe device via the I2C bus, the method further includes: Responding to a device update command, obtain the update package contained in the update command; If the update package is incompatible with the target PCIe device, a first prompt message is displayed; the first prompt message is used to prompt the device update command to stop responding; the target PCIe device is the PCIe device corresponding to the device identifier contained in the device update command; If the update package is compatible with the target PCIe device, the update package is sent to the target PCIe device via the PCIe bus, and a second prompt message is displayed when the first command sent by the target PCIe device is received after the update package is sent; the second prompt message is used to prompt the device to complete the update command response.
4. A method for managing equipment, characterized in that, Applicable to any peripheral component interconnection PCIe device; The PCIe device is connected to the Baseboard Management Controller (BMC) via a PCIe bus and an internal integrated circuit I2C bus; the method includes: The system receives a first command sent by the BMC via the PCIe bus and responds to the first command to obtain first information; the first information is the status information of each port on the PCIe device. The first information is sent to the BMC via the PCIe bus, and the second information is sent to the BMC via the PCIe bus every second time interval; the second information is the status information of the PCIe device. The BMC receives a second command sent via the I2C bus and adjusts parameters based on the second command; the second command is generated by the BMC based on the first and / or second information sent by the PCIe device.
5. The method according to claim 4, characterized in that, After adjusting the parameters based on the second command, the method further includes: If the PCIe device malfunctions, a third command is transmitted to the BMC via the I2C bus; the third command is used to instruct the BMC to suspend sending the second command. Obtain a predetermined number of target second commands that were executed before a failure occurred, and adjust the target parameters to the values of the target parameters at any time before the execution of the target second commands; the target parameters include the parameters that were adjusted according to each of the target second commands.
6. An equipment management device, characterized in that, The device includes: A first command sending unit is configured to generate a first command at each first time interval and send the first command to at least one PCIe device via the PCIe bus; the first command is used to obtain first information of the PCIe device; the first information is the status information of each port on the PCIe device. An information receiving unit is configured to receive first information and / or second information sent by at least one PCIe device via the PCIe bus; the first information is sent by the PCIe device in response to the first command; the second information is the status information of the PCIe device. The second command sending unit is used to generate a corresponding second command based on the first information and / or the second information sent by each PCIe device, and to send each second command to the corresponding PCIe device through the I2C bus; each second command is used to instruct the corresponding PCIe device to adjust parameters.
7. An equipment management device, characterized in that, The device includes: The first command receiving unit is configured to receive a first command sent by the BMC via the PCIe bus, and respond to the first command to obtain first information; the first information is the status information of each port on the PCIe device. An information sending unit is configured to send the first information to the BMC via the PCIe bus, and to send the second information to the BMC via the PCIe bus every second time interval; the second information is the status information of the PCIe device. The second command receiving unit is used to receive the second command sent by the BMC via the I2C bus and adjust the parameters based on the second command; the second command is generated by the BMC based on the first information and / or the second information sent by the PCIe device.
8. A BMC, characterized in that, include: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method according to any one of claims 1-3 in accordance with the obtained program instructions.
9. A PCIe device, characterized in that, include: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps included in the method of claim 4 or 5 according to the obtained program instructions.
10. A computer-readable storage medium storing a computer program therein, characterized in that: When the computer program is executed by a processor, it implements the method of any one of claims 1-3, or the method of claim 4 or 5.