Method, device and equipment for adjusting size of transmission unit of transmission protocol, and medium
By negotiating the transmission unit size between the storage controller and the management controller, and using the maximum load length of the communication bus, the problem of insufficient performance of the PCIe bus under the MCTP protocol binding communication bus is solved, and the performance of the RAID storage system is improved.
Patent Information
- Application Number
- CN202510580126.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-07-08
AI Technical Summary
Under the MCTP protocol bound communication bus, it is difficult for the RAID storage system to effectively utilize the high bandwidth characteristics of the PCIe bus, resulting in a degradation of performance.
Through the negotiation mechanism between the storage controller and the management controller, the transmission unit size is adjusted and the maximum load length of the communication bus is used to optimize the transmission performance.
It improves the communication bus bandwidth utilization rate of the RAID storage system, reduces the short subcontract processing frequency, and improves the system's packet processing performance and efficiency.
Smart Images

Figure CN120281724A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data transmission, and particularly to a method, device, equipment and medium for adjusting the transmission unit size of a transmission protocol. Background Art
[0002] In the field of storage systems, the development of RAID (Redundant Array of Independent Disks) technology has promoted the development of the entire industry. Users can form a RAID array by combining multiple hard disks to achieve larger storage capacity, higher performance, and sufficient security and fault tolerance. Among them, the RAID card is extremely important for the management of the entire RAID storage system. Its out-of-band management consists of two parts: BMC (Baseboard Mamagement Controller) and the BMC_Agent (agent program) module on the RAID card. The two bind the communication bus through the MCTP protocol (Management Component Transport Protocol) to perform message interaction, so as to manage functions such as the configuration distribution and alarm reporting of the RAID card. In the MCTP basic specification, it is stipulated that the baseline transmission unit size of the MCTP message is 64 bytes. Therefore, when information is exchanged, a message larger than 64 bytes needs to be split into the baseline transmission length size for transmission. In actual applications, in order to avoid packet loss caused by inconsistent baseline transmission lengths, all devices on the entire MCTP bus uniformly select 64 bytes as the baseline transmission unit size. However, in this case, it is difficult to exert the transmission performance of the communication bus. Especially for the PCIe bus (Peripheral Component Interconnect Express), the bound transmission of MCTP and PCIe cannot exert the high-bandwidth characteristics of the PCIe bus, and the RAID storage system needs to frequently process too many short sub-packets, affecting performance.
[0003] It can be seen that how to effectively utilize the transmission performance of the communication bus to improve the performance of the RAID storage system in the scenario of information interaction by binding the communication bus with the MCTP protocol is a problem that those skilled in the art need to solve. Summary of the Invention
[0004] The purpose of the embodiments of the present invention is to provide a method, device, equipment and medium for adjusting the transmission unit size of a transmission protocol, which can solve the problem of how to effectively utilize the transmission performance of the communication bus to improve the performance of the RAID storage system in the scenario of information interaction by binding the communication bus with the MCTP protocol.
[0005] To solve the above technical problems, an embodiment of the present invention provides a method for adjusting the transmission unit size of a transmission protocol, which is applied to a storage controller; a controller agent program for implementing communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus is running in the storage controller; the method includes:
[0006] Obtain, through the controller agent program, the first maximum payload length of the communication bus at the storage controller end;
[0007] Use the first maximum payload length as the requested recommended value of the transmission unit size, and generate a request message based on the current transmission unit size of the management component transmission protocol and the requested recommended value;
[0008] Send the request message to the management controller so that the management controller can determine whether the requested recommended value is feasible based on its own configuration information and generate a corresponding response message according to the determination result;
[0009] Receive the response message and adjust the transmission unit size of the management component transmission protocol based on the response message.
[0010] In some embodiments, the request message includes a command code; before obtaining, through the controller agent program, the first maximum payload length of the communication bus at the storage controller end, it further includes:
[0011] Pre-define, through the controller agent program, the command code corresponding to the adjustment command of the transmission unit size of the management component transmission protocol so that the management controller can identify the request message according to the command code.
[0012] In some embodiments, generating a request message based on the current transmission unit size of the management component transmission protocol and the requested recommended value includes:
[0013] Add, through the controller agent program, the current transmission unit size of the management component transmission protocol and the requested recommended value as request data;
[0014] Encapsulate the management component transmission protocol request after adding the request data using the communication bus encapsulation method corresponding to the communication bus to obtain the request message;
[0015] Sending the request message to the management controller includes:
[0016] Call the driver program and communication port corresponding to the communication bus to send the request message to the management controller.
[0017] In some embodiments, the response message includes the response processing result of the management controller and the adjustment value of the transmission unit size; the management controller determines whether the requested recommended value is feasible based on its own configuration information and generates a corresponding response message, including:
[0018] The management controller determines whether it supports the adjustment of the transmission unit based on the function configuration bit; wherein, the function configuration bit is a pre-configured flag bit indicating whether the management controller supports the modification of the transmission unit.
[0019] If it does not support the adjustment of the transmission unit, the rejected request suggested value is used as the response processing result, and the adjustment value is set to an invalid value.
[0020] If it supports the adjustment of the transmission unit, it is determined whether the request suggested value in the request message is less than the second maximum payload length of the communication bus at the management controller end.
[0021] If the request suggested value is less than the second maximum payload length, it is determined whether the request suggested value in the request message is less than the buffer size of the management controller.
[0022] If the request suggested value is less than the buffer size, the accepted request suggested value is used as the response processing result, and the adjustment value is set to the request suggested value.
[0023] If the request suggested value is not less than the second maximum payload length and / or the request suggested value is not less than the buffer size, a new suggestion is provided as the response processing result, and the adjustment value is set to the smaller value of the second maximum payload length and the buffer size.
[0024] In some embodiments, adjusting the transmission unit size of the management component transmission protocol based on the response message includes:
[0025] If the response processing result is the rejected request suggested value, the transmission unit size of the management component transmission protocol is maintained as the current transmission unit size through the controller agent program.
[0026] If the response processing result is the accepted request suggested value or a new suggestion is provided, the transmission unit size of the management component transmission protocol is adjusted from the current transmission unit size to the adjustment value through the controller agent program.
[0027] In some embodiments, the response message further includes a completion code; before adjusting the transmission unit size of the management component transmission protocol based on the response message, it further includes:
[0028] The completion code in the response message is identified through the controller agent program to determine whether the management controller has successfully executed the request corresponding to the request message.
[0029] If so, it jumps to the step of adjusting the transmission unit size of the management component transmission protocol based on the response message.
[0030] To solve the above technical problems, an embodiment of the present invention further provides a method for adjusting the transmission unit size of a transmission protocol, which is applied to a management controller. The management controller communicates with a storage controller through a controller agent program running in the storage controller. The controller agent program is used to implement communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus. The method includes:
[0031] Receiving a request message sent by the storage controller through the controller agent program; the request message includes the current transmission unit size of the management component transmission protocol and a request suggestion value; wherein, the request suggestion value is the first maximum payload length of the communication bus at the controller agent side;
[0032] Judging whether the request suggestion value is feasible based on the configuration information of the management controller;
[0033] Generating a corresponding response message according to the judgment result of whether the request suggestion value is feasible, so that the storage controller adjusts the transmission unit size of the management component transmission protocol based on the response message.
[0034] To solve the above technical problems, an embodiment of the present invention further provides a device for adjusting the transmission unit size of a transmission protocol, which is applied to a storage controller; a controller agent program for implementing communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus runs in the storage controller. The device includes:
[0035] A request suggestion value acquisition unit, configured to acquire the first maximum payload length of the communication bus at the storage controller side through the controller agent program;
[0036] A request message generation unit, configured to use the first maximum payload length as the request suggestion value of the transmission unit size, and generate a request message based on the current transmission unit size of the management component transmission protocol and the request suggestion value;
[0037] A request message sending unit, configured to send the request message to the management controller, so that the management controller judges whether the request suggestion value is feasible based on its own configuration information, and generates a corresponding response message according to the judgment result;
[0038] A request message receiving unit, configured to receive the response message and adjust the transmission unit size of the management component transmission protocol based on the response message.
[0039] To solve the above technical problems, an embodiment of the present invention further provides an electronic device, including:
[0040] A memory, configured to store a computer program;
[0041] A processor, configured to execute the computer program to implement the steps of the method for adjusting the transmission unit size of the transmission protocol as described above.
[0042] To solve the above technical problems, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for adjusting the transmission unit size of the foregoing transmission protocol are implemented.
[0043] It can be seen from the above technical solution that the storage controller uses the first maximum payload length at its own end of the communication bus as the request suggestion value for the transmission unit size of the management component transmission protocol, and then negotiates with the management controller in the form of a request message through the controller proxy program. The management controller determines whether the request suggestion value is feasible according to its own configuration information, and the storage controller then adjusts the transmission unit size through the controller proxy program according to the response result of the management controller; the beneficial effect of the present invention is to implement a mechanism for negotiating the baseline transmission length between endpoints, and at the same time adjust the transmission unit size according to the maximum payload length corresponding to the communication bus, thereby effectively utilizing the high-bandwidth characteristics of the communication bus and improving the performance of the storage controller and the entire storage system in processing messages. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] To more clearly illustrate the embodiments of the present invention, the following will briefly introduce the drawings required for the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0045] Figure 1 It is a schematic flowchart of a method for adjusting the transmission unit size of a transmission protocol provided by an embodiment of the present invention;
[0046] Figure 2 It is a schematic diagram of the management architecture of a RAID card provided by an embodiment of the present invention;
[0047] Figure 3 It is a schematic diagram of information interaction during the adjustment of the transmission unit size of a transmission protocol provided by an embodiment of the present invention;
[0048] Figure 4 It is a schematic flowchart of the processing process of the storage controller during the adjustment of the transmission unit size of a transmission protocol provided by an embodiment of the present invention;
[0049] Figure 5 It is a schematic flowchart of the processing process of the management controller during the adjustment of the transmission unit size of a transmission protocol provided by an embodiment of the present invention;
[0050] Figure 6 It is a schematic diagram of the structure of a device for adjusting the transmission unit size of a transmission protocol provided by an embodiment of the present invention;
[0051] Figure 7 The structural schematic diagram of an electronic device provided by an embodiment of the present invention. Specific embodiments
[0052] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0053] The terms "include" and "have" in the specification of the present invention and the above-mentioned accompanying drawings, as well as any variations related to "include" and "have", 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 limited to the listed steps or units, but may include steps or units not listed.
[0054] In order to enable those in the technical field to better understand the solution of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
[0055] Next, a method for adjusting the transmission unit size of a transmission protocol provided by an embodiment of the present invention will be introduced in detail. The method is applied to a storage controller; a controller agent program for implementing communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus is running in the storage controller. Refer to Figure 1 as shown Figure 1 is a flowchart of a method for adjusting the transmission unit size of a transmission protocol provided by an embodiment of the present invention; the method for adjusting the transmission unit size of the transmission protocol includes:
[0056] S11: Obtain the first maximum payload length of the communication bus at the storage controller end through the controller agent program.
[0057] In order to give full play to the transmission performance of the communication bus, when adjusting the size of the transmission unit, the upper limit of the data volume that the communication bus can transmit is considered first. Therefore, the storage controller directly obtains the maximum payload length of the communication bus first. At the same time, since the communication bus is connected to the storage controller and the management controller through two different communication ports respectively, the maximum payload lengths at both ends of the communication bus may be inconsistent. Therefore, what the storage controller obtains is the first maximum payload length of the communication bus at the storage controller end. The present application does not make special limitations on the obtaining method of the first maximum payload length, etc. It can be directly obtained through the device manual of the communication port, or through commands for viewing information. For example, the ifconfig or ip link commands, etc.
[0058] S12: Use the first maximum payload length as the requested recommended value for the transmission unit size, and generate a request message based on the current transmission unit size of the management component transmission protocol and the requested recommended value.
[0059] It is not difficult to understand that after obtaining the first maximum payload length, the storage controller needs to negotiate with the management controller through the controller proxy program to adjust the transmission unit size. Therefore, the first maximum payload length can be used as the requested recommended value for the transmission unit size. At the same time, in order to facilitate the management controller to know the current transmission status of the storage controller, it is also necessary to send the current transmission unit size when the storage controller communicates through the controller proxy program to the management controller. Finally, these two pieces of data, the current transmission unit size and the requested recommended value, are assembled into the request message. The method for obtaining the current transmission unit size and the like are not particularly limited in this application. Generally speaking, the current transmission unit size will be used as a global variable of the storage controller. When it needs to communicate with the management controller through the controller proxy program, it first determines the current transmission unit size from this global variable, and then assembles the MCTP message according to the current transmission unit size. Therefore, the current transmission unit size can be obtained by accessing the global variable.
[0060] S13: Send the request message to the management controller so that the management controller can judge whether the requested recommended value is feasible based on its own configuration information and generate a corresponding response message according to the judgment result.
[0061] It can be understood that after the request message is assembled, the storage controller can send the request message to the management controller through the controller proxy program. After receiving the request message, the management controller parses the request message to obtain the requested recommended value, and then confirms whether the requested recommended value is feasible according to its own configuration information, and assembles the processing result of whether it is feasible into the response message and returns it to the storage controller. The configuration information of the management controller includes the custom function configuration bits, the second maximum payload length of the communication bus at the management controller end, and the buffer size of the management controller. The management controller judges whether it can effectively receive the message with the requested recommended value as the transmission unit size according to the configuration information and gives the corresponding response result, so as to realize the negotiation between the storage controller and the management controller at both ends.
[0062] S14: Receive the response message and adjust the transmission unit size of the management component transmission protocol based on the response message.
[0063] It is not difficult to understand that after the storage controller receives the response message through the controller agent program, it can parse the response message to obtain the response result of the management controller, and perform the corresponding operation of adjusting the transmission unit size, updating the current transmission unit size to the adjusted value. Through the settings of the request message and the response message, the negotiation between the storage controller and the management controller is realized, ensuring that the adjusted transmission unit size can be effectively applied to the storage controller and the management controller, and guaranteeing the complete transmission of data information during formal communication transmission.
[0064] It should be noted that the entire process of adjusting the transmission unit size is mainly for the transmission unit size during the communication between the storage controller and the management controller. Since the storage controller establishes a communication connection with the management controller through the controller agent program, when the storage controller realizes the entire process of adjusting the transmission unit size, it is all achieved through the controller agent program, that is, steps S11 to S14 are all executed by the storage controller through the controller agent program. The specific types and implementation methods of the storage controller, the management controller, and the controller agent program are not particularly limited in this application. When applied in a RAID system, the storage controller uses a RAID card, the management controller uses a BMC (Baseboard Management Controller), and the controller agent program correspondingly uses BMC_Agent. The specific type and implementation method of the communication bus are not particularly limited in this application, and it can be implemented by means of a PCIE (Peripheral Component Interconnect Express) bus, etc.
[0065] See Figure 2 as shown Figure 2 is a schematic diagram of the management architecture of a RAID card provided by an embodiment of the present invention; when the storage controller RAID card needs to communicate with the management controller BMC, it determines the current transmission unit size from the global variable, that is, the transmission unit size of the message, and then assembles the data to be communicated into the message, encapsulating and generating an MCTP message with a size of the current transmission unit size, and calling the corresponding communication bus driver to transmit the MCTP size to the management controller BMC. As Figure 2 shown, the RAID card communicates with the management controller BMC in the form of an MCTP Over PCIe message through the controller agent program BMC_Agent. The PCIe driver and the MCTP PCIe protocol stack are built in the controller agent program BMC_Agent to support communication. At the same time, the controller agent program BMC_Agent communicates with other service modules in the RAID card through an internal channel.
[0066] The present invention proposes a control method for adjusting the baseline transmission length of MCTP. In the control message of MCTP, a negotiation command for the transmission unit size based on the PCIe bus, Set Transmission Unit Size, is newly added. During the MCTP initialization and link establishment process, the BMC_Agent sends a request message corresponding to this command to the BMC for negotiation. The request message carries the maximum payload length of the PCIe at the RAID card end as the recommended value for the transmission unit size. The BMC combines the local situation, including the buffer size, the maximum payload length of the PCIe, etc., to judge and process this recommended value, including response results such as whether to adopt / reject / have a new recommended value, etc. The BMC_Agent then modifies its own transmission unit size and baseline transmission length according to the response result of the corresponding BMC. In this way, the negotiation process is completed at both ends, and subsequent service messages will be exchanged according to the new transmission unit size.
[0067] See Figure 3 as shown in Figure 3 FIG. is an information interaction diagram when adjusting the transmission unit size of a transmission protocol provided by an embodiment of the present invention; in some embodiments, before obtaining the first maximum payload length of the communication bus at the storage controller end through the controller agent program, it further includes:
[0068] The management controller sends a discovery request to the storage controller to instruct the storage controller to construct a discovery response based on its own status information and device information;
[0069] The management controller receives the discovery response and allocates an endpoint identifier for the storage controller based on the discovery response, so as to communicate with the storage controller based on the endpoint identifier.
[0070] It is not difficult to understand that the process of adjusting the transmission unit size of the management component transmission protocol needs to be completed after the link establishment between the management controller and the storage controller. Therefore, it is first necessary to establish a communication connection between the management controller and the storage controller. The link establishment between the management controller and the storage controller specifically includes the following steps: After the RAID card of the storage controller is started, the BMC_Agent module in the controller agent program starts to perform initialization actions. Since a management controller may be connected to multiple storage controllers at the same time and communicate with different storage controllers through the controller agent programs in different storage controllers, the management controller needs to allocate an endpoint identifier for the storage controller during initialization to facilitate the management controller to determine which storage controller is communicating with itself when receiving messages.
[0071] First, the BMC_Agent module of the controller agent initializes and adapts the PCIe driver inside itself, and performs operations such as hardware resource allocation and driver adaptation. After the storage controller RAID card in the server starts, it will recognize PCIe devices such as the connected RAID card, and then allocate a BDF identifier (Bus Device Function, i.e., bus device function identifier) of the link layer for the RAID card through system enumeration. After the RAID card obtains its own BDF identifier through system enumeration, then the controller agent program BMC_Agent, as a PCIe Endpoint, manages the controller BMC as an MCTP Bus Owner. The management controller BMC and the storage controller RAID card interact according to the discover process specified by the specification (such as the MCTP PCIe VDM Transport Binding Specification). After the discover process is completed, the storage controller or the controller agent program BMC Agent is allocated an EID (End point Identifier) of the protocol layer as an MCTP device. Subsequently, the management controller BMC and the storage controller RAID card can identify the device through this EID, so that they can communicate normally through messages using the MCTP protocol. By default, the storage controller and the management controller still use a baseline transmission length of 64 bytes as the transmission unit size for communication. After the discover process is completed, the storage controller can initiate a request message to negotiate the transmission unit size. After negotiating a new transmission unit size, subsequent message interactions will be based on this value, that is, the newly negotiated value. As Figure 3 shown, first the BMC initiates a Set EID Request for EID allocation, and then the BMC Agent in the storage controller responds with a Set EID Response for EID setting. After the discover process is completed, the BMC Agent in the storage controller then initiates a Set TransmissonUnit Size Request for negotiation, and the management controller returns a corresponding Set Transmisson Unit SizeResponse for negotiation.
[0072] See Figure 4 shown Figure 4Schematic diagram of the processing flow of the storage controller when adjusting the transmission unit size of a transmission protocol provided by an embodiment of the present invention; the controller agent program BMC_Agent in the storage controller first obtains the value of the first maximum payload length Max Playload Size of the local PCIe, fills this value and the current transmission unit size into the payload of the MCTP message in the request message format specified by the SetTransmission Unit Size command, then encapsulates it into a message in the MCTP Over PCIe protocol format, and sends it to the BMC through the PCIe driver send interface; after the BMC processes this command, it encapsulates a response message and sends it back to the BMC_Agent. If the response result in the response message is the rejection request suggestion value rejection(01h), the BMC_Agent keeps the current transmission unit size unchanged. If the response result in the response message is the acceptance request suggestion value acceptance(00h) or the provided new suggestion suggestive value(02h), the BMC_Agent updates the current transmission unit size to the adjusted value new transmission unit size. Subsequent service messages are interacted according to this transmission unit size.
[0073] The present invention proposes a negotiation mechanism for adjusting the baseline transmission length of MCTP, that is, the transmission unit size, according to the maximum payload length of the PCIe bus. The size of the maximum payload length of the PCIe bus is used as the suggested value of the transmission unit size, and the negotiation between the storage controller and the management controller is achieved by adding a Set Transmission Unit Size command in the initialization stage of MCTP link establishment. By negotiating a larger transmission unit size, the bandwidth utilization rate of the communication bus can be significantly improved, the high-bandwidth characteristics of the PCIe bus can be effectively utilized, the message interaction volume between the controller agent program in the storage controller and the management controller can be reduced, and thus the performance and efficiency of the RAID system for processing messages can be improved.
[0074] In some embodiments, the request message includes a command code; before obtaining the first maximum payload length of the communication bus at the storage controller end through the controller agent program, it further includes:
[0075] The controller agent program predefines the command code corresponding to the command for adjusting the transmission unit size of the management component transmission protocol, so that the management controller can identify the request message according to the command code.
[0076] It is not difficult to understand that the adjustment and negotiation of the transmission unit size proposed by the present invention is a new function between the management controller and the storage controller. Therefore, it is necessary to complete the negotiation by setting the command code in advance in the form of a command. Considering that the discover process ends with the completion of the Set Endpoint ID (EID) command interaction, after detecting the completion of the Set Endpoint ID command interaction, a Set Transmission Unit Size command is added to the controller agent program. This command is specifically used to negotiate the transmission unit size between the storage controller and the management controller, and a command code, such as Command code 0xF0, is defined for it. When the storage controller sends a request message, the command code is sent to the management controller as part of the message information. The management controller can determine the intention of this request message to be the negotiation of the transmission unit size by parsing this command code, and thus take corresponding processing measures. The specific implementation method of the command code and the like are not particularly limited in this application.
[0077] Specifically, by adding a setting command and the corresponding command code, the management controller can accurately and effectively automatically execute the negotiation operation of the transmission unit size through the command code, so as to generate a response message corresponding to the request message.
[0078] In some embodiments, generating a request message based on the current transmission unit size of the management component transmission protocol and the request suggested value includes:
[0079] Adding the current transmission unit size of the management component transmission protocol and the request suggested value as request data through the controller agent program;
[0080] Encapsulating the management component transmission protocol request after adding the request data by using the communication bus encapsulation method corresponding to the communication bus to obtain a request message;
[0081] Sending the request message to the management controller includes:
[0082] Invoking the driver and communication port corresponding to the communication bus to send the request message to the management controller.
[0083] It can be understood that the controller agent in the storage controller needs to implement the communication between the storage controller and the management controller through the management component transfer protocol and the communication bus. Therefore, the current transfer unit size and the request suggestion value that the storage controller needs to send to the management controller will be used as the request data in the request message. The controller agent in the storage controller needs to assemble and generate a request message with a size of the current transfer unit size using the corresponding encapsulation method, so that the request message can be carried on the communication bus for transmission, and then call the corresponding driver and communication port to send the request message. The specific types and implementation methods of the communication bus encapsulation method, driver, and communication port are not particularly limited in this application and need to be selected according to the specific type of the communication bus. For example, when the communication bus is a PCIe bus, the communication bus encapsulation method is the PCIe encapsulation method, the driver selects the corresponding PCIe driver, and the communication port selects the corresponding PCIe port.
[0084] Specifically, only by using the communication bus encapsulation method to encapsulate and generate the request message can the high-speed and reliable characteristics of the communication bus be effectively utilized to implement the communication between the management controller and the storage controller based on the MCTP protocol. At the same time, by calling the corresponding driver and communication port to implement the sending of the request message, the efficiency and reliability of the message transmission are effectively guaranteed.
[0085] See Figure 5 as shown in Figure 5 is a schematic diagram of the processing flow of the management controller when adjusting the transfer unit size of a transmission protocol provided by an embodiment of the present invention; in some embodiments, the response message includes the response processing result of the management controller and the adjustment value of the transfer unit size; the management controller judges whether the request suggestion value is feasible based on its own configuration information, and generates a corresponding response message according to the judgment result, including:
[0086] The management controller judges whether the management controller supports the adjustment of the transfer unit based on the function configuration bit; wherein, the function configuration bit is a pre-configured flag bit indicating whether the management controller supports the modification of the transfer unit;
[0087] If the adjustment of the transfer unit is not supported, the rejection of the request suggestion value is used as the response processing result, and the adjustment value is set to an invalid value;
[0088] If the adjustment of the transfer unit is supported, it is judged whether the request suggestion value in the request message is less than the second maximum payload length of the communication bus at the management controller end;
[0089] If the request suggestion value is less than the second maximum payload length, it is judged whether the request suggestion value in the request message is less than the buffer size of the management controller;
[0090] If the requested suggested value is less than the buffer size, the requested suggested value will be accepted as the response processing result, and the adjustment value will be set to the requested suggested value;
[0091] If the requested suggested value is not less than the second maximum payload length and / or the requested suggested value is not less than the buffer size, a new suggestion will be provided as the response processing result, and the adjustment value will be set to the smaller value of the second maximum payload length and the buffer size.
[0092] It is not difficult to understand that after the management controller BMC receives the request message corresponding to the Set Transmission Unit Size request command sent by the controller agent BMC_Agent in the storage controller, it parses the requested suggested value suggestive transmission unit size carried in the request message. The management controller BMC obtains the second maximum payload length Max Payload Size value of its local communication bus, such as the PCIe bus, and the size of the buffer (buffer) for the management controller BMC to receive a single message, and compares these two values with the requested suggested value in the request message. If both are not less than the requested suggested value, the requested suggested value is accepted, the response result is filled with the acceptance of the requested suggested value acceptance(00h), and the transmission unit size of the local end, that is, the management controller end, is updated. Specifically, the transmission unit size of the local end can be updated by updating the global variable used to represent the message transmission unit size in the management controller; otherwise, the smaller value of the second maximum payload length and the buffer size is selected as the new suggested value, the response result is filled with the provision of a new suggestion suggestive value(02h), and the transmission unit size of the local end, that is, the management controller end, is updated; if the management controller BMC cannot accept the modification due to factors such as application scenarios or functional limitations and can only reject the modification, the response result is filled with the rejection of the requested suggested value rejection(01h).
[0093] It should be noted that in some special cases, the management controller may not be able to accept modifications due to factors such as device limitations, application scenarios, or function limitations, and can only reject the modifications. Therefore, it is also necessary to pre-configure function configuration bits for the management controller, and use the function configuration bits to define whether the management controller supports the modification of the transmission unit size. The specific type and implementation method of the function configuration bits are not particularly limited in this application, and a byte of 0 / 1 can be used to implement the configuration of whether to support the modification. The specific type and implementation method of the response processing result are not particularly limited in this application, and are not limited to the implementation method of distinguishing different response processing results by 01h, 00h, and 02h of two bytes provided in this embodiment. The specific implementation method of the invalid value is not particularly limited in this application, and can be implemented by using a null value or the like.
[0094] Specifically, the management controller can determine whether the requested recommended value of the transmission unit size in the request message can be effectively adapted to one end of the management controller according to its own function configuration bits, the second maximum payload length of the communication bus at the management controller end, and the buffer size of the management controller, so as to generate different response processing results, and fill in the adjustment value according to the different response processing results to inform the storage controller of the adjustment result of the transmission unit size.
[0095] In some embodiments, adjusting the transmission unit size of the management component transmission protocol based on the response message includes:
[0096] If the response processing result is to reject the requested recommended value, keep the transmission unit size of the management component transmission protocol as the current transmission unit size through the controller proxy program;
[0097] If the response processing result is to accept the requested recommended value or provide a new recommendation, adjust the transmission unit size of the management component transmission protocol from the current transmission unit size to the adjustment value through the controller proxy program.
[0098] It is understandable that after receiving the response message, the storage controller parses the response processing result and the adjustment value from the response message. If the response processing result is to reject the request suggestion value, the storage controller may not adjust the current transmission unit size at its end. If the response processing result is to accept the request suggestion value, the storage controller may adjust the transmission unit size of the management component transmission protocol from the current transmission unit size to the request suggestion value in the request message. If the response processing result is to provide a new suggestion, the storage controller may adjust the transmission unit size of the management component transmission protocol from the current transmission unit size to the latest suggestion value returned in the response message, that is, the smaller value between the second maximum payload length and the buffer size. The storage controller can adjust the transmission unit size of the management component transmission protocol by updating the global variable. Each time a message is sent for communication subsequently, the latest transmission unit size is obtained from the updated global variable, and the message is assembled based on the latest transmission unit size.
[0099] Specifically, after receiving the response message, the storage controller also updates the transmission unit size at its end according to the response processing result and the adjustment value therein, thereby completing the negotiation process of the entire transmission unit size adjustment. Both the storage controller and the management controller update the transmission unit size based on this adjustment value, so as to ensure the consistency of communication between the two ends.
[0100] In some embodiments, the response message further includes a completion code; before adjusting the transmission unit size of the management component transmission protocol based on the response message, it further includes:
[0101] Identifying the completion code in the response message through the controller agent program to determine whether the management controller has successfully executed the request corresponding to the request message;
[0102] If so, jump to the step of adjusting the transmission unit size of the management component transmission protocol based on the response message.
[0103] It is not difficult to understand that in order to ensure that the response message returned by the management controller is the response message returned after the management controller has made a normal response, a completion code can also be set in the response message. After the management controller has completed the judgment on whether the request suggestion value is feasible and generated the corresponding response processing result and the adjustment value of the transmission unit size, it generates a completion code and fills it into the response message. The storage controller can determine whether the management controller has executed the negotiation of the transmission unit size adjustment by identifying the completion code. The specific type and implementation method of the completion code are not particularly limited in this application.
[0104] Specifically, setting the completion code can clearly inform the storage controller of the execution result of the management controller's negotiation operation for the transmission unit size adjustment, and can also help the operator quickly find out the reason for the process error and repair it.
[0105] As a specific embodiment, the message format corresponding to the newly added Set Transmission Unit Size command is shown in Table 1, wherein Request data refers to the data part carried in the request message, Response data refers to the data part carried in the response message, Description refers to the data content contained in the message, and Byte is used to specify the number of bytes required for each part of the content. Current transmission unit size is the current transmission unit size of the management component transmission protocol obtained by the controller agent Bmc_Agent in the storage controller, and suggestive transmission unit size is the requested suggested value, that is, the actual maximum payload length of the local PCIe obtained by the storage controller, which is the negotiated suggested value. Completion Code is the completion code, that is, the result of the command processing by the management controller, which can be implemented by the value provided by the MCTP protocol. Accept response is the response processing result, that is, the result adopted by the management controller, 00h represents acceptance of the requested suggested value; 01h represents rejection of change; 02h represents providing a new suggested value. Current transmission unit size is the current transmission unit size of the management controller. New transmission unit size is the latest baseline transmission length adopted by the BMC, that is, the adjustment value. After the controller agent in the storage controller parses the value adopted by the management controller from the received response message, it updates its own transmission unit size according to the new transmission unit size value. This value must carry valid data in the case of non-rejection.
[0106] It should be noted that 1:2 in the byte refers to starting from the first byte to the second byte, that is, the first byte and the second byte. The meanings of similar annotations are consistent and will not be repeated in this application. Therefore, the data in the request message starts from the first bit, which is the current transmission unit size of two bytes and the request recommended value of two bytes. The data in the response message, the first byte is the completion code, the second byte is the response processing result, the third byte and the fourth byte are the current transmission unit size of the management controller, and the fifth byte and the sixth byte are the adjustment values.
[0107] Table 1 Message format diagram
[0108]
[0109] Further, considering that the sizes of the transmission units at both ends of the storage controller and the management controller preferably need to be consistent during the actual communication process, the response message returned by the management controller also includes the current transmission unit size at the management controller end. After the storage controller obtains the current transmission unit size at the management controller end by parsing the response message, it can compare the current transmission unit size at the management controller end with its own current transmission unit size to determine whether the two are consistent. If they are consistent, it means that the transmission unit sizes at both ends are the same and normal communication can be carried out; if they are inconsistent, the transmission unit sizes at both ends need to be saved to a preset location and printed out when an output instruction is received for the operator to troubleshoot faults. If the transmission unit size needs to be adjusted after negotiation, the two are compared after the transmission unit size is adjusted. The management controller also needs to fill the third byte and the fourth byte according to its updated transmission unit size before returning the response message. By comparing the transmission unit sizes at both ends, the consistency of the transmission unit sizes at both ends in actual communication is ensured, thereby ensuring the integrity of the transmitted data, facilitating the optimization of the transmission process, avoiding additional processing overhead caused by size mismatches, and improving the transmission efficiency.
[0110] The present invention utilizes the maximum payload length of the communication bus as a recommended value when adjusting the transmission unit size, so that the communication between the storage controller and the management controller at both ends can effectively utilize the characteristics of the high bandwidth of the communication bus, reducing the frequency of the system processing messages; in the MCTP initialization stage, the interaction process of establishing a link is increased, a new SetTransmission Unit Size command is added to negotiate and configure the transmission unit size, and the request and response formats and internal processing logics of this command are given, enabling both parties to complete the negotiation in a standardized manner.
[0111] To solve the above technical problems, an embodiment of the present invention also provides a method for adjusting the transmission unit size of a transmission protocol, which is applied to a management controller. The management controller communicates with the storage controller through a controller proxy program running in the storage controller. The controller proxy program is used to implement the communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus; the method includes:
[0112] Receiving a request message sent by the storage controller through the controller proxy program; the request message includes the current transmission unit size of the management component transmission protocol and a request recommended value; wherein, the request recommended value is the first maximum payload length of the communication bus at the controller proxy program end;
[0113] Judging whether the request recommended value is feasible based on the configuration information of the management controller;
[0114] Generate a corresponding response message according to the judgment result of whether the requested recommended value is feasible, so that the storage controller adjusts the transmission unit size of the management component transmission protocol based on the response message.
[0115] It is not difficult to understand that the process of adjusting the transmission unit size of the entire transmission protocol includes the following steps. First, in the initialization stage of the RAID card system, a new Set Transmission Unit Size command is added to negotiate and configure the transmission unit size, and the link establishment process is carried out; determine the recommended value carried in the initial request message according to the Max PayloadSize of the PCIe bus at the BMC_Agent end in the storage controller; at the same time, the formats of the request message and the response message are given. The request message includes the current transmission unit size of the BMC_Agent and the recommended value, and the response message includes the acceptance situation of the BMC, the current transmission unit size, and the effective transmission unit size; before the BMC_Agent sends the negotiation command, it needs to obtain the Max Payload Size of its own PCIe as the request data of the command; after receiving the BMC response data, the BMC_Agent processes it according to the parsed acceptance situation of the BMC. If it is rejection, the transmission unit size remains unchanged. If it is acceptance or a new recommended value (suggestive value), the transmission unit size of its own end is updated; after receiving the negotiation command, the BMC extracts the recommended value in the request data, compares it with the size of its own receiving buffer and the Max Payload Size of the PCIe, and selects the smaller value to update and use; if it does not agree to modify, it directly rejects. Subsequently, the response data is filled, including the acceptance situation, the current transmission unit size, and the effective transmission unit size, and sent back to the BMC_Agent.
[0116] For the description of the features in the method for adjusting the transmission unit size of a transmission protocol provided by the embodiments of the present invention, reference can be made to the relevant descriptions of the embodiments of the method for adjusting the transmission unit size of the foregoing transmission protocol, which will not be elaborated here one by one.
[0117] See Figure 6 as shown in Figure 6 is a schematic structural diagram of a device for adjusting the transmission unit size of a transmission protocol provided by an embodiment of the present invention; to solve the above technical problems, an embodiment of the present invention also provides a device for adjusting the transmission unit size of a transmission protocol, which is applied to a storage controller; a controller proxy program for realizing communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus runs in the storage controller; the device includes:
[0118] A request suggestion value acquisition unit 11, configured to obtain, through a controller agent program, a first maximum payload length of a communication bus at a storage controller side;
[0119] A request message generation unit 12, configured to use the first maximum payload length as a request suggestion value for a transmission unit size, and generate a request message based on a current transmission unit size of a management component transmission protocol and the request suggestion value;
[0120] A request message sending unit 13, configured to send the request message to a management controller, so that the management controller determines whether the request suggestion value is feasible based on its own configuration information, and generates a corresponding response message according to a judgment result;
[0121] A request message receiving unit 14, configured to receive the response message, and adjust a transmission unit size of the management component transmission protocol based on the response message.
[0122] In some embodiments, the request message includes a command code; the apparatus further includes:
[0123] A command code definition unit, configured to pre-define, through a controller agent program, a command code corresponding to an adjustment command for a transmission unit size of a management component transmission protocol, so that the management controller identifies the request message according to the command code.
[0124] In some embodiments, the request message generation unit 12 includes:
[0125] A data filling unit, configured to add, through a controller agent program, the current transmission unit size of the management component transmission protocol and the request suggestion value as request data;
[0126] An encapsulation unit, configured to encapsulate a management component transmission protocol request after adding the request data by using a communication bus encapsulation method corresponding to the communication bus, to obtain a request message;
[0127] The request message sending unit 13 includes:
[0128] A request message sending subunit, configured to call a driver and a communication port corresponding to the communication bus to send the request message to the management controller.
[0129] In some embodiments, the response message includes a response processing result of the management controller and an adjustment value of the transmission unit size; the management controller includes a response unit, and the response unit is configured to determine whether the request suggestion value is feasible based on its own configuration information, and generate a corresponding response message according to a judgment result; the response unit includes:
[0130] A first judgment unit, configured for the management controller to judge whether the management controller supports adjustment of a transmission unit based on a function configuration bit; wherein, the function configuration bit is a pre-configured flag bit indicating whether the management controller supports modification of a transmission unit;
[0131] A rejection unit, configured to, if the adjustment of the transmission unit is not supported, use the rejection request suggestion value as the response processing result and set the adjustment value to an invalid value;
[0132] A second determination unit, configured to, if the adjustment of the transmission unit is supported, determine whether the request suggestion value in the request message is less than the second maximum payload length of the communication bus at the management controller side;
[0133] A third determination unit, configured to, if the request suggestion value is less than the second maximum payload length, determine whether the request suggestion value in the request message is less than the buffer size of the management controller;
[0134] An acceptance unit, configured to, if the request suggestion value is less than the buffer size, use the acceptance request suggestion value as the response processing result and set the adjustment value to the request suggestion value;
[0135] A new suggestion providing unit, configured to, if the request suggestion value is not less than the second maximum payload length and / or the request suggestion value is not less than the buffer size, use providing a new suggestion as the response processing result and set the adjustment value to the smaller value of the second maximum payload length and the buffer size.
[0136] In some embodiments, the request message receiving unit 14 includes an adjustment unit, and the adjustment unit is configured to adjust the transmission unit size of the management component transmission protocol based on the response message. The adjustment unit includes:
[0137] A first adjustment subunit, configured to, if the response processing result is the rejection request suggestion value, keep the transmission unit size of the management component transmission protocol as the current transmission unit size through the controller proxy program;
[0138] A second adjustment subunit, configured to, if the response processing result is the acceptance request suggestion value or providing a new suggestion, adjust the transmission unit size of the management component transmission protocol from the current transmission unit size to the adjustment value through the controller proxy program.
[0139] In some embodiments, the response message further includes a completion code; the apparatus further includes:
[0140] A completion code identification unit, configured to identify the completion code in the response message through the controller proxy program to determine whether the management controller has successfully executed the request corresponding to the request message; if so, trigger the adjustment unit.
[0141] For the description of the features in the transmission unit size adjustment apparatus for the transmission protocol provided in the embodiments of the present invention, reference may be made to the relevant descriptions in the embodiments of the foregoing transmission unit size adjustment method for the transmission protocol, which will not be elaborated herein one by one.
[0142] See Figure 7 as shownFigure 7 The structural schematic diagram of an electronic device provided by an embodiment of the present invention. To solve the above technical problems, an embodiment of the present invention also provides an electronic device, including:
[0143] A memory 60 for storing a computer program;
[0144] A processor 61 for executing the computer program to implement the steps of the transmission unit size adjustment method of the transmission protocol as described above.
[0145] Among them, the processor 61 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 61 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), or programmable logic array (PLA). The processor 61 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the wake state, also known as the central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 61 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 61 may further include an artificial intelligence (AI) processor, and the AI processor is used to process computational operations related to machine learning.
[0146] The memory 60 may include one or more computer-readable storage media, and the computer-readable storage media may be non-transitory. The memory 60 may further include a high-speed random access memory and a non-volatile memory, such as one or more disk storage devices and flash storage devices. In this embodiment, the memory 60 is at least used to store the following computer program 601. After the computer program is loaded and executed by the processor 61, it can implement the relevant steps of the transmission unit size adjustment method of the transmission protocol disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 60 may further include an operating system 602 and data 603, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 602 may include Windows, Unix, Linux, etc. The data 603 may include, but is not limited to, data in the transmission unit size adjustment method of the transmission protocol.
[0147] In some embodiments, the electronic device may further include a display screen 62, an input / output interface 63, a communication interface 64, a power supply 65, and a communication bus 66.
[0148] Those skilled in the art can understand that Figure 7 the structure shown in does not constitute a limitation on the electronic device, and it may include more or fewer components than those shown in the figure.
[0149] For the description of the features in the electronic device provided by the embodiments of the present invention, reference can be made to the relevant descriptions of the embodiments of the method for adjusting the transmission unit size of the foregoing transmission protocol, which will not be elaborated here one by one.
[0150] It can be understood that if the method for adjusting the transmission unit size of the transmission protocol in the above embodiments is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the current technology, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods of the various embodiments of the present invention. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), electrically erasable programmable ROMs, registers, hard disks, removable disks, CD-ROMs, magnetic disks, or optical discs that can store program codes.
[0151] To solve the above technical problems, an embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for adjusting the transmission unit size of the foregoing transmission protocol are implemented.
[0152] For the description of the features in the computer-readable storage medium provided by the embodiments of the present invention, reference can be made to the relevant descriptions of the embodiments of the method for adjusting the transmission unit size of the foregoing transmission protocol, which will not be elaborated here one by one.
[0153] An embodiment of the present invention also provides a computer program product, including a computer program / instructions. When the computer program / instructions are executed by a processor, the steps of the method for verifying the routing of the network topology described in the above embodiments are implemented.
[0154] For the description of the features in the computer program product provided by the embodiments of the present invention, reference can be made to the relevant descriptions of the embodiments of the method for adjusting the transmission unit size of the transmission protocol, which will not be elaborated here one by one.
[0155] The above has introduced in detail a method, device, equipment and medium for adjusting the size of a transmission unit of a transmission protocol provided by an embodiment of the present invention. The various embodiments in the specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same or similar parts among the various embodiments, reference can be made to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple. For the relevant parts, reference can be made to the description in the method part.
[0156] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.
[0157] The above has introduced in detail a method, device, equipment and medium for adjusting the size of a transmission unit of a transmission protocol provided by the present invention. Specific examples are used herein to elaborate on the principle and implementation manner of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the present invention.
Claims
1. A method for adjusting the transmission unit size of a transmission protocol, characterized in that Applied to a storage controller; a controller agent program for implementing communication between the storage controller and a management controller based on a management component transfer protocol and a communication bus is running in the storage controller; the method includes: Obtain, through the controller agent program, a first maximum payload length of the communication bus at the storage controller end; Use the first maximum payload length as a request suggestion value for the transmission unit size, and generate a request message based on the current transmission unit size of the management component transfer protocol and the request suggestion value; Send the request message to the management controller so that the management controller determines whether the request suggestion value is feasible based on its own configuration information and generates a corresponding response message according to the determination result; Receive the response message and adjust the transmission unit size of the management component transfer protocol based on the response message.
2. The method for adjusting the transmission unit size of the transmission protocol according to claim 1, characterized in that, The request message includes a command code; Before obtaining, through the controller agent program, the first maximum payload length of the communication bus at the storage controller end, further includes: Pre-define, through the controller agent program, a command code corresponding to an adjustment command for the transmission unit size of the management component transfer protocol so that the management controller can identify the request message according to the command code.
3. The method for adjusting the transmission unit size of the transmission protocol according to claim 1, wherein Generating a request message based on the current transmission unit size of the management component transfer protocol and the request suggestion value includes: Add, through the controller agent program, the current transmission unit size of the management component transfer protocol and the request suggestion value as request data; Encapsulate the management component transfer protocol request after adding the request data using the communication bus encapsulation method corresponding to the communication bus to obtain a request message; Sending the request message to the management controller includes: Call the driver program and communication port corresponding to the communication bus to send the request message to the management controller.
4. The method for adjusting the transmission unit size of the transmission protocol according to any one of claims 1 to 3, characterized in that, The response message includes a response processing result of the management controller and an adjustment value of the transmission unit size; The management controller determines whether the request suggestion value is feasible based on its own configuration information and generates a corresponding response message according to the determination result, including: The management controller determines whether the management controller supports adjustment of the transmission unit based on a function configuration bit; wherein, the function configuration bit is a pre-configured flag bit indicating whether the management controller supports modification of the transmission unit; If it does not support adjustment of the transmission unit, use rejecting the request suggestion value as the response processing result and set the adjustment value to an invalid value; If it supports adjustment of the transmission unit, determine whether the request suggestion value in the request message is less than a second maximum payload length of the communication bus at the management controller end; If the request suggestion value is less than the second maximum payload length, determine whether the request suggestion value in the request message is less than the buffer size of the management controller; If the request suggestion value is less than the buffer size, use accepting the request suggestion value as the response processing result and set the adjustment value to the request suggestion value; If the request suggested value is not less than the second maximum payload length and / or the request suggested value is not less than the buffer size, a new suggestion will be provided as the response processing result, and the adjustment value will be set to the smaller value of the second maximum payload length and the buffer size.
5. The method for adjusting the transmission unit size of the transmission protocol according to claim 4, characterized in that Adjusting the transmission unit size of the management component transmission protocol based on the response message, including: If the response processing result is to reject the request suggested value, the controller proxy program keeps the transmission unit size of the management component transmission protocol as the current transmission unit size; If the response processing result is to accept the request suggested value or provide a new suggestion, the controller proxy program adjusts the transmission unit size of the management component transmission protocol from the current transmission unit size to the adjustment value.
6. The method for adjusting the transmission unit size of the transmission protocol according to claim 4, wherein The response message further includes a completion code; Before adjusting the transmission unit size of the management component transmission protocol based on the response message, it further includes: The controller proxy program identifies the completion code in the response message to determine whether the management controller has successfully executed the request corresponding to the request message; If so, jump to the step of adjusting the transmission unit size of the management component transmission protocol based on the response message.
7. A method for adjusting the transmission unit size of a transmission protocol, characterized in that, Applied to a management controller, the management controller communicates with the storage controller through a controller proxy program running in the storage controller, and the controller proxy program is used to implement communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus; the method includes: Receiving a request message sent by the storage controller through the controller proxy program; the request message includes the current transmission unit size of the management component transmission protocol and a request suggested value; wherein, the request suggested value is the first maximum payload length of the communication bus at the controller proxy program end; Judging whether the request suggested value is feasible based on the configuration information of the management controller; Generating a corresponding response message according to the judgment result of whether the request suggested value is feasible, so that the storage controller adjusts the transmission unit size of the management component transmission protocol based on the response message.
8. A transmission unit size adjustment device for a transmission protocol, characterized in that, Applied to a storage controller; a controller proxy program for implementing communication between the storage controller and the management controller based on the management component transmission protocol and the communication bus is running in the storage controller; the device includes: A request suggested value acquisition unit, configured to acquire the first maximum payload length of the communication bus at the storage controller end through the controller proxy program; A request message generation unit, configured to use the first maximum payload length as the request suggested value of the transmission unit size, and generate a request message based on the current transmission unit size of the management component transmission protocol and the request suggested value; A request message sending unit, configured to send the request message to the management controller, so that the management controller judges whether the request suggested value is feasible based on its own configuration information, and generates a corresponding response message according to the judgment result; A request message receiving unit, configured to receive a response message and adjust the transmission unit size of the management component transmission protocol based on the response message.
9. An electronic device, characterized in that, Comprising: A memory, configured to store a computer program; A processor, configured to execute the computer program to implement the steps of the method for adjusting the transmission unit size of the transmission protocol according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the method for adjusting the transmission unit size of the transmission protocol according to any one of claims 1 to 7 are implemented.