A USB data transmission method and device based on a BMC chip
By using PCIE channels between the BMC chip and the South Bridge chip to convert USB data into PCIE data in parallel transmission, the problem of low USB data transmission efficiency of BMC chip is solved, and more efficient USB data transmission is achieved.
Patent Information
- Application Number
- CN202211712226.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-29
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-12-29
AI Technical Summary
The connection between the BMC chip and the South Bridge chip through the USB2.0 interface limits the USB data transmission efficiency, especially when a large amount of data needs to be transmitted.
Through the PCIE channel between the BMC chip and the South Bridge chip, USB data is selectively converted into PCIE data and sent, combining PCIE and USB channels to transmit in parallel to improve transmission efficiency.
It greatly improves the transmission efficiency and bandwidth of USB data of BMC chips, and meets the data transmission needs of local and remote USB devices.
Smart Images

Figure CN115905069B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of integrated circuit chip design, and particularly to a USB data transmission method and device based on a BMC chip. Background Art
[0002] USB is a high-speed serial bus for data communication, which has the advantages of fast transmission speed, flexible connection, independent power supply, etc. It can connect various devices such as keyboards, mice, and large-capacity storage devices, and is widely used in electronic devices such as computers and servers. The transmission rate of USB2.0 is 480Mbps, and the transmission speed of USB3.0 can reach 5Gbps. The BMC chip is a baseboard management controller inside the server, which is connected under the south bridge chip through the USB bus to realize the BMC remote mouse and keyboard control and the BMC local USB interface expansion function.
[0003] However, since the south bridge chip generally does not have a USB3.0 interface configured, the BMC (Baseboard Management Controller) chip and the south bridge chip are mostly connected through a USB2.0 interface, which limits the ability of the BMC chip to transmit USB data. Therefore, how to improve the transmission efficiency of USB data by the BMC chip is a technical problem that needs to be solved urgently in this field. Summary of the Invention
[0004] In order to improve the transmission efficiency of USB data by the BMC chip, in one aspect of the present invention, a USB data transmission method based on a BMC chip is proposed. The method includes: identifying a USB device connected to the BMC chip; in response to the USB data coming from a USB3.0 device, parsing and restoring the USB data into byte data, and sending multiple pieces of the byte data to a PCIE module; and converting the multiple pieces of byte data into PCIE data by the PCIE module and sending the PCIE data to the south bridge chip through a PCIE PHY.
[0005] In one or more embodiments, the method further includes: in response to the USB data coming from a USB2.0 device, directly forwarding the USB data to the south bridge chip through a USB PHY.
[0006] In one or more embodiments, the method further includes: concurrently performing operations of sending the PCIE data and the USB data to the south bridge chip.
[0007] In one or more embodiments, the BMC chip is communicatively connected to the USB device through a USB bus: the USB bus includes multiple USB3.0 interfaces and an application layer data interface; the USB device includes a local USB device and a remote USB device;
[0008] Among them, there is a USB PHY structure in the USB3.0 interface, and there is no PHY structure in the application layer data interface.
[0009] In one or more embodiments, identifying the USB device accessing the BMC chip includes: in response to a local USB device accessing the USB3.0 interface, obtaining interface information of the USB device during initialization to identify the USB device as a USB2.0 device or a USB3.0 device; in response to obtaining USB data of a remote USB device through the application layer data interface, defaulting that the USB data comes from a USB3.0 device.
[0010] In a second aspect of the present invention, a USB data transmission device based on a BMC chip is proposed, including: a USB3.0 hub, integrated with a plurality of USB3.0 interfaces, configured to be connected to local USB2.0 devices and / or USB3.0s; a USB controller, connected to the USB3.0 hub through a USB bus, configured to identify the USB device accessing the BMC chip; in response to the USB data coming from a USB3.0 device, parsing and restoring the USB data into byte data, and sending a plurality of the byte data to a PCIE module; a PCIE module, connected to the USB controller through an AXI or AHB bus, configured to convert a plurality of the byte data into PCIE data and then send it to a south bridge chip through a PCIE PHY.
[0011] In one or more embodiments, a USB data transmission device based on a BMC chip of the present invention further includes: a network card interface, configured to obtain USB data of a remote device; a virtual USB3.0 hub, connected to the network card interface through a system bus, and including a plurality of application layer data interfaces, configured to obtain USB data from the system bus through the application layer data interfaces and send the USB data to the USB controller; wherein, the virtual USB3.0 hub is connected to the USB controller through an AXI or AHB bus.
[0012] In one or more embodiments, the USB controller is further configured to, in response to the USB data coming from a USB2.0 device, directly forward the USB data to the south bridge chip through a USB PHY; among them, there is a USB PHY structure in the USB3.0 interface, and there is no PHY structure in the application layer data interface.
[0013] In one or more embodiments, the USB controller is further configured to concurrently execute operations of sending the PCIE data and the USB data to the south bridge chip.
[0014] In one or more embodiments, the USB controller is further configured to, in response to a local USB device being connected to the USB3.0 interface, obtain interface information of the USB device during an initialization process to identify the USB device as a USB2.0 device or a USB3.0 device; and in response to obtaining USB data of a remote USB device through the application layer data interface, assume that the USB data comes from a USB3.0 device.
[0015] By adopting the above technical solution, the present invention has at least the following beneficial effects: the present invention can greatly improve the transmission efficiency of the BMC chip for USB data by selectively converting USB data into PCIE data and then forwarding it to the south bridge chip. At the same time, the USB channel between the BMC chip and the south bridge chip is retained, and USB data is sent in parallel through the PCIE channel and the USB channel, thereby further improving the transmission efficiency of the BMC for USB data and indirectly increasing the transmission bandwidth of USB data.
[0016] The present invention provides various aspects of embodiments, which should not be used to limit the scope of protection of the present invention. Other embodiments are conceivable based on the technology described herein, which will be obvious to those skilled in the art after studying the following drawings and detailed description, and these embodiments are intended to be included within the scope of this application.
[0017] The embodiments of the present invention are explained and described in more detail below with reference to the accompanying drawings, but they should not be construed as limiting the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for describing the prior art and embodiments. The components in the drawings are not necessarily drawn to scale, and related elements may be omitted, or in some cases the scale may be exaggerated to emphasize and clearly illustrate the novel features described herein. In addition, as is known in the art, the structural order can be arranged differently.
[0019] Figure 1 The following is a flowchart of a USB data transmission method based on a BMC chip according to the present invention;
[0020] Figure 2 This is a schematic diagram of the composition of a USB data transmission device based on a BMC chip according to the first embodiment of the present invention;
[0021] Figure 3 FIG2 is a schematic diagram showing the composition of a USB data transmission device based on a BMC chip according to a second embodiment of the present invention. DETAILED DESCRIPTION
[0022] Although the present invention may be implemented in various forms, some exemplary and non-limiting embodiments are shown in the drawings and will be described hereinafter. It should be understood that the present disclosure is considered an example of the present invention and is not intended to limit the present invention to the specific embodiments illustrated.
[0023] In the current server field, the BMC chip is not only used to expand local USB devices but also to receive control signals from remote keyboards and mice. However, since the BMC chip needs to transmit USB data to the inside of the server through the south bridge chip, and most of the integrated USB interfaces of the south bridge chip are USB2.0 interfaces, which greatly limits the ability of the BMC to transmit USB data, resulting in low transmission efficiency of USB data and certain latency when a large amount of USB data needs to be transmitted.
[0024] Since the BMC chip and the south bridge chip can be connected not only through the USB bus but also through the PCIE (Peripheral Component Interconnect Express) bus, based on this, the present invention proposes a USB data transmission method based on the BMC chip. This method uses the PCIE channel between the BMC chip and the south bridge chip to selectively convert the upstream USB data into PCIE data and then send it to the south bridge chip through the PCIE PHY, and convert the downstream data to be sent to the USB device from PCIE format data into USB format data and then send it to the corresponding USB device. The specific solution of the present invention is as follows:
[0025] Figure 1 It is a flowchart of the working process of a USB data transmission method based on the BMC chip of the present invention. As Figure 1 shown, the working process of the USB data transmission method based on the BMC chip of the present invention includes: Step S1, identifying the USB device connected to the BMC chip; Step S2, in response to the USB data coming from a USB3.0 device, parsing and restoring the USB data into byte data and sending multiple byte data to the PCIE module; and Step S3, converting the multiple byte data into PCIE data by the PCIE module and sending it to the south bridge chip through the PCIE PHY.
[0026] Specifically, the BMC chip herein is an integrated circuit chip. In a preferred embodiment, when the BMC chip of the present invention selectively converts USB data into PCIE data, the selection is based on the following: for a locally extended USB device, determining whether the local USB device is connected to the BMC chip via a USB 2.0 interface or a USB 3.0 interface; if the local USB device needs to transmit data via a USB 3.0 interface, it indicates that high-speed transmission is possible and the amount of USB data to be transmitted may be large. Therefore, the USB data from the USB 3.0 device (a local device with a USB 3.0 interface) is parsed and restored into byte data, and the multiple bytes of data are sent to the PCIE module; the PCIE module converts the multiple bytes of data into PCIE data and then sends it to the south bridge chip. Although the PCIE transmission protocols supported by the south bridge chip are different due to the different evolution of various protocols, PCIE2.0 supports a data transmission rate of 5Gbps and PCIE3.0 supports a data transmission rate of 8Gbps, but the south bridge chip will at least support data transmission of the PCIE2.0 protocol. Therefore, the data transmission rate through its PCIE interface (with a PCIE PHY structure) is basically the same as the data transmission rate through the USB3.0 interface (with a USB PHY structure). Therefore, the method in this embodiment can greatly improve the transmission efficiency of the BMC chip for USB data, thereby meeting the data transmission needs of local USB3.0 devices and remote USB devices.
[0027] In a further embodiment, the method of the present invention further includes forwarding the USB data directly to the southbridge chip via the USB PHY in response to the USB data being received from a USB 2.0 device. In this embodiment, it is assumed that when the USB data is received from a USB 2.0 device (a device having a local USB 2.0 interface), the USB 2.0 device has lower requirements for data transmission efficiency and the amount of data to be transmitted is relatively small. Therefore, the USB data from the USB 2.0 device can still be transmitted to the southbridge chip via the USB interface on the southbridge chip. Furthermore, the operation of sending the PCIE data (previously USB data) and the USB data to the southbridge chip can be performed concurrently, thereby further indirectly improving the transmission bandwidth of the BMC chip for USB data and further improving the transmission efficiency of the BMC chip for USB data.
[0028] In a further embodiment, the BMC chip in the present invention communicates with the USB device through the USB bus and connects in a manner that includes: integrating the USB bus on the BMC chip, and mounting multiple USB3.0 interfaces and application layer data interfaces; wherein the USB3.0 interface is downwardly compatible with the USB2.0 data interface, that is, it can connect to USB2.0 devices, that is, the USB3.0 interface is used to expand local USB devices, and the application layer data interface is used to receive USB control data of remote USB devices; wherein, there is a USB PHY structure in the USB3.0 interface, and there is no PHY structure in the application layer data interface.
[0029] In a further embodiment, identifying a USB device connected to a BMC chip includes: in response to a local USB device being connected to a USB 3.0 interface, obtaining the USB device's interface information during initialization to identify whether the USB device is a USB 2.0 device or a USB 3.0 device; and in response to obtaining USB data from a remote USB device via an application layer data interface, assuming the USB data originates from a USB 3.0 device. In this embodiment, to ensure low latency for remote USB data, the present invention defaults to converting the remote USB data into PCIE data before forwarding it to the southbridge chip.
[0030] Through the above scheme, the present invention needs to connect the BMC chip to the PCIE interface and the USB interface in the south bridge chip respectively, and then judge the data source and send the USB data from USB3.0 and remote USB devices in PCIE format, and directly forward the USB data from USB2.0 devices to the USB channel of the south bridge chip. The above processes are performed in parallel, thereby greatly improving the transmission efficiency of the BMC chip for USB data and indirectly improving the transmission bandwidth of the BMC chip for USB data.
[0031] The design composition of the BMC chip used to implement the above method of the present invention is as follows:
[0032] Figure 2 FIG1 is a schematic diagram of a USB data transmission device based on a BMC chip according to the first embodiment of the present invention. Figure 2As shown in the figure, the USB data transmission device based on the BMC chip of the present invention includes: a USB3.0 hub 100, which integrates multiple USB3.0 interfaces 101 and is configured to be connected to local USB2.0 devices and / or USB3.0; a USB controller 200, which is connected to the USB3.0 hub through a USB bus (PIPE) and is configured to identify the USB devices accessing the BMC chip; in response to the USB data coming from a USB3.0 device, the USB data is parsed and restored to byte data, and the multiple byte data is sent to the PCIE module 300; the PCIE module 300 is connected to the USB controller through an AXI or AHB bus and is configured to convert the multiple byte data into PCIE data and then send it to the south bridge chip through the PCIE PHY.
[0033] Specifically, since it is necessary to encapsulate the USB data into the PCIE channel for transmission, a PCIE2.0 endpoint (i.e., the PCIE module) needs to be included in the BMC chip. And since there is no USB3.0 controller on the host side, a USB3.0 host controller (i.e., the USB controller) needs to be added to the BMC chip. At the same time, the USB2.0 HUB needs to be upgraded to a USB3.0 HUB (i.e., the USB3.0 hub). The host recognizes that there is a USB host controller in the BMC chip through the PCIE bus. The USB3.0 host controller completes the data transmission and status control of the USB device through the USB3.0 hub. The USB host controller supports up to 4 downstream interfaces. Therefore, if more than four USB devices need to be supported, the USB3.0 hub is required to complete the expansion of the USB interface. The USB2.0 / 3.0 devices can be connected downstream of the USB3.0 hub. The PIPE interface (Physical Interface for PCI Express, PCIE physical layer interface) is used to transmit data between the USB3.0 host controller and the upstream interface of the USB3.0 hub.
[0034] More specifically, the USB FUNC (i.e., the USB data parsing function) is pre-stored in the PCIE module. It is used to parse and restore the obtained USB data into byte data, convert the obtained byte data into PCIE data, and then send it to the PCIE PHY physical interface in the PCIE module. Then, through the PCIE PHY physical interface, according to the PCIE data transmission protocol, the digital signal is converted into an analog signal and sent to the south bridge chip. Correspondingly, the south bridge chip has a corresponding PCIE PHY physical interface, and the analog signal is restored to a digital signal in PCIE format, so as to obtain the PCIE data sent from the PCIE module in the BMC chip. In the above solution, the role of both the PCIE PHY and the USB PHY is to achieve the conversion between digital signals and analog signals to achieve high-speed data transmission (high-speed transmission in the form of analog signals).
[0035] Suppose Figure 2 U1 in is a USB2.0 device and U2 is a USB3.0 device. When there is downstream data transmission, the host writes data to the USB3.0 host controller module through the AXI / AHB interface of the PCIE channel. The USB3.0 host controller decomposes the data from U2 according to the USB protocol and sends it to the USB3.0 HUB upstream interface in the PIPE interface data format. The USB3.0 HUB upstream interface routes the data to different downstream interfaces for sending according to the PIPE interface packet interface information. When there is upstream data transmission, the USB3.0 HUB downstream interface receives the USB device data, and sends the data from U2 to the USB3.0 host controller in the PIPE data format through the upstream interface. The USB host controller decomposes the data according to the USB protocol and sends the data to the south bridge chip through the AXI / AHB interface of the PCIE.
[0036] When the data comes from U1, the data from U1 is directly forwarded to the south bridge chip through the USB PHY in the conventional way, and the interaction between the upstream and downstream devices is carried out through the USB channel in the south bridge chip.
[0037] In the above solution, the USB3.0 HUB is implemented in hardware, that is, each of its downstream interfaces includes a PHY. This structure can only achieve the local expansion function of the USB interface. Therefore, another implementation method of another part of the USB data transmission device based on the BMC chip of the present invention is Figure 3 as shown
[0038] Figure 3Schematic diagram of the composition of a USB data transmission device based on a BMC chip according to the second embodiment of the present invention. As Figure 3 shown, compared with the composition in Figure 2 , a USB data transmission device based on a BMC chip of the present invention further includes: a network card interface 400 configured to obtain USB data of a remote device; a virtual USB3.0 hub 500 connected to the network card interface through a system bus and including a plurality of application layer data interfaces for obtaining USB data from the system bus through the application layer data interfaces and sending the USB data to a USB controller; wherein, the virtual USB3.0 hub is connected to the USB controller through an AXI or AHB bus. Wherein, the system bus 600 is respectively connected to the network card interface 400 and the CPU core 700 of the BMC.
[0039] Specifically, on the basis of the composition of a USB data transmission device based on a BMC chip shown in Figure 2 , in order to receive data of a remote USB device, a Virtual USB3.0 HUB needs to be used and connected to the system bus of the BMC chip (the system bus is connected to the CPU core of the BMC chip) through an AXI / AHB bus. At this time, the data of the Virtual USB3.0 HUB can be data of USB devices such as remote keyboards and mice incoming from the network interface, so as to realize remote KVM operation.
[0040] In a further embodiment, the USB controller 200 is further configured to directly forward the USB data to the south bridge chip in response to the USB data being from a USB2.0 device.
[0041] In a further embodiment, the USB controller 200 is further configured to concurrently execute operations of sending PCIE data and USB data to the south bridge chip.
[0042] In a further embodiment, the USB controller 200 is further configured to obtain interface information of the USB device during initialization to identify the USB device as a USB2.0 device or a USB3.0 device in response to a local USB device being connected to the USB3.0 interface; and default that the USB data is from a USB3.0 device in response to obtaining the USB data of the remote USB device through the application layer data interface.
[0043] As can be seen from the above technical solution, by using the BMC chip proposed by the present invention, after receiving USB data, the data transmission mode of a part of the USB data when entering the server is changed (from being transmitted only in the USB2.0 format to being able to be transmitted in the PCIE2.0 format), thereby improving the transmission efficiency of the BMC chip for USB data and increasing the transmission bandwidth for USB data in effect.
[0044] It should be understood that, when technically feasible, the technical features listed for different embodiments above can be combined with each other to form additional embodiments within the scope of the present invention. In addition, the specific examples and embodiments described herein are non-limiting, and corresponding modifications can be made to the structures, steps and sequences described above without departing from the protection scope of the present invention.
[0045] In this application, the use of disjunctive connectives is intended to include conjunctive connectives. The use of definite or indefinite articles is not intended to indicate cardinality. Specifically, the reference to "the" object or "a" and "an" object is intended to mean one of the possible multiple such objects. However, although the elements disclosed in the embodiments of the present invention can be described or claimed in an individual form, they can also be understood as multiple unless explicitly limited to the singular. In addition, the connective "or" can be used to convey features that exist simultaneously, rather than mutually exclusive alternatives. In other words, the connective "or" should be understood to include "and / or". The term "comprising" is inclusive and has the same scope as "including".
[0046] The above embodiments, especially any "preferred" embodiments, are possible examples of implementations and are proposed only for the clear understanding of the principles of the present invention. Many changes and modifications can be made to the above embodiments without substantially departing from the spirit and principles of the technology described herein. All modifications are intended to be included within the scope of this disclosure.
Claims
1. A USB data transmission method based on a BMC chip, characterized in that, The method includes: Identifying a USB device accessing the BMC chip; In response to the USB data being from a USB3.0 device, parsing and restoring the USB data into byte data, and sending multiple pieces of the byte data to the PCIE module; Converting, by the PCIE module, multiple pieces of the byte data into PCIE data and sending the PCIE data to the south bridge chip through the PCIE PHY; Wherein, the BMC chip is communicatively connected to the USB device through a USB bus: the USB bus includes multiple USB3.0 interfaces and an application layer data interface, a USB PHY structure exists in the USB3.0 interfaces, a USB PHY structure does not exist in the application layer data interface, and the USB device includes a local USB device and a remote USB device; Wherein, multiple application layer data interfaces form a virtual USB3.0 hub connected to the system bus, and are configured to obtain USB data of a remote USB device through a network card interface connected to the system bus.
2. The USB data transmission method based on a BMC chip according to claim 1, wherein, The method further includes: In response to the USB data being from a USB2.0 device, directly forwarding the USB data to the south bridge chip through the USB PHY.
3. The USB data transmission method based on a BMC chip according to claim 2, wherein, The method further includes: Concurrently executing operations of sending the PCIE data and the USB data to the south bridge chip.
4. A USB data transmission method based on a BMC chip according to claim 1, characterized in that, The identifying of the USB device accessing the BMC chip includes: In response to a local USB device accessing the USB3.0 interface, obtaining interface information of the USB device during initialization to identify the USB device as a USB2.0 device or a USB3.0 device; In response to obtaining USB data of a remote USB device through the application layer data interface, defaulting that the USB data is from a USB3.0 device.
5. A USB data transmission device based on a BMC chip, characterized in that, Includes: A USB3.0 hub, integrally including multiple USB3.0 interfaces, configured to be connected to a local USB2.0 device and / or USB3.0; A USB controller, connected to the USB3.0 hub through the USB bus, configured to identify a USB device accessing the BMC chip; In response to the USB data being from a USB3.0 device, parsing and restoring the USB data into byte data, and sending multiple pieces of the byte data to the PCIE module; A PCIE module, connected to the USB controller through an AXI or AHB bus, configured to convert multiple pieces of the byte data into PCIE data and send the PCIE data to the south bridge chip through the PCIE PHY; A network card interface, configured to obtain USB data of a remote device; A virtual USB3.0 hub, connected to the network card interface through the system bus, and including multiple application layer data interfaces, configured to obtain USB data from the system bus through the application layer data interfaces and send the USB data to the USB controller; wherein, the virtual USB3.0 hub is connected to the USB controller through an AXI or AHB bus; Among them, there is a USB PHY structure in the USB3.0 interface, and there is no USB PHY structure in the application layer data interface.
6. The USB data transmission device based on a BMC chip according to claim 5, wherein, The USB controller is further configured to directly forward the USB data to the south bridge chip through the USB PHY in response to the USB data coming from a USB2.0 device. Among them, there is a USB PHY structure in the USB3.0 interface, and there is no PHY structure in the application layer data interface.
7. The USB data transmission device based on a BMC chip according to claim 6, characterized in that, The USB controller is further configured to concurrently execute operations of sending the PCIE data and the USB data to the south bridge chip.
8. The USB data transmission device based on a BMC chip according to claim 6, wherein, The USB controller is further configured to, in response to a local USB device being connected to the USB3.0 interface, obtain interface information of the USB device during initialization to identify whether the USB device is a USB2.0 device or a USB3.0 device. In response to obtaining USB data of a remote USB device through the application layer data interface, it is defaulted that the USB data comes from a USB3.0 device.
Citation Information
Patent Citations
BMC chip, server side and remote monitoring management method thereof
CN107528829A