A signal transmission method and related components
Patent Information
- Application Number
- CN202310540335.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-11
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2043-05-11
AI Technical Summary
IPMI的核心是BMC(Baseboard Management Controller,基板管理控制器),主机对各个被管理硬件设备的监控都是通过BMC实现的,但是被管理硬件设备与主机之间若要传输数据则需要通过单独的通道实现,目前主机与被管理硬件设备通信通常采用两种方式:其一是采用例如LPC(LowPin Count Bus,精简引脚总线)的普通信道传输数据,另一种是采用带外信号传输数据,但是利用普通信道传输数据需要经历数据串并行转换和还原的过程,存在失真并且效率比较低;利用带外信号传输数据会占用主机的引脚以及外部信号线,布线成本比较高
[0038]In summary, this invention discloses a signal transmission method and related components. The master device receives data to be transmitted and sends the data to be transmitted to the slave device's universal input/output pins through its own universal input/output pins, so that the slave device can perform corresponding operations based on the data to be transmitted. This allows the master device and the slave device to share universal input/output pins, that is, the host in the server and the board management controller can share each other's universal input/output pins. When the host needs to communicate with the managed device, it can do so directly through the universal input/output pins connected to the board management controller, without the need to set up additional signal lines or perform data serial-to-parallel conversion and restoration, thereby improving data transmission efficiency and reducing wiring costs.
Smart Images

Figure CN116578514B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communications, and in particular to a signal transmission method and related components. Background Technology
[0002] Currently, IPMI (Intelligent Platform Management Interface) provides support for servers to monitor and manage the reliability of hardware devices. The core of IPMI is the BMC (Baseboard Management Controller). The host monitors each managed hardware device through the BMC. However, data transmission between the managed hardware device and the host requires a separate channel. Currently, communication between the host and managed hardware devices typically uses two methods: one is to use a standard channel such as LPC (Low Pin Count Bus) to transmit data, and the other is to use out-of-band signals. However, transmitting data using a standard channel requires parallel data conversion and restoration, resulting in distortion and low efficiency; transmitting data using out-of-band signals occupies host pins and external signal lines, leading to higher wiring costs. Summary of the Invention
[0003] The purpose of this invention is to provide a signal transmission method and related components. When the host needs to communicate with the managed device, it can be achieved directly through a general-purpose input / output pin connected to the baseboard management controller. No additional signal lines are required, nor is data serial-to-parallel conversion and restoration necessary, thereby improving data transmission efficiency and reducing wiring costs.
[0004] To address the aforementioned technical problems, this invention provides a signal transmission method applied to a processor on a master device. When the master device is a server (host), the slave device is a baseboard management controller; when the master device is the baseboard management controller, the slave device is the host. The general-purpose input / output pins of the master device are connected to the general-purpose input / output pins of the slave device. The signal transmission method includes:
[0005] Receive data to be transmitted;
[0006] The data to be transmitted is transmitted from the master device to the slave device via the master device's general-purpose input / output pins, so that the slave device can perform corresponding operations based on the data to be transmitted.
[0007] On the other hand, the data to be transmitted includes N bits of sub-data to be transmitted and N bits of status data used to represent whether each bit of the sub-data to be transmitted is valid. When the status data is at a first level, it indicates that the sub-data to be transmitted corresponding to the status data is valid. When the status data is at a second level opposite to the first level, it indicates that the sub-data to be transmitted corresponding to the status data is invalid. N is a positive integer.
[0008] After receiving the data to be transmitted, it also includes:
[0009] After determining that there is state data at the first level in the data to be transmitted, the process proceeds to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
[0010] On the other hand, the data to be transmitted also includes functional classification data for characterizing the functions of the sub-data to be transmitted;
[0011] The data to be transmitted is transmitted from the master device to the slave device via the master device's general-purpose input / output pins, so that the slave device can perform corresponding operations based on the data to be transmitted, including:
[0012] Both the functional classification data and the N bits of the sub-data to be transmitted are transmitted to the general-purpose input / output pins of the slave device through the general-purpose input / output pins of the master device, so that the slave device can determine the target type of the operation to be performed based on the functional classification data and perform the operation of the target type based on the N bits of the sub-data to be transmitted.
[0013] On the other hand, before transmitting the data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, the method further includes:
[0014] Determine whether the data to be transmitted needs to be transmitted to a remote device other than the host.
[0015] If so, the data to be transmitted is first stored in a designated register. After storage, the data to be transmitted is read from the designated register and the process proceeds to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
[0016] If not, proceed directly to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
[0017] On the other hand, if the master device is the baseboard management controller and the slave device is the host, after receiving the data to be transmitted, the system further includes:
[0018] After receiving all the data to be transmitted, a scheduling request is sent to the host so that the host can send a data reading instruction to the baseboard management controller.
[0019] Upon receiving the data read instruction, the process proceeds to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device via the general-purpose input / output pin of the master device.
[0020] On the other hand, when the number of groups of data to be transmitted received is greater than the number of groups of data transmitted by the master device through the general-purpose input / output pin, after receiving the data to be transmitted, the method further includes:
[0021] Each group of data to be transmitted is stored in a separate cache unit of the master device;
[0022] The data stored in a predetermined number of cache units after the starting cache unit is taken as the data to be transmitted, and the process proceeds to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
[0023] The last buffer unit that has completed the data transmission is taken as the new starting buffer unit, and the process proceeds to the step of taking the data stored in the preset number of buffer units after the starting buffer unit as the data to be transmitted.
[0024] On the other hand, the data stored in a predetermined number of cache units following the starting cache unit is used as the data to be transmitted, including:
[0025] The data stored in a predetermined number of update cache units located after the starting cache unit are used as the data to be transmitted, wherein the update cache unit is a cache unit in which the currently stored data has changed compared to the previously stored data.
[0026] On the other hand, after storing each group of data to be transmitted into the respective buffer units of the master device, the method further includes:
[0027] When it is determined that the operation corresponding to the data to be transmitted stored in the cache unit is a preset system-level operation, the data to be transmitted corresponding to the preset system-level operation is preferentially transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
[0028] To address the aforementioned technical problems, this application also provides a signal transmission system applied to a processor on a master device. When the master device is a server (host), the slave device is a baseboard management controller; when the master device is the baseboard management controller, the slave device is the host. The general-purpose input / output pins of the master device are connected to the general-purpose input / output pins of the slave device. The signal transmission system includes:
[0029] The data receiving unit is used to receive data to be transmitted.
[0030] The data transmission unit is used to transmit the data to be transmitted to the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, so that the slave device can perform corresponding operations based on the data to be transmitted.
[0031] To solve the above-mentioned technical problems, this application also provides a signal transmission device, including:
[0032] Memory, used to store computer programs;
[0033] A processor, used to implement any of the above signal transmission methods when executing the computer program.
[0034] To address the aforementioned technical problems, this application also provides a master device, including the aforementioned signal transmission apparatus.
[0035] To solve the above-mentioned technical problems, this application also provides a server, including the aforementioned master device, and a slave device whose general-purpose input / output pins are connected to the general-purpose input / output pins of the master device;
[0036] When the master device is the host, the slave device is the baseboard management controller; when the master device is the baseboard management controller, the slave device is the host.
[0037] To address the aforementioned technical problems, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of any of the above-described signal transmission methods.
[0038] In summary, this invention discloses a signal transmission method and related components. The master device receives data to be transmitted and sends the data to be transmitted to the slave device's universal input / output pins through its own universal input / output pins, so that the slave device can perform corresponding operations based on the data to be transmitted. This allows the master device and the slave device to share universal input / output pins, that is, the host in the server and the board management controller can share each other's universal input / output pins. When the host needs to communicate with the managed device, it can do so directly through the universal input / output pins connected to the board management controller, without the need to set up additional signal lines or perform data serial-to-parallel conversion and restoration, thereby improving data transmission efficiency and reducing wiring costs. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the prior art and embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0040] Figure 1 A flowchart of a signal transmission method provided by the present invention;
[0041] Figure 2 A schematic diagram of the structure of a server provided by the present invention;
[0042] Figure 3 This is a schematic diagram of a general input / output pin scheduling method provided by the present invention.
[0043] Figure 4 A schematic diagram of a signal transmission system provided by the present invention;
[0044] Figure 5 This is a schematic diagram of the structure of a signal transmission device provided by the present invention;
[0045] Figure 6 This is a schematic diagram of the structure of a computer-readable storage medium provided by the present invention. Detailed Implementation
[0046] The core of this invention is to provide a signal transmission method and related components. When the host needs to communicate with the managed device, it can be achieved directly through a general-purpose input / output pin connected to the baseboard management controller. No additional signal lines are required, nor is data serial-to-parallel conversion and restoration necessary, thereby improving data transmission efficiency and reducing wiring costs.
[0047] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0048] Please refer to Figure 1 , Figure 1 A flowchart of a signal transmission method provided by the present invention is shown. This signal transmission method is applied to a processor on a master device. When the master device is a server (host), the slave device is a baseboard management controller; when the master device is a baseboard management controller, the slave device is a host. The general-purpose input / output pins of the master device are connected to the general-purpose input / output pins of the slave device. The signal transmission method includes:
[0049] S1: Receive data to be transmitted;
[0050] S2: The data to be transmitted is transmitted from the master device to the slave device via the master device's general-purpose input / output pins, so that the slave device can perform corresponding operations based on the data to be transmitted.
[0051] To address the shortcomings of existing technologies, such as low transmission efficiency and the occupation of host pins and external signal lines during communication between the host and managed hardware devices, this application enables the host and the board management controller to share general-purpose input / output pins. Typically, the board management controller establishes a signal transmission channel with the managed hardware device beforehand to monitor it, and the host usually also establishes an interface between them to obtain monitoring information from the board management controller. Therefore, this application utilizes the signal transmission channel between the managed hardware device and the board management controller, as well as the interface between the host and the board management controller, to achieve the sharing of general-purpose input / output pins between the host and the board management controller. After the host and the board management controller share general-purpose input / output pins, the host can achieve bidirectional data transmission with the managed hardware device through the board management controller. This avoids the problems of distortion and inefficiency caused by using ordinary channels for data transmission, and also avoids the problems of high wiring costs caused by occupying host pins and external signal lines by using out-of-band signals for data transmission.
[0052] Specifically, the data transmission between the host and the baseboard management controller is bidirectional. Therefore, the signal transmission method provided in this application can be applied to both the host and the baseboard management controller. When the master device in this application is the host, the slave device is the baseboard management controller, and the data to be transmitted refers to the data that the host wants to send to the managed hardware device through the baseboard management controller. When the master device in this application is the baseboard management controller, the slave device is the host, and the data to be transmitted refers to the data that the managed device sends to the baseboard management controller to be transmitted to the host.
[0053] After the master device receives the data to be transmitted, it uses its own general-purpose input / output pins to send the data to the general-purpose input / output pins of the slave device, so that the slave device can receive the data and perform corresponding operations based on the data. The operations corresponding to the data to be transmitted typically include interrupt generation and general input / output functions, etc., which are not specifically limited in this application.
[0054] Please refer to Figure 2 , Figure 2 This is a schematic diagram of the structure of a server provided by the present invention. Figure 2 The baseboard management controller connects to the host computer via general-purpose input / output pins. All hardware devices connected to the baseboard management controller, except for the system interface, can be considered as the managed hardware devices. The functions of these managed hardware devices will not be described in detail in this application. Figure 2 As can be seen, each managed hardware device can send data to be transmitted to the host through the baseboard management controller, and the host can also send data to be transmitted to the managed hardware device through the baseboard management controller.
[0055] Furthermore, this application does not impose any particular limitation on the transmission protocol used between the host and the board management controller; for example, it can be the ESPI (Enhanced Serial Peripheral Interface) transmission protocol.
[0056] In summary, this invention provides a signal transmission method in which the master device receives data to be transmitted and sends the data to be transmitted to the universal input / output pins of the slave device through its own universal input / output pins, so that the slave device can perform corresponding operations based on the data to be transmitted. This method enables the master device and the slave device to share the universal input / output pins, that is, the host in the server and the board management controller can share each other's universal input / output pins. When the host needs to communicate with the managed device, it can do so directly through the universal input / output pins connected to the board management controller, without the need to set up additional signal lines or perform data serial-to-parallel conversion and restoration, thereby improving data transmission efficiency and reducing wiring costs.
[0057] Based on the above embodiments:
[0058] In some embodiments, the data to be transmitted includes N bits of sub-data to be transmitted and N bits of status data used to represent whether each bit of sub-data to be transmitted is valid. When the status data is at a first level, it indicates that the sub-data to be transmitted corresponding to the status data is valid. When the status data is at a second level opposite to the first level, it indicates that the sub-data to be transmitted corresponding to the status data is invalid. N is a positive integer.
[0059] After receiving the data to be transmitted, it also includes:
[0060] After determining that there is state data at the first level in the data to be transmitted, the step proceeds to transmit the data to be transmitted to the general-purpose input / output pins of the slave device through the general-purpose input / output pins of the master device.
[0061] In this embodiment, the data to be transmitted includes sub-data to be transmitted and status data, and the sub-data to be transmitted corresponds one-to-one with the status data. The status data is used to characterize whether the sub-data to be transmitted is valid. In this embodiment, when the status data is at a first level, it indicates that the sub-data to be transmitted is valid; when the status data is at a second level opposite to the first level, it indicates that the sub-data to be transmitted is invalid. To improve transmission efficiency, in this embodiment, after receiving the data to be transmitted, it is determined whether the data to be transmitted is valid based on the status data in the data to be transmitted. Only when the data to be transmitted is valid will it be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin.
[0062] Specifically, in this embodiment, if any state data in the data to be transmitted is at the first level, the data to be transmitted is considered valid; if all state data in the data to be transmitted is at the second level, the data to be transmitted is considered invalid. For example, the high four bits of the general-purpose input / output data of each group of data to be transmitted are state data, and the low four bits are the sub-data to be transmitted. The high four bits correspond to whether the low four bits are valid, and the low four bits represent the actual level to be transmitted. Assuming the first level is high, if bit[0] is 1 and bit[4] is 1, it means that the data corresponding to bit[0] is valid; if bit[0] is 1 and bit[4] is 0, the data corresponding to bit[0] is invalid, and bit[0] still maintains the previous level.
[0063] In summary, in this embodiment, the data to be transmitted includes status data and sub-data to be transmitted. The validity of the sub-data to be transmitted is determined by the status data, and only valid data to be transmitted is transmitted through general-purpose input / output pins, thereby improving the data transmission efficiency between the master device and the slave device.
[0064] In some embodiments, the data to be transmitted also includes functional classification data for characterizing the functions of the sub-data to be transmitted;
[0065] The data to be transmitted is transferred from the master device's general-purpose input / output pins to the slave device's general-purpose input / output pins, so that the slave device can perform corresponding operations based on the data to be transmitted, including:
[0066] Both the functional classification data and the N-bit sub-data to be transmitted are transmitted to the general-purpose input / output pins of the slave device through the general-purpose input / output pins of the master device, so that the slave device can determine the target type of the operation to be performed based on the functional classification data and perform the operation of the target type based on the N-bit sub-data to be transmitted.
[0067] In this embodiment, the data to be transmitted includes not only general-purpose input / output data (also known as GPIO data) consisting of status data and sub-data to be transmitted, but also functional classification data (also known as index data) used to characterize the function of the sub-data to be transmitted. For example, the functional classification data determines whether the sub-data to be transmitted is ordinary input / output data or special functional data such as an interrupt. Therefore, when the data to be transmitted specifically includes index data and general-purpose input / output data, and the general-purpose input / output data is further divided into status data and sub-data to be transmitted, the specific process of the active device transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through its own general-purpose input / output pin is as follows: after determining that the data to be transmitted is valid based on the status data, the functional classification data and the sub-data to be transmitted are transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device; after receiving the data, the slave device determines the target type of the operation to be performed based on the functional classification data, and then performs the operation of that target type based on the sub-data to be transmitted, such as executing an interrupt program.
[0068] In summary, in this embodiment, the data to be transmitted also includes functional classification data for characterizing the functions of the sub-data to be transmitted. Therefore, after receiving the sub-data to be transmitted from the end device, it can accurately determine what type of operation to perform.
[0069] In some embodiments, before transmitting the data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, the method further includes:
[0070] Determine whether the data to be transmitted needs to be sent to a remote device other than the host.
[0071] If so, first store the data to be transmitted in the designated register. After storage, read the data to be transmitted from the designated register and proceed to the step of transmitting the data to be transmitted to the general input / output pin of the slave device through the general input / output pin of the master device.
[0072] If not, proceed directly to the step of transmitting the data to be transmitted from the master device's general-purpose input / output pins to the slave device's general-purpose input / output pins.
[0073] Considering that the data to be transmitted sometimes needs to be transmitted to a remote device, such as through a network to an ARM processor, different transmission operations are designed in this embodiment for different transmission paths of the data to be transmitted.
[0074] Specifically, when data needs to be transmitted to remote devices other than the host, to avoid data loss, the data to be transmitted is first stored in a designated register (e.g., stored in different registers depending on the function of the data). If the data needs to be sent to a slave device, it is read from the designated register and transmitted to the slave device's general-purpose input / output pin via the master device's general-purpose input / output pin. To send data to other remote devices, the data is first read from the designated register and then transmitted to the remote device via a network or other means. When only data needs to be transmitted to a slave device, to ensure data transmission efficiency and real-time performance, in this embodiment, after receiving the data, it is directly transmitted to the slave device's general-purpose input / output pin via the master device's general-purpose input / output pin.
[0075] In summary, in this embodiment, when it is necessary to transmit the data to the remote device, the data to be stored is stored first to avoid data loss and ensure the security and reliability of data transmission; when it is not necessary to send the data to the remote device, the data to be transmitted is sent directly to the slave device through the general-purpose input / output pins after receiving the data, thereby ensuring the real-time performance of data transmission.
[0076] In some embodiments, if the master device is a baseboard management controller and the slave device is a master, after receiving the data to be transmitted, the system further includes:
[0077] After receiving all the data to be transmitted, a scheduling request is sent to the host so that the host can send a data read command to the baseboard management controller.
[0078] After receiving the data read command, the process proceeds to transmit the data to be transmitted from the master device to the slave device via the master device's general-purpose input / output pins.
[0079] Due to limitations in its own functionality, the baseboard management controller cannot actively send data to be transmitted to the host. Instead, it can only passively wait for the host to read the data. Therefore, in the case of a baseboard management controller on a master device, after the baseboard management controller has received all the data to be transmitted, it actively sends a scheduling request to the host. After receiving the scheduling request, the host sends a data read command to the baseboard management controller. Only then can the baseboard management controller transmit the data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, completing the entire transmission process of the data to be transmitted.
[0080] Furthermore, when the host is the master device, it can actively send the data to be transmitted to the board management controller as long as it has received the data to be transmitted. This application will not go into too much detail about this.
[0081] In some embodiments, when the number of received groups of data to be transmitted is greater than the number of groups of data transmitted by the master device through general-purpose input / output pins, after receiving the data to be transmitted, the method further includes:
[0082] Each group of data to be transmitted is stored in a separate buffer unit of the master device;
[0083] The data stored in a preset number of buffer units after the starting buffer unit is taken as the data to be transmitted, and the step of transmitting the data to be transmitted to the general input / output pin of the slave device through the general input / output pin of the master device is taken.
[0084] The last buffer unit that has completed the data transmission is taken as the new starting buffer unit, and the process proceeds to the step of taking the data stored in the preset number of buffer units after the starting buffer unit as the data to be transmitted.
[0085] Considering that in practical applications, there may be a situation where the number of data sets received by the master device is greater than the number of data sets that the master device can transmit to the slave device at one time through the general-purpose input / output pins, that is, the master device receives too much data to be transmitted, a certain number of data sets need to be transmitted sequentially according to certain rules.
[0086] In this embodiment, the received sets of data to be transmitted are first stored in various buffer units. For example, the buffer unit corresponding to the data to be transmitted can be determined based on the index data of the data to be transmitted. Initially, a starting buffer unit is set. Each time data is transmitted, the data stored in a preset number of buffer units after the starting buffer unit (e.g., the maximum number of data sets that the master device can send at one time through a general-purpose input / output pin) is used as the data to be transmitted, and then transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device. After the transmission of the data to be transmitted is completed, the last buffer unit that has completed the transmission of the data to be transmitted is used as the new starting buffer unit, and the above data transmission process is repeated until the data in all buffer units has been transmitted.
[0087] To improve data transmission efficiency, data stored in a predetermined number of update cache units following the initial cache unit can be further included as data to be transmitted. These update cache units are those where the currently stored data has changed compared to the previously stored data. In other words, only the updated data is transmitted, reducing the transmission burden.
[0088] Please refer to Figure 3 , Figure 3 This is a schematic diagram of a general input / output pin scheduling method provided by the present invention. Figure 3 Taking a master device with 10 buffer units as an example, each rectangle represents a buffer unit, and the four arrows on each buffer unit represent four pieces of sub-data to be transmitted. Black rectangles indicate that the buffer unit is an update buffer unit, and white rectangles indicate that the buffer unit does not contain updated stored data. Initially, the buffer unit corresponding to 81 is the starting buffer unit. If the master device can only transmit four sets of sub-data to be transmitted each time through general-purpose input / output, the master device will first send the data in 82, 84, 85, and 87 as the data to be transmitted to the slave device. The second time, it will use 87 as the starting buffer unit and send the data in 88, 89, and 80 as the data to be transmitted to the slave device.
[0089] It should also be noted that when the substrate management controller acts as the master device, when the substrate management controller takes the data stored in a preset number of cache units after the starting cache unit as the data to be transmitted, and is about to enter the step of transmitting the data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, it needs to send a scheduling request to the host first, so that the host can send a data read instruction to the substrate management controller.
[0090] In some embodiments, after storing each group of data to be transmitted into a separate buffer unit of the master device, the method further includes:
[0091] When it is determined that the operation corresponding to the data to be transmitted stored in the buffer unit is a preset system-level operation, the data to be transmitted corresponding to the preset system-level operation is preferentially transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
[0092] Considering that in practical applications, the processing level of system events is higher than that of ordinary data transmission time, a weighted scheduling method is adopted in this embodiment to ensure the normal operation of the server. Specifically, when it is determined that the operation corresponding to the data to be transmitted stored in the cache unit is a preset system-level operation, the data to be transmitted corresponding to the preset system-level operation is preferentially transmitted to the general-purpose input / output pins of the slave device through the general-purpose input / output pins of the master device. The preset system-level operation can be set according to actual needs, such as interrupt events, etc., and this application does not impose any special limitations on it.
[0093] Please refer to Figure 4 , Figure 4 This is a schematic diagram of a signal transmission system provided by the present invention. The signal transmission system is applied to a processor on a master device. When the master device is a server (host), the slave device is a baseboard management controller; when the master device is a baseboard management controller, the slave device is a host. The general-purpose input / output pins of the master device are connected to the general-purpose input / output pins of the slave device. The signal transmission system includes:
[0094] Data receiving unit 11 is used to receive data to be transmitted;
[0095] The data transmission unit 12 is used to transmit the data to be transmitted from the master device to the slave device via the general-purpose input / output pins of the master device, so that the slave device can perform corresponding operations based on the data to be transmitted.
[0096] For a detailed description of the signal transmission system provided in this application, please refer to the embodiments of the signal transmission method described above; further details will not be repeated here.
[0097] Based on the above embodiments:
[0098] In some embodiments, the data to be transmitted includes N bits of sub-data to be transmitted and N bits of status data used to represent whether each bit of sub-data to be transmitted is valid. When the status data is at a first level, it indicates that the sub-data to be transmitted corresponding to the status data is valid. When the status data is at a second level opposite to the first level, it indicates that the sub-data to be transmitted corresponding to the status data is invalid. N is a positive integer.
[0099] The signal transmission system also includes:
[0100] The valid signal determination unit is used to trigger the data transmission unit 12 after determining that there is state data at the first level in the data to be transmitted.
[0101] In some embodiments, the data to be transmitted also includes functional classification data for characterizing the functions of the sub-data to be transmitted;
[0102] The data transmission unit 12 is specifically used to transmit both the functional classification data and the N-bit sub-data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, so that the slave device can determine the target type of the operation to be performed based on the functional classification data and perform the operation of the target type based on the N-bit sub-data to be transmitted.
[0103] In some embodiments, it also includes:
[0104] The judgment unit is used to determine whether it is necessary to transmit the data to be transmitted to a remote device other than the host before transmitting the data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device; if yes, the remote transmission unit is triggered; if no, the data transmission unit 12 is triggered.
[0105] The remote transmission unit is used to first store the data to be transmitted into a designated register, and after storage is completed, read the data to be transmitted from the designated register and trigger the data transmission unit 12.
[0106] In some embodiments, if the master device is a baseboard management controller and the slave device is a master, the signal transmission system further includes:
[0107] The scheduling request sending unit is used to send a scheduling request to the host after receiving all the data to be transmitted, so that the host can send a data read instruction to the baseboard management controller; after receiving the data read instruction, the data transmission unit 12 is triggered.
[0108] In some embodiments, when the number of received groups of data to be transmitted is greater than the number of groups of data transmitted by the master device through general-purpose input / output pins, the signal transmission system further includes:
[0109] The data transmission buffer unit is used to store each group of data to be transmitted into the respective buffer units of the master device after receiving the data to be transmitted.
[0110] The data transmission subunit is used to take the data stored in a preset number of cache units after the starting cache unit as the data to be transmitted, and to trigger the data transmission unit 12.
[0111] The starting cache unit update unit is used to take the last cache unit that has completed the data transmission to be transmitted as the new starting cache unit and trigger the data transmission subunit.
[0112] In some embodiments, the data transmission subunit is specifically used to take the data stored in a preset number of update cache units located after the starting cache unit as the data to be transmitted, and trigger the data transmission unit 12, wherein the update cache unit is a cache unit in which the currently stored data has changed compared to the previously stored data.
[0113] In some embodiments, it also includes:
[0114] The weighted scheduling unit is used to, after storing each group of data to be transmitted into each buffer unit of the master device, prioritize transmitting the data to be transmitted corresponding to the preset system-level operation through the general-purpose input / output pins of the master device when it is determined that the operation corresponding to the data to be transmitted stored in the buffer unit is a preset system-level operation.
[0115] Please refer to Figure 5 , Figure 5 This is a schematic diagram of a signal transmission device provided by the present invention. The signal transmission device includes:
[0116] Memory 21 is used to store computer programs;
[0117] The processor 22 is used to implement the steps of any of the above signal transmission methods when executing a computer program.
[0118] For a detailed description of the signal transmission device provided in this application, please refer to the embodiments of the signal transmission method described above; further details will not be repeated here.
[0119] To address the aforementioned technical problems, this application also provides a master device, including the aforementioned signal transmission apparatus.
[0120] For a detailed description of the master device provided in this application, please refer to the embodiments of the above signal transmission method; this application will not repeat the details here.
[0121] This application also provides a server, including the aforementioned master device, and a slave device whose general-purpose input / output pins are connected to the general-purpose input / output pins of the master device;
[0122] When the master device is the host, the slave device is the board management controller; when the master device is the board management controller, the slave device is the host.
[0123] For a detailed description of the server provided in this application, please refer to the above-described embodiment of the signal transmission method; further details will not be repeated here.
[0124] Please refer to Figure 6 , Figure 6 This is a schematic diagram of a computer-readable storage medium provided by the present invention. The computer-readable storage medium 31 stores a computer program, which, when executed by a processor, implements the steps of any of the above-mentioned signal transmission methods.
[0125] For a detailed description of the computer-readable storage medium provided in this application, please refer to the embodiments of the signal transmission method described above; further details will not be repeated here.
[0126] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to the method section.
[0127] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
Claims
1. A signal transmission method, characterized in that, A processor applied to a master device, wherein the slave device is a baseboard management controller when the master device is a server, and the slave device is the master when the master device is the baseboard management controller, wherein the general-purpose input / output pins of the master device are connected to the general-purpose input / output pins of the slave device, and the signal transmission method includes: Receive data to be transmitted; The data to be transmitted is transmitted from the master device to the slave device via the master device's general-purpose input / output pins, so that the slave device can perform corresponding operations based on the data to be transmitted. In this context, when the master device is the host and the slave device is the baseboard management controller, the data to be transmitted refers to the data that the host needs to send to the managed hardware device through the baseboard management controller; when the master device is the baseboard management controller and the slave device is the host, the data to be transmitted refers to the data that the managed device sends to the baseboard management controller to be transmitted to the host. The data to be transmitted includes N bits of sub-data to be transmitted and N bits of status data used to characterize whether each bit of the sub-data to be transmitted is valid. The status data is at a first level when it indicates that the corresponding sub-data to be transmitted is valid, and at a second level opposite to the first level when it indicates that the corresponding sub-data to be transmitted is invalid. N is a positive integer. After receiving the data to be transmitted, the method further includes: after determining that there is status data at the first level in the data to be transmitted, proceeding to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device. The data to be transmitted also includes functional classification data for characterizing the function of the sub-data to be transmitted; transmitting the data to be transmitted to the general-purpose input / output pins of the slave device through the general-purpose input / output pins of the master device, so that the slave device can perform corresponding operations based on the data to be transmitted, including: transmitting both the functional classification data and N bits of the sub-data to be transmitted to the general-purpose input / output pins of the slave device through the general-purpose input / output pins of the master device, so that the slave device can determine the target type of the operation to be performed based on the functional classification data, and perform an operation of the target type based on the N bits of the sub-data to be transmitted; If the master device is the baseboard management controller and the slave device is the host, after receiving the data to be transmitted, the method further includes: after receiving all the data to be transmitted, sending a scheduling request to the host so that the host can send a data read instruction to the baseboard management controller; and after receiving the data read instruction, proceeding to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
2. The signal transmission method as described in claim 1, characterized in that, Before transmitting the data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, the method further includes: Determine whether the data to be transmitted needs to be transmitted to a remote device other than the host. If so, the data to be transmitted is first stored in a designated register. After storage, the data to be transmitted is read from the designated register and the process proceeds to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device. If not, proceed directly to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
3. The signal transmission method as described in claim 1 or 2, characterized in that, When the number of data sets to be transmitted received is greater than the number of data sets transmitted by the master device through the general-purpose input / output pin, after receiving the data sets to be transmitted, the method further includes: Each group of data to be transmitted is stored in a separate cache unit of the master device; The data stored in a predetermined number of cache units after the starting cache unit is taken as the data to be transmitted, and the process proceeds to the step of transmitting the data to be transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device. The last buffer unit that has completed the data transmission is taken as the new starting buffer unit, and the process proceeds to the step of taking the data stored in the preset number of buffer units after the starting buffer unit as the data to be transmitted.
4. The signal transmission method as described in claim 3, characterized in that, The data stored in a predetermined number of buffer units following the starting buffer unit will be used as the data to be transmitted, including: The data stored in a predetermined number of update cache units located after the starting cache unit are used as the data to be transmitted, wherein the update cache unit is a cache unit in which the currently stored data has changed compared to the previously stored data.
5. The signal transmission method as described in claim 3, characterized in that, After storing each group of data to be transmitted into its respective buffer unit of the master device, the process further includes: When it is determined that the operation corresponding to the data to be transmitted stored in the cache unit is a preset system-level operation, the data to be transmitted corresponding to the preset system-level operation is preferentially transmitted to the general-purpose input / output pin of the slave device through the general-purpose input / output pin of the master device.
6. A signal transmission system, characterized in that, A processor applied to a master device, wherein when the master device is a server (host), the slave device is a baseboard management controller; and when the master device is the baseboard management controller, the slave device is the host. The general-purpose input / output pins of the master device are connected to the general-purpose input / output pins of the slave device. The signal transmission system includes: The data receiving unit is used to receive data to be transmitted. The data transmission unit is used to transmit the data to be transmitted to the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, so that the slave device can perform corresponding operations based on the data to be transmitted. In this context, when the master device is the host and the slave device is the baseboard management controller, the data to be transmitted refers to the data that the host needs to send to the managed hardware device through the baseboard management controller; when the master device is the baseboard management controller and the slave device is the host, the data to be transmitted refers to the data that the managed device sends to the baseboard management controller to be transmitted to the host. The data to be transmitted includes N bits of sub-data to be transmitted and N bits of status data used to characterize whether each sub-data bit is valid. When the status data is at a first level, it indicates that the corresponding sub-data bit is valid; when the status data is at a second level opposite to the first level, it indicates that the corresponding sub-data bit is invalid. N is a positive integer. The signal transmission system also includes a valid signal determination unit, used to trigger the data transmission unit after determining that there is status data at the first level in the data to be transmitted. The data to be transmitted also includes functional classification data for characterizing the functions of the sub-data to be transmitted; the data transmission unit is specifically used to transmit both the functional classification data and the N-bit sub-data to be transmitted through the general-purpose input / output pins of the master device to the general-purpose input / output pins of the slave device, so that the slave device can determine the target type of the operation to be performed based on the functional classification data and perform the operation of the target type based on the N-bit sub-data to be transmitted. If the master device is a baseboard management controller and the slave device is a host, the signal transmission system further includes: a scheduling request sending unit, which, after receiving the data to be transmitted and after all the data to be transmitted has been received, sends a scheduling request to the host so that the host can send a data read instruction to the baseboard management controller; and triggers the data transmission unit after receiving the data read instruction.
7. A signal transmission device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the signal transmission method as described in any one of claims 1 to 5 when executing the computer program.
8. A master-end device, characterized in that, Includes the signal transmission device as described in claim 7.
9. A server, characterized in that, Including the master device as described in claim 8, it also includes a slave device whose general-purpose input / output pins are connected to the general-purpose input / output pins of the master device; When the master device is the host, the slave device is the baseboard management controller; when the master device is the baseboard management controller, the slave device is the host.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the signal transmission method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Method for preventing conflict in health information read of BIOS (Basic Input Output System) and BMC (Baseboard Management Controller) on Feiteng server
CN104408000A