Method and device for transmitting USB3 data
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-04
- Publication Date
- 2026-03-27
AI Technical Summary
The existing USB3 data transmission network topology cannot adapt to the diversified network architecture, resulting in inefficient data transmission.
By introducing multiple USB3 Hosts and routing devices into a high-speed data transmission network, using USB3 downlink adapter and uplink adapter to convert USB3 data into USB3 tunnel packets, and transmitting them in a unified multimedia network, it supports multiple USB3 Hosts to work simultaneously, maintaining their respective tree topology.
It realizes efficient transmission of USB3 data in a diversified network architecture, supports multiple USB3 Hosts to work simultaneously, and improves data transmission efficiency and network topology flexibility.
Smart Images

Figure CN121753007A_ABST
Abstract
Description
A method and device for transmitting USB3 data Technical Field
[0001] The present invention relates to the field of communications, and more particularly to a method and apparatus for transmitting USB3 data. Background Art
[0002] In the traditional Universal Serial Bus (USB) tree topology, a host is the root node. With the development of networking technology, the number of devices joining the network is increasing, and the types of network architectures are also increasing. The current network topology cannot adapt to the diverse network architectures.
[0003] Summary of the Invention
[0004] The method and apparatus for transmitting USB3 data provided in this application implement a network topology with a wide range of application scenarios to support USB3 data transmission.
[0005] To achieve the above objectives, the present invention adopts the following technical solutions:
[0006] In a first aspect, a method for transmitting USB3 data is provided. The method can be applied to a first device in a high-speed data transmission network. The first device can be any of a USB3 host, a USB3 device, or a routing device in the high-speed data transmission network, and the high-speed data transmission network can include multiple USB3 hosts. The method is specifically used to transmit USB3 data in a high-speed data transmission network including multiple USB3 hosts. The method may include: a USB3 downstream adapter in the first device converting USB3 data into USB3 tunnel messages and sending the messages to a unified multimedia interconnect port corresponding to a USB3 connection. The USB3 connection is a communication connection between a downstream port of a USB3 host and an upstream port of a USB3 device in the high-speed data transmission network; the USB3 connection includes one or more USB3 virtual paths, each of which is a path between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device; the second and third devices can be two different devices, namely, a USB3 host, a USB3 device, or a routing device in the high-speed data transmission network. Alternatively, the USB3 upstream adapter in the first device converts the USB3 tunnel messages into USB3 data.
[0007] Through the solution provided by this application, the network topology of the high-speed data transmission network includes multiple USB3 hosts, a USB3 connection exists between the USB3 hosts and the USB3 devices, and USB3 data is transmitted in the USB3 connection. The first device acts as any device in the USB3 connection. The USB3 downstream adapter in the first device converts the USB3 data into a USB3 tunnel message and continues to transmit it in the USB3 connection. After receiving the USB3 tunnel message, the USB3 upstream adapter in the first device restores it to USB3 data, thereby realizing the transmission of USB3 data between each USB3 host and the USB3 device connected to it. Multiple USB3 hosts in the network maintain their own tree topology through their respective USB3 connections without affecting each other, thereby supporting multiple USB3 hosts to work simultaneously and realizing a network topology with a wide range of application scenarios to support the transmission of USB3 data.
[0008] Among them, each USB3 Host in the high-speed data transmission network can establish a USB3 connection with its enumerated USB3 Device (one or more) to form a tree topology of each USB3 Host, thereby enabling each USB3 Host to maintain its own tree topology.
[0009] In a possible implementation, the high-speed data transmission network may be a unified multimedia internet network.
[0010] In another possible implementation, the high-speed data transmission network may include a routing device, which includes one or more USB3 hubs. In this scenario, the USB3 connection between the downstream port of the first USB3 host and the upstream port of the first USB3 device includes: a USB3 virtual path between a USB3 downstream adapter corresponding to the downstream port of the first USB3 host and a USB3 upstream adapter corresponding to the upstream port of the first USB3 Hub in the routing device; and a USB3 virtual path between a USB3 downstream adapter corresponding to the downstream port of the first USB3 Hub in the routing device and a USB3 upstream adapter corresponding to the upstream port of the first USB3 device.
[0011] The first USB3 host is any USB3 host in a high-speed data transmission network, the first USB3 device is any USB3 device in a high-speed data transmission network, and the first USB3 hub is any USB3 hub in a routing device.
[0012] By adding a Hub to the network, data flow convergence is achieved, eliminating the impact of link delay and supporting the establishment of USB3 connections for multiple USB3 Hosts.
[0013] In another possible implementation, when the routing device's USB3 hub resources are insufficient, the USB3 connection between the downstream port of the second USB3 host and the upstream port of the second USB3 device includes a multi-hop virtual path between the USB3 downstream adapter corresponding to the downstream port of the second USB3 host and the USB3 upstream adapter corresponding to the upstream port of the second USB3 device. The multi-hop virtual path passes through the routing device but not the routing device's USB3 hub. The hub in the routing device acts as a resource and is allocated on demand, enabling resource sharing and utilization.
[0014] The second USB3 host is any USB3 host in the high-speed data transmission network; and the second USB3 device is any USB3 device in the high-speed data transmission network.
[0015] In another possible implementation, if the USB3 connection between the USB3 host and a USB3 device only includes one USB3 virtual path, the USB3 Hub resources of the routing device are not used.
[0016] In another possible implementation, when a USB3 connection is established between a downstream port of a USB3 host and an upstream port of a USB3 device, only one USB3 virtual path needs to be established, and the USB3 Hub resources of the routing device are not used.
[0017] In another possible implementation, if a USB3 connection is established between a downstream port of a USB3 host and an upstream port of a USB3 device, and the USB3 Hub resources of the routing device are not used (either because the resources are not allocated or insufficient), only one USB3 virtual path needs to be established, and this one USB3 virtual path serves as the USB3 connection.
[0018] In another possible implementation, if the USB3 connection between the USB3 host and a USB3 device includes two or more USB3 virtual channels, the USB3 Hub resource in the routing device is used.
[0019] In another possible implementation, if a USB3 connection is established between a downstream port of a USB3 host and an upstream port of a USB3 device, two or more USB3 virtual paths need to be established, and the USB3 Hub resources of the routing device must be used.
[0020] In another possible implementation, when establishing a USB3 connection between a downstream port of a USB3 host and an upstream port of a USB3 device, using the USB3 Hub resources of a routing device, two or more USB3 virtual paths need to be established, and the established USB3 virtual paths serve as the USB3 connection.
[0021] In another possible implementation, when establishing a USB3 connection, one or more of the following rules must be met: Each connection passing through a routing device is allowed to use a maximum of one USB3 hub resource of the routing device; or, when a USB3 virtual path is established on the upstream port of the second USB3 hub of the routing device, all USB3 connections passing through the second USB3 hub must only pass through the established USB3 virtual path. This reuses the aggregation function of the USB3 hub and improves the capacity of the network topology.
[0022] In another possible implementation, when establishing a USB3 virtual path, one or more of the following rules are met: one USB3 upstream adapter can only establish a USB3 virtual path with one USB3 downstream adapter; or one USB3 downstream adapter can only establish a USB3 virtual path with one USB3 upstream adapter; or When hub resources are insufficient, multi-hop virtual paths can be established across routing devices. Alternatively, for routing devices, a single-hop virtual path consists of only one virtual channel. Messages transmitting the same service flow on a link constitute a virtual channel. Alternatively, for routing devices, a multi-hop virtual path is composed of two or more virtual channels. Alternatively, a unified multimedia interconnect port can pass through multiple virtual paths. Alternatively, for routing devices, internal USB3 adapters are not allowed to establish virtual paths with each other. Alternatively, when two end devices are directly connected or when an end device is connected to a routing device, USB3 virtual paths can be established between any USB3 upstream adapter and USB3 downstream adapter. Alternatively, when two end devices pass through a routing device, USB3 virtual paths can be established between any USB3 upstream adapter and USB3 downstream adapter within the two end devices, but the number of routing devices that can be crossed is limited to one. Alternatively, if a virtual path has already been established on the USB3 adapter with which the virtual path is to be established, the established virtual path can be removed first.
[0023] Among them, the packets transmitting the same service flow on the link constitute a virtual channel, which can be understood as: the link transmitting the packets of the same service flow on the link constitutes a virtual channel.
[0024] In a second aspect, a device for transmitting USB3 data is provided. The device is applied to a first device in a high-speed data transmission network, where the first device is any one of a USB3 host, a USB3 device, or a routing device in the high-speed data transmission network, and the high-speed data transmission network includes multiple USB3 hosts. The device includes: a USB3 downstream adapter and / or a USB3 upstream adapter. In particular:
[0025] A USB3 downstream adapter converts USB3 data into USB3 tunnel messages and sends them to the unified multimedia interconnect port corresponding to the USB3 connection. A USB3 connection is a communication link between the downstream port of a USB3 host and the upstream port of a USB3 device in a high-speed data transmission network. A USB3 connection includes one or more USB3 virtual paths, each of which is a path between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device. The second and third devices are two different devices in the high-speed data transmission network, namely, a USB3 host, a USB3 device, or a routing device.
[0026] A USB3 upstream adapter, used to convert USB3 tunnel messages back into USB3 data.
[0027] It should be noted that the device for transmitting USB3 data provided in the second aspect is used to implement the method for transmitting USB3 data provided in the above-mentioned first aspect or any possible implementation method. Its specific implementation can refer to the first aspect or any possible implementation method of the first aspect, and will not be repeated here.
[0028] In a third aspect, a computing device is provided, comprising a memory and at least one processor, wherein the memory is used to store a set of computer instructions; when the processor executes this set of computer instructions, the operations of the method described in the first aspect or any possible implementation method are performed.
[0029] In a fourth aspect, a chip is provided, comprising one or more interface circuits and one or more processors. The interface circuits are configured to receive signals from a memory of an electronic device and transmit the received signals to the processors, the signals comprising computer instructions stored in the memory. When the processors execute the computer instructions, the electronic device performs the steps of the method described in any one of aspects 1 to 6, or any possible implementation thereof.
[0030] In a fifth aspect, a data transmission system is provided, comprising multiple USB3 hosts and USB3 devices. A USB3 connection exists between the USB3 host and one or more USB3 devices, wherein the USB3 connection is a communication connection between a downstream port of the USB3 host and an upstream port of the USB3 device. The USB3 connection includes one or more USB3 virtual paths, wherein the USB3 virtual path is a path between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device. The second device and the third device are two different devices, namely, a USB3 host, a USB3 device, or a routing device. In particular,
[0031] The USB3 downstream adapter of the first device is used to convert USB3 data into USB3 tunnel messages and send them to the unified multimedia interconnection port corresponding to the USB3 connection; the first device is any one of a USB3 host (Host), a USB3 device (Device) or a routing device; or, the USB3 upstream adapter of the first device is used to restore the USB3 tunnel messages into USB3 data.
[0032] In a sixth aspect, a computer-readable storage medium is provided, comprising: computer software instructions; when the computer software instructions are executed in a computer, the computer executes the operations of the method described in any one of the first to sixth aspects, or any possible implementation method.
[0033] In a seventh aspect, a computer program product, when running on a computer, enables the computer to execute the operating steps of the method described in any one of the above-mentioned aspects 1 to 6, or any possible implementation method.
[0034] The solutions provided in the second to seventh aspects are used to implement the method provided in the first aspect or any possible implementation method, and therefore can achieve the same beneficial effects as the first aspect, and will not be repeated here.
[0035] It should be noted that various possible implementations of any of the above aspects can be combined under the premise that the solutions are not contradictory. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] FIG1a is a schematic diagram of a network topology provided in an embodiment of the present application;
[0037] FIG1b is a schematic structural diagram of a data transmission system provided in an embodiment of the present application;
[0038] FIG2 is a schematic diagram of the structure of another data transmission system provided in an embodiment of the present application;
[0039] FIG3 is a schematic diagram of basic components of an electronic device provided in an embodiment of the present application;
[0040] FIG4 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0041] [Corrected 18.01.2024 according to Rule 91] FIG5 is a schematic diagram of the layered structure of a USB3 data cross-protocol transmission protocol provided in an embodiment of the present application;
[0042] [Corrected 18.01.2024 according to Rule 91] FIG6 is a flowchart of a method for transmitting USB3 data provided in an embodiment of the present application;
[0043] FIG7 is a schematic diagram of a topological structure of USB3 in a unified multimedia internet network provided by an embodiment of the present application;
[0044] FIG8 is a schematic diagram of data flow of a USB3 connection provided by an embodiment of the present application;
[0045] FIG9 is a schematic diagram of a USB3 virtual path in a unified multimedia interconnection protocol provided by an embodiment of the present application;
[0046] FIG10 a is a schematic diagram of another USB3 virtual path provided by an embodiment of the present application;
[0047] FIG10b is a schematic diagram of another network topology provided in an embodiment of the present application;
[0048] FIG11 is a schematic structural diagram of a device for transmitting USB3 data provided in an embodiment of the present application;
[0049] FIG12 is a schematic structural diagram of another device for transmitting USB3 data provided in an embodiment of the present application. DETAILED DESCRIPTION
[0050] In the embodiments of the present application, in order to clearly describe the technical solutions of the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity or execution order, and words such as "first" and "second" do not necessarily mean different. There is no order of precedence or priority between the technical features described by "first" and "second".
[0051] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner to facilitate understanding.
[0052] In the embodiments of the present application, at least one can also be described as one or more, and multiple can be two, three, four or more, which is not limited in this application.
[0053] In addition, the network architecture and scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0054] To facilitate understanding, the relevant terms involved in the embodiments of this application are first explained.
[0055] Lane: refers to the circuit used to transmit signals.
[0056] Link: A link is used to transmit data signals or power, and is generally composed of one or more channels. A link is a collection of channels or a conductor line used for power supply.
[0057] Virtual channel (Shuttle): A link between two ports that transmits packets of the same service flow.
[0058] The USB3 protocol is a USB specification that includes versions such as USB 3.0, USB 3.1, and USB 3.2.
[0059] Data may refer to data in message format or other formats, which is not limited in this application.
[0060] USB3 data refers to data (such as messages or commands) transmitted using the USB3 protocol.
[0061] USB3 tunnel messages refer to messages that are obtained by converting USB3 data into a message format supported by another interface protocol.
[0062] A USB3 virtual path is a point-to-point path between a USB3 downstream adapter in one device and a USB3 upstream adapter in another device. The USB3 virtual path described in this application can also be called a USB3 logical path.
[0063] A USB3 connection refers to a point-to-point communication connection between a downstream port of a USB3 host and an upstream port of a USB3 device in a network. A downstream port refers to an internal downstream port that directly interfaces with a USB3 adapter and is used to send data; an upstream port refers to an internal upstream port that directly interfaces with a USB3 adapter and is used to receive data. For example, Figure 1a illustrates a network topology, showing a USB3 connection established between a USB3 host and a USB3 device (as indicated by the arrowed line in Figure 1a).
[0064] The technical solution provided in this application can be applied to a data transmission system including multiple data transmission devices, which can be devices, chips applied to devices, or interface devices, etc. In this data transmission system, a data transmission device (for example, a data sending device) and a data transmission device (for example, a data receiving device) can be directly connected, or indirectly connected through a switching device such as a router, that is, the multiple data transmission devices can all be connected to the switching device. In this application, data transmission can be performed between the multiple data transmission devices in a wired manner or in a wireless manner. In addition, when data transmission is performed between the multiple data transmission devices, signals can be transmitted directly or through an interface device.
[0065] When the data transmission device is a chip in a device, the chips in the data transmission system can be interconnected via wired or wireless means. The chip can be a chip in the device, a chip in a docking station, or a chip in an adapter, etc. The docking station can be connected to a Gigabit Ethernet port, a video graphics array (VGA), an HDMI port, a flash memory (TF) card, a secure digital (SD) card, a charging port, and a USB port, etc.
[0066] Optionally, when the data transmission device is a chip, the chip may further include an interface module, that is, the present application may be applied to an interface module for interconnecting chips. The interface module may be understood as an intellectual property (IP) module integrated inside the chip. Alternatively, the interface module may also be sold separately as an IP module. For example, the chip may be a system on chip (SoC), a central processing unit (CPU), or a graphics processing unit (GPU), etc., and the above-mentioned interface module may be an interface module in the SoC, CPU, or GPU, etc. Optionally, the interface module may be a transmitting circuit and / or a receiving circuit.
[0067] The following uses the data transmission system including multiple devices as an example to illustrate the structure of the data transmission device.
[0068] Figure 1b is a schematic diagram of the structure of a data transmission system provided in an embodiment of the present application. The data transmission system includes a first device 110 and a second device 120, which are connected to each other via a wired or wireless connection, such as a cable. USB3 data can be transmitted between the first device 110 and the second device 120, such as audio and video data or charging signals.
[0069] In an example, the first device 110 may be a set-top box, and the second device 120 may be a television. The set-top box and the television may be connected via a cable, and the set-top box may transmit audio and video data to the television via the cable.
[0070] In another example, the first device 110 is a display, and the second device 120 is a game controller. The display and the game controller can be connected via a cable, and the game controller can transmit control information to the display via the cable.
[0071] Optionally, the first device 110 may include interface A, and the second device may include interface B. The connection between the first device 110 and the second device 120 can be specifically a connection between interface A of the first device 110 and interface B of the second device 120. For example, interface A of the first device 110 and interface B of the second device 120 are connected via a cable.
[0072] In one scenario, the first device 110 or the second device 120 is a unified multimedia interconnection device deployed with a unified multimedia interconnection interface, which enables data interaction between third-party protocol devices through the unified multimedia interconnection network.
[0073] Figure 2 is a schematic diagram of the structure of another data transmission system provided in an embodiment of the present application. The data transmission system includes multiple devices 210 and a router 220. The multiple devices 210 can be connected to the router 220 via a wired or wireless manner. For example, the multiple devices 210 can all be connected to the router 220 via a cable. Among them, any two devices in the multiple devices 210 can transmit signals through the router 220, for example, to transmit audio and video data or charging signals.
[0074] In one example, the multiple devices 210 may include a display 211, a set-top box 212, and an audio player (e.g., MP3 (Moving Picture Experts Group Audio Layer-3)) 213. The set-top box 212 may transmit audio and video data to the display 211 via the router 220. The set-top box 212 may also transmit audio data to the audio player 213 via the router 220. In addition, the multiple devices 210 may include two interconnected devices. For example, the multiple devices 210 may also include a game controller 214. The game controller 214 may be connected to the display 211 and transmit control information to the display 211.
[0075] Optionally, each of the multiple devices 210 may include an interface, and the router 220 may include multiple interfaces, and the interface of each of the multiple devices 210 may be connected to one of the multiple interfaces of the router 220. For example, the multiple devices 210 include a display, a set-top box, a game controller, and an audio player, and the multiple interfaces of the router 220 include a first interface to a fourth interface, the interface of the display is connected to the first interface of the router 220 via a cable, the interface of the set-top box is connected to the second interface of the router 220 via a cable, the interface of the game controller is connected to the third interface of the router 220 via a cable, and the interface of the audio player is connected to the fourth interface of the router 220 via a cable.
[0076] The devices in the above-mentioned system with data transmission capabilities can be referred to as communication devices. The communication devices can be deployed on land, including indoors or outdoors, and can be handheld or vehicle-mounted. The communication devices can also be deployed on water (such as ships) or in the air (such as aircraft, balloons, and satellites). The communication devices can be applied in different scenarios. Exemplarily, the communication device may include, but is not limited to: a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a camera, a wearable device (such as a smart watch, a smart bracelet, a pedometer, etc.), an audio device, an audio and video player, a set-top box, a game console, a printer, a mouse, a keyboard, an in-vehicle device (such as a car, a bicycle, an electric car, an airplane, a ship, a train, a high-speed train, etc.), a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a smart home device (such as a refrigerator, a television, an air conditioner, an electric meter, etc.), an intelligent robot, a workshop device, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, or a smart home. Wireless terminals in homes, flying devices (e.g., smart robots, hot air balloons, drones, airplanes), etc. Optionally, the signals transmitted between the above communication devices may include, but are not limited to: audio and video signals, radio frequency signals, IoT data, and charging signals.
[0077] In this application, the interface specifications used for signal transmission between devices in a data transmission system may include, but are not limited to, the Universal Serial Bus (USB) interface specification, the High Definition Multimedia Interface (HDMI) interface specification, the DisplayPort (DP) interface specification, the Unified Multimedia Interconnection (UMI) interface specification, and the Peripheral Component Interconnect Express (PCI-Express) interface specification. Accordingly, the interface may be an HDMI interface, a Type-C interface, or the like.
[0078] For example, in the above examples, the interface connection method between the set-top box and the TV, or the interface connection method between the game console and the monitor can be connected through a USB cable, and the interface standard followed is the USB interface specification, or the connection method can be connected through an HDMI cable, and the interface standard followed is the HDMI interface specification.
[0079] It can be understood that the interface specifications used for signal transmission between the above-mentioned devices are only exemplary. In actual applications, the interface specifications may also include other or any interface specifications that may appear in the future, such as a unified media interconnection interface, etc. The embodiments of this application do not impose specific restrictions on this.
[0080] In the present application, when the above-mentioned device is an electronic device, FIG3 is a schematic diagram of the basic components of an electronic device. The electronic device includes an interface chip 300 (Uniform Multimedia Interconnect Interface), which includes one or more adapters 301, a management and control adapter 302, and one or more ports 303. Each of the one or more adapters 301 can be coupled to an external component of the interface chip 300. The management and control adapter 302 can be coupled to a component outside the interface chip 300 for management and control. The port 303 can be coupled to a connector 304 of the electronic device, which is used to couple external devices of the electronic device. Among them, one or more adapters 301 can be downstream adapters (transmitting adapters) or upstream adapters (receiving adapters). For example, when the adapter 301 is used for third-party protocol adaptation, the adapter 301 can be a third-party protocol adapter, such as a downstream adapter that converts USB3 data into USB3 tunnel messages, and an upstream adapter that restores USB3 tunnel messages to USB3 data.
[0081] For example, if port 303 is a downlink port, its corresponding adapter is a downlink adapter (transmitting adapter) that can adapt the service information to be sent into service information that can be transmitted on port 303 of the interface chip and then send the service information out through port 303. If port 303 is an uplink port, the uplink adapter (receiving adapter) can be used to adapt the service information received from port 303 into service information to be processed internally by the electronic device. The management and control adapter 302 can be used to adapt control information.
[0082] For example, when port 303 is a downstream port, its corresponding adapter is a downstream adapter (transmitting adapter) that can be used to adapt USB3 data to be transmitted into USB3 tunnel messages that can be transmitted on port 303 of the interface chip, and then send the USB3 tunnel messages out through port 303. When port 303 is an upstream port, the upstream adapter (receiving adapter) can be used to adapt USB3 tunnel messages received from port 303 into USB3 data to be processed internally by the electronic device for internal processing.
[0083] The basic components of different electronic devices can be combined to form a variety of different device types.
[0084] The solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
[0085] In one aspect, an embodiment of the present application provides a schematic structural diagram of a computing device 40. The computing device 40 can implement the functions of the first device 110 or the second device 120 shown in FIG1b.
[0086] 4 , the computing device 40 may include a processor 4010 , a bus 4020 , a memory 4030 , and a communication interface 4040 . The processor 4010 , the memory 4030 , and the communication interface 4040 are connected via the bus 4020 .
[0087] It should be understood that in this embodiment, the processor 4010 may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0088] The processor 4010 may also be a graphics processing unit (GPU), a neural network processing unit (NPU), a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the program of the present application.
[0089] The communication interface 4040 is used to implement communication between the computing device 40 and external devices or components.
[0090] The bus 4020 may include a path for transmitting information between the above-mentioned components (such as the processor 4010 and the memory 4030). In addition to the data bus, the bus 4020 may also include a power bus, a control bus, and a status signal bus. However, for the sake of clarity, various buses are labeled as bus 4020 in the figure. The bus 4020 may be a peripheral component interconnect express (PCIe) bus, an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a computer express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus 4020 can be divided into an address bus, a data bus, a control bus, etc.
[0091] As an example, computing device 40 may include multiple processors. The processor may be a multi-core (multi-CPU) processor. A processor herein may refer to one or more devices, circuits, and / or computing units for processing data (e.g., computer program instructions).
[0092] It is worth noting that FIG4 only takes the computing device 40 including 1 processor 4010 and 1 memory 4030 as an example. Here, the processor 4010 and the memory 4030 are respectively used to indicate a type of device or equipment. In a specific embodiment, the number of each type of device or equipment can be determined according to business requirements.
[0093] Memory 4030 may be a volatile memory pool or a non-volatile memory pool, or may include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0094] Exemplarily, the processor 4010 may perform the following functions by running or executing software programs and / or modules stored in the memory 4030:
[0095] Convert USB3 data into USB3 tunnel messages and send them to the unified multimedia interconnect port corresponding to the USB3 connection, or restore USB3 tunnel messages to USB3 data. The USB3 connection is a communication connection between a downstream port of a USB3 host and an upstream port of a USB3 device in a high-speed data transmission network. The USB3 connection includes one or more USB3 virtual paths, each of which is a path between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device. The second and third devices are different devices, namely, a USB3 host, a USB3 device, or a routing device in the high-speed data transmission network.
[0096] The solution provided in this application is applied to a high-speed data transmission network including multiple USB3 hosts and USB3 devices.
[0097] Optionally, the network may include a routing device. A routing device may contain zero, one, or multiple internal USB3 hubs. The USB3 hubs in the routing device are network resources and are allocated and used on demand when establishing USB3 connections.
[0098] This high-speed data transmission network supports USB3 protocol tunneling for data transmission within the network. Figure 5 illustrates the layering of various protocols during USB3 cross-protocol data transmission. As shown in Figure 5, the USB3 adapter layer is located between the USB3 link layer and the transport layer of the protocol supported by the high-speed data transmission network.
[0099] The USB3 adapter layer on the sending side converts the data sent by the USB3 link layer into data in other protocol formats (messages or other formats) and sends it to the transport layer of the other protocol. The USB3 adapter layer on the receiving side converts the data received from the transport layer of the other protocol into USB3 data and reports it to the USB3 link layer.
[0100] In the protocol layered architecture shown in FIG5 , the transmission process between the USB3 adaptation layer and the USB3 application layer (in the sending direction or the receiving direction) is described with reference to the USB3 protocol and will not be elaborated in this application.
[0101] The USB3 adapter layer encapsulates and packages USB3 link layer data and messages, converting them into USB3 tunnel messages, and vice versa, providing bidirectional, point-to-point communication between internal USB3 downstream ports and internal USB3 upstream ports. The USB3 downstream adapter and USB3 upstream adapter establish virtual pathways between different devices on the network. Once a USB3 downstream adapter establishes a virtual pathway with another USB3 upstream adapter, the corresponding internal USB3 downstream port and internal USB3 upstream port can establish a link, enumerate, and transfer data according to the USB3.2 protocol.
[0102] Specifically, for each USB3 device connected to the network, the management adapter first determines the USB3 host to be enumerated, and then establishes a USB3 connection between the USB3 device and the internal USB3 host. The process of establishing a USB3 connection is the process of establishing one or more USB3 virtual channels. When establishing a USB3 connection, if it passes through a routing device, the hub resources in the routing device may be used, of course, the hub resources in the routing device can also be not used.
[0103] In the scenario where a routing device is passed between the USB3 Host and the USB3 device, a USB3 virtual path is first established between the USB3 Host downstream adapter and the USB3 Hub upstream adapter. Then, a USB3 virtual path is established between the USB3 downstream adapter corresponding to a downstream port of the USB3 Hub and the USB3 upstream adapter corresponding to the upstream port of the USB3 device. Finally, a USB3 connection is established between the internal USB3 Host and the internal USB3 device.
[0104] Note that when the internal USB3 Hub resources of the routing device are insufficient, you can choose to directly establish a USB3 virtual path between the USB3 downstream adapter corresponding to the downstream port of the internal USB3 Host and the USB3 upstream adapter corresponding to the upstream port of the internal USB3 device to achieve multi-hop connection.
[0105] Furthermore, among the multiple USB3 Hosts deployed in the network, each USB3 Host establishes a USB3 connection with the enumerated USB3 Device according to the above process, forming a tree topology of each USB3 Device, which is maintained separately without affecting each other.
[0106] In one possible implementation, in order to support the architecture of multiple USB3 Hosts, the routing device in the network may include multiple USB3 Hubs. However, in one case, the network may be configured with only one USB3 Host, that is, a high-speed data transmission network including one USB3 Host and a routing device is provided.
[0107] Furthermore, when establishing a USB3 connection, if the USB3 connection between the USB3 host and a USB3 device only includes one USB3 virtual path, the USB3 Hub resources of the routing device are not used.
[0108] In another possible implementation, when a USB3 connection is established between a downstream port of a USB3 host and an upstream port of a USB3 device, only one USB3 virtual path needs to be established, and the USB3 Hub resources of the routing device are not used.
[0109] In another possible implementation, if a USB3 connection is established between a downstream port of a USB3 host and an upstream port of a USB3 device, and the USB3 Hub resources of the routing device are not used (either because the resources are not allocated or insufficient), only one USB3 virtual path needs to be established, and this one USB3 virtual path serves as the USB3 connection.
[0110] Furthermore, when establishing a USB3 connection, if the USB3 connection between the USB3 host and a USB3 device includes two or more USB3 virtual channels, the USB3 Hub resource in the routing device is used.
[0111] In another possible implementation, if a USB3 connection is established between a downstream port of a USB3 host and an upstream port of a USB3 device, two or more USB3 virtual paths need to be established, and the USB3 Hub resources of the routing device must be used.
[0112] In another possible implementation, when establishing a USB3 connection between a downstream port of a USB3 host and an upstream port of a USB3 device, using the USB3 Hub resources of a routing device, two or more USB3 virtual paths need to be established, and the established USB3 virtual paths serve as the USB3 connection.
[0113] In one possible implementation, when establishing a USB3 connection, one or more of the following rules are met: each time passing through a routing device, a maximum of one USB3 Hub resource of the routing device is allowed to be used; or, when a USB3 virtual path is established on the second USB3 Hub upstream port of the routing device, all USB3 connections passing through the second USB3 Hub can only pass through the established USB3 virtual path.
[0114] In another possible implementation, when establishing a USB3 virtual channel, one or more of the following rules 1 to 15 are satisfied:
[0115] Rule 1: One USB3 upstream adapter can only establish a USB3 virtual channel with one USB3 downstream adapter.
[0116] Rule 2: One USB3 upstream adapter and one USB3 downstream adapter establish a USB3 virtual channel.
[0117] Rule 3: One USB3 downstream adapter can only establish a USB3 virtual channel with one USB3 upstream adapter.
[0118] Rule 4: One USB3 downstream adapter and one USB3 upstream adapter establish a USB3 virtual channel.
[0119] Rule 5: When the USB3 Hub resources of the routing device are insufficient, it is allowed to establish a multi-hop virtual path across the routing device.
[0120] Rule 6: For routing devices, a single-hop virtual path contains only one virtual channel; messages transmitting the same service flow on the link constitute the virtual channel.
[0121] It should be understood that a single-hop virtual path in Rule 6 is only used to transmit packets of the same service flow.
[0122] Rule 7: For routing devices, a multi-hop virtual path is formed by connecting two or more virtual channels;
[0123] It should be understood that a multi-hop virtual path in Rule 7 can be used to transmit messages of two or more service flows.
[0124] Rule 8: For routing devices, a single-hop virtual path passes through a pair (two) of unified multimedia interconnection ports.
[0125] Rule 9: For routing devices, a multi-hop virtual path passes through two pairs (four) or more unified multimedia interconnection ports.
[0126] Rule 10: A unified multimedia interconnection port can pass through multiple virtual channels.
[0127] Rule 11: A unified multimedia interconnection link can pass through multiple virtual paths.
[0128] A unified multimedia interconnection link refers to a link between unified multimedia interconnection ports of two devices.
[0129] Rule 12: For routing devices, internal USB3 adapters are not allowed to establish virtual paths between each other.
[0130] Rule 13: When two end devices are directly connected, or when an end device is connected to a routing device, a USB3 virtual path is allowed to be established between a USB3 upstream adapter and a USB3 downstream adapter.
[0131] Rule 14: Alternatively, when a routing device is passed between two end devices, a USB3 virtual path is allowed to be established arbitrarily between the USB3 upstream adapter and the USB3 downstream adapter in the two end devices, but the number of routing devices that can be crossed is limited to one at most.
[0132] Rule 15: If the USB3 adapter that you want to establish a virtual path has already established a virtual path, you can choose to first remove the established virtual path.
[0133] On the other hand, embodiments of the present application provide a method for transmitting USB3 data. This method can be applied to a first device in a high-speed data transmission network. The first device can be any of a USB3 host, a USB3 device, or a routing device in the high-speed data transmission network. The high-speed data transmission network includes multiple USB3 hosts. As shown in FIG6 , the method for transmitting USB3 data provided in embodiments of the present application can include S601 or S602.
[0134] S601: A USB3 downstream adapter of a first device converts USB3 data into USB3 tunnel messages and sends the messages to a unified multimedia interconnection port corresponding to the USB3 connection.
[0135] A USB3 connection is a communication link between a downstream port of a USB3 host and an upstream port of a USB3 device in a high-speed data transmission network. A USB3 connection includes one or more USB3 virtual paths. A USB3 virtual path is a path between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device. The second and third devices are different devices, such as a USB3 host, USB3 device, or router in a high-speed data transmission network.
[0136] In one possible implementation, the high-speed data transmission network further includes a routing device, which includes one or more USB3 hubs. The USB3 connection between the downstream port of the first USB3 host and the upstream port of the first USB3 device includes: a USB3 virtual path between a USB3 downstream adapter corresponding to the downstream port of the first USB3 host and the USB3 upstream adapter corresponding to the upstream port of the first USB3 hub in the routing device; and a USB3 virtual path between a USB3 downstream adapter corresponding to the downstream port of the first USB3 hub in the routing device and the USB3 upstream adapter corresponding to the upstream port of the first USB3 device. The first USB3 host is any USB3 host in the high-speed data transmission network; the first USB3 device is any USB3 device in the high-speed data transmission network; and the first USB3 hub is any USB3 hub in the routing device.
[0137] When the USB3 connection between the USB3 host and the USB3 Device passes through the hub of the routing device, the USB3 connection includes two or more USB virtual channels.
[0138] In another possible implementation, the high-speed data transmission network further includes a routing device. When the routing device's USB3 hub resources are insufficient, the USB3 connection between the downstream port of the second USB3 host and the upstream port of the second USB3 device includes a multi-hop virtual path between a USB3 downstream adapter corresponding to the downstream port of the second USB3 host and the USB3 upstream adapter corresponding to the upstream port of the second USB3 device. The multi-hop virtual path passes through the routing device but does not pass through the routing device's USB3 hub. The second USB3 host is any USB3 host in the high-speed data transmission network; the second USB3 device is any USB3 device in the high-speed data transmission network.
[0139] In another possible implementation, the high-speed data transmission network further includes a routing device, which includes one or more USB3 hubs. The USB3 connection between the downstream port of the third USB3 host and the upstream port of the third USB3 device includes a multi-hop virtual path between a USB3 downstream adapter corresponding to the downstream port of the third USB3 host and the USB3 upstream adapter corresponding to the upstream port of the third USB3 device. The multi-hop virtual path passes through the routing device but does not pass through the USB3 hub of the routing device. The third USB3 host is any USB3 host in the high-speed data transmission network; the third USB3 device is any USB3 device in the high-speed data transmission network.
[0140] Specifically, when the USB3 downstream adapter of the first device needs to send USB3 data, it can execute the process of S601, convert the USB3 data into a USB3 tunnel message, and then send the USB3 tunnel message along the USB3 connection, that is, send it to the USB3 connection, and connect to the unified multimedia interconnection port of the next device of the first device.
[0141] In an exemplary embodiment, the first device is a USB3 host. The USB3 link between the host and the device passes through a hub in a routing device. In S601, when the downstream port of the USB3 host has USB3 data to send, it sends the USB3 data to its corresponding USB3 downstream adapter. After receiving the USB3 data, the USB3 downstream adapter converts it into a USB3 tunnel message and sends it to the unified multimedia interconnect port of the first device connected to the routing device.
[0142] Exemplarily, the first device is a routing device. In S601, upon receiving USB3 data routed from its upstream port, the downstream port of the USB3 hub in the routing device sends the USB3 data to its corresponding USB3 downstream adapter. The USB3 downstream adapter converts the received USB3 data into a USB3 tunnel message and sends it to the unified multimedia interconnect port of the first device that interfaces with the USB3 device.
[0143] S602: The USB3 upstream adapter of the first device restores the USB3 tunnel message into USB3 data.
[0144] Specifically, the USB3 upstream adapter of the first device receives a USB3 tunnel message from the USB3 link, specifically, after receiving the USB3 tunnel message from its corresponding upstream port, it can execute the process of S602 to restore the USB3 tunnel message to USB3 data, and then perform subsequent processing, including continuing routing, or reporting to the corresponding port.
[0145] Exemplarily, the first device is a routing device. In S602, the upstream port of the USB3 Hub in the routing device receives the USB3 tunnel message and routes it to the corresponding USB3 upstream adapter. The USB3 upstream adapter restores the USB3 tunnel message to USB3 data and reports it to the upstream port of the USB3 Hub.
[0146] Exemplarily, the first device is a USB3 device. In S602, the upstream port of the USB3 device receives a USB3 tunnel message and routes it to a corresponding USB3 upstream adapter. The USB3 upstream adapter restores the USB3 tunnel message to USB3 data and reports it to the internal controller for processing.
[0147] The examples in S601 or S602 above describe the process of a USB3 host sending data to a USB3 device. The process of a USB3 device sending data to a USB3 host is similar and will not be further described. It is important to note that during data transmission, the port receiving data is the upstream port, and the corresponding adapter is the upstream adapter, which converts the received USB3 tunnel message into USB3 data. The port sending data is the downstream port, and the corresponding adapter is the downstream adapter, which converts the received USB3 data into USB3 tunnel messages before continuing the transmission over the USB3 connection.
[0148] The USB3 connection is a bidirectional connection, where a downstream port in one direction may be an upstream port in the other direction, and vice versa.
[0149] Through the solution provided by this application, the network topology of the high-speed data transmission network includes multiple USB3 hosts, a USB3 connection exists between the USB3 hosts and the USB3 devices, and USB3 data is transmitted in the USB3 connection. The first device acts as any device in the USB3 connection. The USB3 downstream adapter in the first device converts the USB3 data into a USB3 tunnel message and continues to transmit it in the USB3 connection. After receiving the USB3 tunnel message, the USB3 upstream adapter in the first device restores it to USB3 data, thereby realizing the transmission of USB3 data between each USB3 host and the USB3 device connected to it. Multiple USB3 hosts in the network maintain their own tree topology through their respective USB3 connections without affecting each other, thereby supporting multiple USB3 hosts to work simultaneously and realizing a network topology with a wide range of application scenarios to support the transmission of USB3 data.
[0150] The above embodiment describes the transmission process of USB3 data in a high-speed data transmission network. The following examples illustrate the contents involved in the above embodiment, but do not constitute specific limitations.
[0151] First, the relevant concepts involved in this application are explained with examples.
[0152] 1. Standard USB3 port
[0153] A USB3 port fully complies with the USB3.2 protocol specification, encompassing the mechanical layer, physical layer, link layer, protocol layer, and application layer. Depending on the role played by the USB3 device, USB3 ports are categorized as either USB3 downstream ports or USB3 upstream ports.
[0154] Among them, the USB3 downstream port refers to the sending port, and the USB3 upstream port refers to the receiving port.
[0155] 2. Internal USB3 port
[0156] A USB3 port that directly connects to a USB3 adapter includes the link layer, protocol layer, and application layer of the USB3.2 protocol specification, but does not include the mechanical layer and physical layer of the USB3.2 protocol specification. Based on their position within the USB3 link, internal USB3 ports are categorized as internal USB3 downstream ports and internal USB3 upstream ports. Based on the role played by the USB3 device hosting the port, internal USB3 ports are categorized as internal USB3 host downstream ports, internal USB3 device upstream ports, internal USB3 hub upstream ports, and internal USB3 hub downstream ports.
[0157] To enable USB3 data transmission within the unified multimedia interconnect network, the unified multimedia interconnect protocol makes minor modifications to the link layer, protocol layer, and application layer of the USB3.2 protocol. In the unified multimedia interconnect topology, only internal USB3 ports can be connected to each other, not to standard USB3 ports.
[0158] 3. External USB3 port
[0159] The Unified Multimedia Interconnection Protocol places additional requirements on standard USB3 downstream ports. When no USB3 device is plugged into the USB3 downstream port, the insertion of the USB3 device must be detected in real time, and the local receiving-end matching impedance remains in an off-state. When a USB3 device is detected to be plugged in, the USB3 downstream port does not initiate link establishment and reports the device insertion event to the management adapter. The management adapter establishes a connection and completes enumeration for the internal USB3 Hub where the USB3 downstream port is located. The receiving-end matching impedance of the external USB3 downstream port is then switched to an on-state and link establishment is initiated. The Unified Multimedia Interconnection Protocol refers to this type of USB3 downstream port as an external USB3 downstream port. An external USB3 downstream port can only exist on the downstream port of the internal USB3 Hub of a unified multimedia interconnection terminal device. The Unified Multimedia Interconnection Protocol does not have a special definition for an external USB3 upstream port.
[0160] For example, in the USB3 topology diagram shown in Figure 7, for the USB3 Hub of end device 3, its downstream port is an external USB3 port, and its upstream port is an internal USB3 port. For the USB3 Hub of the routing device, both its upstream and downstream ports are internal USB3 ports.
[0161] 4. Internal USB3 devices
[0162] A device that has only internal USB3 downstream ports and implements USB3 host functions in a USB3 topology is called an internal USB3 Host device; a device that has one internal USB3 upstream port and several internal USB3 downstream ports and implements USB3 Hub functions in a USB3 topology is called an internal USB3 Hub device; a device that has only internal USB3 upstream ports and implements USB3 peripheral functions in a USB3 topology is called an internal USB3 Device device.
[0163] 5. Unified multimedia interconnection terminal equipment
[0164] Source devices and sink devices in the Unified Multimedia Interconnection Protocol are collectively referred to as Unified Multimedia Interconnection End Devices to distinguish them from Unified Multimedia Interconnection Routers. An internal USB3 Host or Device can only exist in a Unified Multimedia Interconnection End Device, and an internal USB3 Hub can only exist in a Unified Multimedia Interconnection Router.
[0165] 6. Unified Multimedia Interconnection - USB3 Host Device
[0166] A unified multimedia interconnection terminal device that includes an internal USB3 Host device is called a unified multimedia interconnection terminal-USB3 Host device.
[0167] 7. Unified Multimedia Interconnection - USB Device
[0168] A unified multimedia interconnection terminal device that includes an internal USB3 Device is called a unified multimedia interconnection-USB3 Device device.
[0169] 8. USB3 adapter
[0170] The USB3 link layer converts data and messages into USB3 tunnel messages specified by the Unified Multimedia Interconnection Protocol and sends them to the Unified Multimedia Interconnection Transport Layer. Furthermore, the USB3 tunnel messages received by the Unified Multimedia Interconnection Transport Layer convert back into USB3 data or messages and report them to the USB3 link layer components. Internal USB3 ports connected to the Unified Multimedia Interconnection topology must pass through a USB3 adapter. There are two types of USB3 adapters: those that connect to internal USB3 downstream ports are called USB3 downstream adapters, and those that connect to internal USB3 upstream ports are called USB3 upstream adapters.
[0171] It should be noted that the USB3 downstream adapter can also be referred to as the downstream adapter, and the USB3 upstream adapter can also be referred to as the upstream adapter, which will not be repeated in other contents of this application.
[0172] 9. USB3 tunnel message
[0173] The USB3 data or message encapsulated by the USB3 adapter is called a USB3 tunnel message.
[0174] It should be noted that USB3 tunnel messages can also be referred to as tunnel messages, which will not be repeated in other contents of this application.
[0175] 10. USB3 Virtual Channel
[0176] The management adapter establishes a point-to-point, bidirectional virtual path between a USB3 downstream adapter in one unified multimedia interconnect device and a USB3 upstream adapter in another unified multimedia interconnect device, allocating the maximum downstream and upstream data bandwidths for the virtual path. This process is called establishing a USB3 "virtual path." If the established virtual path passes through a routing device (referring to an internal USB3 hub that does not utilize a routing device), the USB3 virtual path is called a "multi-hop virtual path." Otherwise, it is called a "single-hop virtual path." From the perspective of the USB3 link layer, a USB3 virtual path is equivalent to a USB3 link.
[0177] It should be noted that the USB3 virtual path can also be referred to as a virtual path, which will not be described in detail in other contents of this application.
[0178] 11. USB3 connection
[0179] The management adapter establishes a bidirectional, end-to-end communication connection between the end device's internal USB3 Device upstream port and the internal USB3 Host downstream port, known as a "USB3 connection." This connection typically involves establishing several USB3 virtual pathways and allocating resources from the routing device's internal USB3 Hub. When the connection between the internal USB3 Device upstream port and the internal USB3 Host downstream port does not pass through a routing device, or when the connection passes through a routing device but not its internal USB3 Hub, establishing a USB3 connection is equivalent to establishing a USB3 virtual pathway.
[0180] It should be noted that USB3 connection can also be simply referred to as connection, which will not be repeated in other contents of this application.
[0181] The following is an example of a USB topology structure.
[0182] Figure 7 shows the topology of USB3 in a unified multimedia interconnection network. In the figure, three unified multimedia interconnection end devices form a unified multimedia interconnection network through a routing device. End device 1 contains an internal USB3 host device, end device 2 contains an internal USB3 device device, and end device 3 contains an internal USB3 hub device. The routing device supports two internal USB3 hub devices.
[0183] Note that the USB3 Device port in End Device 2 is an internal USB3 upstream port, so the device is considered an internal USB3 Device. Similarly, the USB3 Hub in End Device 3 is an internal USB3 Hub. The USB3 Hub downstream port in End Device 3 is an external USB3 port, supporting standard USB3 devices.
[0184] When the internal USB3 Host downstream adapter of end device 1 establishes a virtual path with the upstream adapter of the internal USB3 Hub1 of the routing device, and the internal USB3 Hub1 downstream adapter of the routing device establishes a virtual path with the upstream adapter of the internal USB3 Device of end device 2, then the internal USB3 Host of end device 1 and the internal USB3 Device of end device 2 are connected and can be enumerated.
[0185] Assume that the management adapter establishes a connection between the internal USB3 Host of end device 1 and the internal USB3 Hub of end device 3, and the Host enumerates the Hub. Then, the flow of USB3 data of this connection in the unified multimedia internet network is shown by the bold black line (no arrow) in Figure 8 (data flow of a USB3 connection).
[0186] Furthermore, in conjunction with FIG8 , the virtual channel, virtual path, and USB3 connection are described as follows:
[0187] Virtual Channel: Messages transmitting the same service flow on a link constitute a virtual channel. As shown in the dashed circle in Figure 8, the transmission of USB3 data messages between the downstream port of end device 1 and the upstream port on the upper left side of the router constitutes a virtual channel (the upper left dashed circle). The other dashed circle in Figure 8 represents another virtual channel.
[0188] Virtual Path: Multiple virtual channels are cascaded between two adapters to form a virtual path (Channel). As shown in Figure 8, there are two virtual paths: 1) from the "USB3 Downstream Adapter" on the right side of End Device 1 to the "USB3 Upstream Adapter" on the upper left side of the "Router Device"; and 2) from the "USB3 Downstream Adapter" on the upper left side of the Router Device to the "USB3 Upstream Adapter" on End Device 3. This is indicated by the two thick arrows in Figure 8.
[0189] USB3 connection: The connection between the USB3 host controller in end device 1 and the USB3 hub in end device 3 consists of two virtual paths, as shown by the thick black line (without arrows) in Figure 8.
[0190] Taking the downstream direction as an example, the flow of USB3 data is described in detail, including the following steps:
[0191] 1. The internal USB3 Host downstream port of end device 1 sends USB3 data.
[0192] 2. The downstream adapter of the end device 1 converts the USB3 data into a USB3 tunnel message and sends it to the unified multimedia interconnection port connected to the routing device.
[0193] 3. The unified multimedia interconnect port of the routing device receives the USB3 tunnel message and routes the message to the USB3 upstream adapter of the internal USB3 Hub1 upstream port.
[0194] 4. The USB3 upstream adapter converts the USB3 tunnel message into USB3 data and reports it to the USB3 Hub1 upstream port.
[0195] 5. USB3 Hub1 parses USB3 data and routes the USB3 data to its internal USB3 downstream port.
[0196] 6. The USB3 downstream adapter of the downstream port of USB3 Hub1 encapsulates the USB3 data into USB3 tunnel messages.
[0197] 7. The routing device routes the USB3 tunnel message to the unified multimedia interconnection port connected to the end device 3.
[0198] 8. The unified multimedia interconnect port of terminal device 3 receives the USB3 tunnel message and distributes it to the USB3 upstream adapter.
[0199] 9. The USB3 upstream adapter of end device 3 restores the USB3 tunnel message into USB3 data and reports it to the upstream port of the internal USB3 Hub.
[0200] The following is an example of an end device.
[0201] Unified Multimedia Interconnect source devices and Unified Multimedia Interconnect sink devices are collectively referred to as Unified Multimedia Interconnect end devices to distinguish them from Unified Multimedia Interconnect router devices. Internal USB3 Host devices and internal USB3 Device devices can only exist in Unified Multimedia Interconnect end devices, and internal USB3 Hub devices can only exist in Unified Multimedia Interconnect router devices.
[0202] In the USB3 topology diagram shown in Figure 7, End Device 1 includes an internal USB3 Host, while End Devices 2 and 3 include internal USB3 Devices. Note that End Device 3's USB3 Hub is a specific form of an internal USB3 Device and not an internal USB3 Hub. A USB3 Hub is considered an internal USB3 Hub only if both its upstream and downstream ports are internal USB3 ports.
[0203] The following is an example of a routing device.
[0204] The unified multimedia interconnect routing device contains zero, one, or multiple internal USB3 hubs. The USB3 hubs in the routing device are resources in the unified multimedia interconnect network and are allocated and used on demand when the management adapter establishes a USB3 connection.
[0205] When the management adapter establishes a connection between the internal USB3 Host and the internal USB3 Device in the unified multimedia internetwork, if the topology passes through a routing device, the routing device's internal USB3 Hub may be used. By default, the routing device's internal USB3 Hub is not enumerated by any USB3 Host device. Enumeration of the USB3 Hub occurs only when the management adapter where the internal USB3 Host device resides applies for permission to use the routing device's internal USB3 Hub and establishes virtual paths for the Hub's upstream and downstream ports.
[0206] In particular, when the USB3 Hub resources in the routing device are insufficient, the management adapter can choose to establish a multi-hop virtual path and not use the USB3 Hub resources of the routing device.
[0207] In the USB3 topology diagram shown in FIG7 , the routing device includes two USB3 Hub resources, and each USB3 Hub supports two USB3 downstream ports.
[0208] The following is an example of USB3 virtual channel.
[0209] The management adapter can freely establish USB3 virtual channels between different unified multimedia interconnection devices as needed, thereby supporting multiple USB3 hosts to work simultaneously, each maintaining its own tree topology without affecting each other.
[0210] Figure 9 below illustrates an example of a USB3 virtual path established by the management adapter and two USB3 hosts operating simultaneously. This example illustrates the USB3 virtual path within the unified multimedia interconnection protocol. As shown in Figure 9, six unified multimedia interconnection end devices are connected via a routing device to form a unified multimedia interconnection network. The internal USB3 host of end device 1 enumerates the internal USB3 device of end device 3. The internal USB3 host of end device 2 enumerates the internal USB3 hub of end device 4, the internal USB3 device of end device 5, and the internal USB3 device of end device 6. The two internal USB3 hosts operate simultaneously, each maintaining a USB3 tree topology without interfering with each other.
[0211] In Figure 9, the internal USB3 Host of end device 1 enumerates the internal USB3 Device of end device 3, which involves establishing two virtual paths: a virtual path between the downstream port of the internal USB3 Host of end device 1 and the upstream port of USB3 Hub1 of the routing device, and a virtual path between the downstream port of USB3 Hub1 of the routing device and the upstream port of the internal USB3 Device of end device 3. The internal USB3 Host of end device 2 enumerates the internal USB3 Hub of end device 4, which involves establishing two virtual paths: a virtual path between the downstream port of the internal USB3 Host of end device 2 and the upstream port of USB3 Hub2 of the routing device, and a virtual path between the downstream port of USB3 Hub2 of the routing device and the upstream port of the internal USB3 Hub of end device 4.
[0212] In particular, when the USB3 Hub resources of the routing device are insufficient, as shown in Figure 9, the management adapter can choose to directly pass through the routing device and establish a virtual path between the internal USB3 Host downstream port of the end device 2 and the internal USB3 Device upstream port of the end device 6. This virtual path that directly passes through one or more routing devices but does not pass through the USB3 Hub of the routing device is called a "multi-hop virtual path".
[0213] Note that the internal USB3 Hub downstream port of terminal device 4 belongs to the "external USB3 port". It is a standard USB3 connection path with USB3 Dev1 and USB3 Dev2, and does not belong to the virtual path in the unified multimedia interconnection concept. Each other connection between the downstream port and the upstream port represents a USB3 virtual path.
[0214] Note that a unified multimedia interconnect link can pass through multiple USB3 virtual channels. For example, as shown in FIG9 , there is a unified multimedia interconnect link between the end device 2 and the routing device, and the unified multimedia interconnect link passes through two virtual channels.
[0215] A unified multimedia interconnection link refers to a link between unified multimedia interconnection ports of two different devices.
[0216] In the unified multimedia interconnection network, the methods for establishing USB3 virtual channels are very flexible and diverse, as long as the rules for establishing virtual channels are met. The same unified multimedia interconnection link can establish multiple virtual channels, which operate independently and have no logical connection with each other.
[0217] For example, the various USB3 virtual pathways illustrated in Figure 10a below demonstrate that routing devices 1 and 2 are connected via a unified multimedia interconnect link. Through this unified multimedia interconnect link, the management adapter establishes two USB3 virtual pathways: one for connecting the internal USB3 Device upstream port of end device 6 to the internal USB3 Host downstream port of end device 1, and the other for connecting the internal USB3 Device upstream port of end device 5 to the internal USB3 Host downstream port of end device 2. The virtual pathway between the downstream port of internal USB3 Hub 1 of routing device 1 and the internal USB3 Device upstream port of end device 6 is a multi-hop virtual pathway.
[0218] Based on FIG10a , FIG10b illustrates a network topology.
[0219] As shown in Figure 10b, the USB3 host in End Device 1 has two USB3 connections (shown as the two bold black lines connected from End Device 1 in Figure 10b), including:
[0220] 1) The USB3 host of end device 1 is connected to the USB3 device of end device 3 via USB3 Hub 1 in routing device 1.
[0221] 2) The USB3 host of end device 1 is connected to the USB3 device in end device 6 via USB3 Hub 1 in routing device 1 and routing device 2.
[0222] As shown in Figure 10b, the USB3 host of end device 2 has two USB3 connections (shown as the two bold black lines connected from end device 2 in Figure 10b), including:
[0223] 1) The left DP port of the USB3 host of end device 3 passes through the USB3 Hub2 in routing device 1 and the USB3 Hub in routing device 2 to the USB3 device in end device 5.
[0224] 2) The right DP port of the USB3 host of end device 2 passes through routing device 1 to the USB3 device in end device 4.
[0225] The following is an example of establishing a virtual path.
[0226] When the management adapter establishes a virtual path between the USB3 upstream adapter and the USB3 downstream adapter, the following rules must be met:
[0227] ●One upstream adapter can only establish a virtual path with one downstream adapter.
[0228] ●One downstream adapter can only establish a virtual path with one upstream adapter.
[0229] ●When the USB3 Hub resources of the routing device are insufficient, it is allowed to establish a multi-hop virtual path across the routing devices.
[0230] ●For routing devices, a single-hop virtual path contains only one virtual channel.
[0231] ●For routing devices, a single-hop virtual path passes through a pair (two) of unified multimedia interconnection ports.
[0232] ●For routing devices, a multi-hop virtual path is formed by connecting two or more virtual channels.
[0233] ●For routing devices, a multi-hop virtual path passes through two pairs (four) or more unified multimedia interconnection ports.
[0234] ●A unified multimedia interconnection port can pass through multiple virtual channels.
[0235] ●For routing devices, internal USB3 adapters are not allowed to establish virtual paths between each other.
[0236] ●When two unified multimedia interconnection terminal devices are directly connected, or when a unified multimedia interconnection terminal device is connected to a routing device, a virtual path is allowed to be established between the upstream adapter and the downstream adapter.
[0237] ●When a routing device is passed between two unified multimedia interconnection terminal devices, a virtual path is allowed to be established between the upstream adapters and downstream adapters in the two unified multimedia interconnection terminal devices, but the number of routing devices that can be crossed is limited to one at most.
[0238] ●If the adapter you want to establish a virtual path with is already occupied, that is, a virtual path has been established with another adapter, the management adapter can choose to remove the virtual path first, provided that the impact of removing the virtual path on USB3 services is properly handled.
[0239] The following is an example of establishing a connection.
[0240] When the management adapter establishes a connection between the internal USB3 Device upstream port and the internal USB3 Host downstream port of the end device, if only one USB3 virtual path is needed, the hub resources of the routing device do not need to be used; if two or more USB3 virtual paths need to be established, the USB3 Hub resources in the routing device must be used. The following rules must be met to establish the connection:
[0241] ●Whenever a router is passed through, a maximum of one USB3 Hub resource of the router is allowed to be used.
[0242] ●When the USB3 Hub upstream port of the routing device establishes a virtual path, all connections passing through the USB3 Hub can only pass through this virtual path.
[0243] The following is an example of an external USB3 port.
[0244] An external USB3 port for the Unified Multimedia Interconnect protocol refers specifically to the downstream port of the internal USB3 hub of a Unified Multimedia Interconnect device. In addition to the transport, physical, and mechanical layer capabilities of a standard USB3 hub downstream port, the internal USB3 hub's downstream port must also support the ability to detect the insertion of a standard USB3 device even when the internal USB3 hub is not enumerated.
[0245] The UMI protocol defines external USB3 ports to support docking with standard USB3 devices. Therefore, external USB3 ports support the full functionality of a standard USB3 hub downstream port, including the protocol layer, link layer, physical layer, and mechanical layer.
[0246] In addition, the external USB3 port needs to detect the insertion of USB3 devices on the downstream port in real time when the internal USB3 Hub is not enumerated, while keeping the local receiving end matching impedance in the off state. When a USB3 device is detected, the external USB3 port does not initiate link establishment temporarily, but first reports the USB3 device insertion event to the management adapter. After the management adapter establishes a connection with the internal USB3 Hub and completes enumeration, it switches the receiving end matching impedance of the external USB3 port to the on state and starts link establishment and enumeration between the external USB3 port and the inserted USB3 device.
[0247] The above mainly introduces the solution provided by the embodiment of the present invention from the perspective of the working principle of the device. It can be understood that in order to realize the above functions, the computing device, etc. includes hardware structures and / or software modules corresponding to the execution of each function. It should be easy for those skilled in the art to realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present invention can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0248] In the embodiments of the present invention, computing devices, etc., can be divided into functional modules according to the above-described method examples. For example, functional modules can be divided according to respective functions, or two or more functions can be integrated into a single processing module. The above-described integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the module division in the embodiments of the present invention is illustrative and is merely a logical functional division. In actual implementation, other division methods may be used.
[0249] FIG11 illustrates a device 110 for transmitting USB3 data provided in an embodiment of the present application, wherein each functional module is divided according to its corresponding function. The device 110 for transmitting USB3 data is used to implement the function of the first device in the above-mentioned method embodiment. As shown in FIG11 , the device 110 for transmitting USB3 data may include: a USB3 downstream adapter 1101 or a USB3 upstream adapter 1102. The USB3 downstream adapter 1101 is used to execute process S601 in FIG6 ; the USB3 upstream adapter 1102 is used to execute process S602 in FIG6 . All relevant contents of each step involved in the above-mentioned method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.
[0250] In the case of adopting an integrated unit, as shown in Figure 12, another device 120 for transmitting USB3 data provided in an embodiment of the present application is used to implement the functions of the first device in the above embodiment. The device 120 for transmitting USB3 data includes a processing module 1201 and a communication module 1202. The processing module 1201 is used to control and manage the actions of the device 120 for transmitting USB3 data, and the communication module 1202 is used to communicate with other devices. For example, the processing module 1201 is used to execute the process S601 or S602 in Figure 6 above; the communication module 1202 interacts with the device 120 for transmitting USB3 data and other devices. The device 120 for transmitting USB3 data may also include a storage module 1203 for storing the program code and data of the device 120 for transmitting USB3 data.
[0251] The processing module 1201 may be the processor 4010 in the physical structure of the computing device 40 shown in FIG4 , and may be a processor or controller. For example, it may be a CPU, a general-purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processing module 1201 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on. The communication module 1202 may be the communication interface 4040 in the physical structure of the computing device 40 shown in FIG4 . The communication module 1202 may be a communication port, or may be a transceiver, a transceiver circuit, or a communication interface. Alternatively, the communication interface may enable communication with other devices through the aforementioned transceiver components. The transceiver components may be implemented by antennas and / or radio frequency devices. The storage module 1203 may be the memory 4030 in the physical structure of the computing device 40 shown in FIG4 .
[0252] As mentioned above, the device 110 for transmitting USB3 data and the device 120 for transmitting USB3 data provided in the embodiments of the present application can be used to implement the function of the first device in the above-mentioned embodiments of the present application. For the convenience of explanation, only the parts related to the embodiments of the present application are shown. For specific technical details not disclosed, please refer to the embodiments of the present application.
[0253] In another aspect, embodiments of the present application provide a data transmission system comprising multiple USB3 hosts and USB3 devices. A USB3 connection exists between the USB3 host and one or more USB3 devices, wherein the USB3 connection is a communication connection between a downstream port of the USB3 host and an upstream port of the USB3 device. The USB3 connection includes one or more USB3 virtual paths, wherein the USB3 virtual paths are paths between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device. The second device and the third device are two different devices, namely, USB3 hosts, USB3 devices, or routing devices. In particular, any one of the USB3 hosts, USB3 devices, or routing devices includes the aforementioned USB3 data device 110 or USB3 data transmission device 120.
[0254] As another form of this embodiment, a computer-readable storage medium is provided, on which instructions are stored. When the instructions are executed, the method for transmitting USB3 data in the above method embodiment is executed.
[0255] As another form of this embodiment, a computer program product containing instructions is provided. When the computer program product is run on a computer, the computer is caused to execute the method for transmitting USB3 data in the above method embodiment.
[0256] As another form of this embodiment, a chip is provided, comprising one or more interface circuits and one or more processors. The interface circuits are configured to receive signals from a memory of an electronic device and transmit the received signals to the processors, the signals comprising computer instructions stored in the memory. When the processors execute the computer instructions, the electronic device performs the operational steps of the method described in the first aspect or any possible implementation.
[0257] The embodiment of the present application further provides a chip system, which includes a processor for implementing the technical method of the embodiment of the present application. In one possible design, the chip system also includes a memory for storing the necessary program instructions and / or data of the embodiment of the present invention. In one possible design, the chip system also includes a memory for the processor to call the application code stored in the memory. The chip system can be composed of one or more chips, or can include chips and other discrete devices, which is not specifically limited in the embodiment of the present application.
[0258] Those skilled in the art will readily appreciate that, in conjunction with the various exemplary units and method steps described in the embodiments disclosed herein, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or in a hardware-driven manner by computer software depends on the specific application scenario and design constraints of the technical solution.
[0259] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, the process or function described in the embodiment of the present application of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be an SSD.
[0260] The above is only a specific embodiment of the present application, but the scope of protection of this application is not limited to this. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A method for transmitting USB3 data, characterized in that, A first device applied to a high-speed data transmission network, where the first device is any one of a Universal Serial Bus (USB) 3 host, a USB 3 device, or a routing device in the high-speed data transmission network, and the high-speed data transmission network includes multiple USB 3 hosts; the method includes: The USB 3 downstream adapter of the first device converts USB 3 data into a USB 3 tunnel message and sends it to the unified multimedia interconnection port corresponding to the USB 3 connection; the USB 3 connection is a communication connection between the downstream port of a USB 3 host and the upstream port of a USB 3 device in the high-speed data transmission network; the USB 3 connection includes one or more USB 3 virtual paths, and the USB 3 virtual path is a path between the USB 3 downstream adapter in a second device and the USB 3 upstream adapter in a third device; the second device and the third device are two different devices among the USB 3 hosts, USB 3 devices, or routing devices in the high-speed data transmission network; Or, The USB 3 upstream adapter of the first device restores the USB 3 tunnel message to USB 3 data.
2. The method according to claim 1, wherein The high-speed data transmission network includes a routing device, and the routing device includes one or more USB 3 hubs. The USB 3 connection between the downstream port of a first USB 3 host and the upstream port of a first USB 3 device includes: A USB 3 virtual path between the USB 3 downstream adapter corresponding to the downstream port of the first USB 3 host and the USB 3 upstream adapter corresponding to the upstream port of the first USB 3 hub in the routing device; A USB 3 virtual path between the USB 3 downstream adapter corresponding to the downstream port of the first USB 3 hub in the routing device and the USB 3 upstream adapter corresponding to the upstream port of the first USB 3 device.
3. The method according to claim 2, wherein When the USB 3 hub resources of the routing device are insufficient, the USB 3 connection between the downstream port of a second USB 3 host and the upstream port of a second USB 3 device includes: A multi-hop virtual path between the USB 3 downstream adapter corresponding to the downstream port of the second USB 3 host and the USB 3 upstream adapter corresponding to the upstream port of the second USB 3 device, and the multi-hop virtual path passes through the routing device but does not pass through the USB 3 hub of the routing device.
4. The method according to claim 2 or 3, wherein If the USB 3 connection between a USB 3 host and a USB 3 device includes only 1 USB 3 virtual path, the USB 3 hub resources of the routing device are not used.
5. The method according to any one of claims 2-4, wherein If the USB 3 connection between a USB 3 host and a USB 3 device includes 2 or more USB 3 virtual paths, the USB 3 hub resources in the routing device are used.
6. The method according to any one of claims 2-5, characterized in that, When establishing the USB 3 connection, one or more of the following rules are satisfied: For each routing device passed, at most 1 USB3 Hub resource of the routing device is allowed to be used; Or, When a USB3 virtual path is established on the second USB3 Hub upstream port of the routing device, all USB3 connections passing through the second USB3 Hub can only pass through the established USB3 virtual path.
7. The method according to any one of claims 2-6, characterized in that, When establishing a USB3 virtual path, one or more of the following rules are satisfied: 1 USB3 upstream adapter can only establish a USB3 virtual path with 1 USB3 downstream adapter; Or, 1 USB3 downstream adapter can only establish a USB3 virtual path with 1 USB3 upstream adapter; Or, when the USB3 Hub resources of the routing device are insufficient, multi-hop virtual paths are allowed to be established across routing devices; Or, for a routing device, a single-hop virtual path only contains one virtual channel; the packets transmitting the same traffic flow on the link constitute the virtual channel; Or, for a routing device, a multi-hop virtual path is connected by two or more virtual channels; Or, a unified multimedia interconnection port can pass through multiple virtual paths; Or, for a routing device, internal USB3 adapters are not allowed to establish virtual paths with each other; Or, when two end devices are directly connected, or an end device is connected to a routing device, USB3 upstream and downstream adapters are allowed to establish USB3 virtual paths arbitrarily between them; Or, when two end devices pass through a routing device, USB3 upstream and downstream adapters in the two end devices are allowed to establish USB3 virtual paths arbitrarily between them, but the maximum number of routing devices crossed is limited to 1; Or, if the USB3 adapter for which a virtual path is expected to be established has already established a virtual path, the established virtual path can be selected to be removed first.
8. A device for transmitting USB3 data, characterized in that, A first device applied to a high-speed data transmission network, the first device being any one of a universal serial bus USB3 host (Host), a USB3 device (Device), or a routing device in the high-speed data transmission network, and the high-speed data transmission network includes multiple USB3 hosts (Hosts); the device includes: a USB3 downstream adapter, and / or, a USB3 upstream adapter; wherein: The USB3 downstream adapter is configured to convert USB3 data into USB3 tunnel packets and send them to the unified multimedia interconnection port corresponding to the USB3 connection; the USB3 connection is a communication connection between the downstream port of a USB3 host (Host) and the upstream port of a USB3 device (Device) in the high-speed data transmission network; the USB3 connection includes one or more USB3 virtual paths, and the USB3 virtual path is a path between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device; the second device and the third device are two different devices among the USB3 host, USB3 Device, or routing device in the high-speed data transmission network; The USB3 upstream adapter is configured to restore the USB3 tunnel packets into USB3 data.
9. The device according to claim 8, characterized in that, The high-speed data transmission network includes routing devices, and the routing devices include one or more USB3 hubs. The USB3 connection between the downstream port of the first USB3 host and the upstream port of the first USB3 device includes: A USB3 virtual path between the USB3 downstream adapter corresponding to the downstream port of the first USB3 host and the USB3 upstream adapter corresponding to the upstream port of the first USB3 Hub in the routing device; A USB3 virtual path between the USB3 downstream adapter corresponding to the downstream port of the first USB3 Hub in the routing device and the USB3 upstream adapter corresponding to the upstream port of the first USB3 device.
10. The device according to claim 9, characterized in that, When the USB3 Hub resources of the routing device are insufficient, the USB3 connection between the downstream port of the second USB3 host and the upstream port of the second USB3 device includes: A multi-hop virtual path between the USB3 downstream adapter corresponding to the downstream port of the second USB3 host and the USB3 upstream adapter corresponding to the upstream port of the second USB3 device. The multi-hop virtual path passes through the routing device but does not pass through the USB3 Hub of the routing device.
11. The device according to claim 9 or 10, wherein If the USB3 connection between a USB3 host and a USB3 device only includes 1 USB3 virtual path, the USB3 Hub resources of the routing device are not used.
12. The device according to any one of claims 9-11, wherein If the USB3 connection between a USB3 host and a USB3 device includes 2 or more USB3 virtual paths, the USB3 Hub resources in the routing device are used.
13. The device according to any one of claims 9 to 12, characterized in that, When establishing the USB3 connection, one or more of the following rules are satisfied: For each routing device passed through, at most 1 USB3 Hub resource of the routing device is allowed to be used; Or, When a USB3 virtual path is established on the upstream port of the second USB3 Hub of the routing device, all USB3 connections passing through the second USB3 Hub can only pass through the established USB3 virtual path.
14. The device according to any one of claims 9 - 13, characterized in that When establishing a USB3 virtual path, one or more of the following rules are satisfied: 1 USB3 upstream adapter can only establish a USB3 virtual path with 1 USB3 downstream adapter; Or, 1 USB3 downstream adapter can only establish a USB3 virtual path with 1 USB3 upstream adapter; Or, when the USB3 Hub resources of the routing device are insufficient, multi-hop virtual paths are allowed to be established across routing devices; Or, for a routing device, a single-hop virtual path only includes one virtual channel; the packets transmitting the same service flow on the link constitute a virtual channel; Or, for a routing device, a multi-hop virtual path is connected by two or more virtual channels; Or, a unified multimedia interconnection port can pass through multiple virtual paths; Or, for a routing device, internal USB3 adapters are not allowed to establish virtual paths with each other; Alternatively, when two end devices are directly connected, or when an end device is connected to a routing device, a USB3 virtual path is allowed to be arbitrarily established between a USB3 upstream adapter and a USB3 downstream adapter; Alternatively, when a routing device is passed between two end devices, a USB3 virtual path is allowed to be established between the USB3 upstream adapter and the USB3 downstream adapter in the two end devices, but the number of routing devices that can be crossed is limited to one at most; Alternatively, if the USB3 adapter that is expected to establish a virtual path has already established a virtual path, the established virtual path may be removed first.
15. A computing device, characterized in that, The computing device includes a memory and at least one processor, wherein the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, the operation steps of the method described in any one of claims 1 to 7 are performed.
16. A chip, characterized in that, It comprises one or more interface circuits and one or more processors; the interface circuit is used to receive a signal from a memory of an electronic device and send the signal to the processor, wherein the signal includes a computer instruction stored in the memory; when the processor executes the computer instruction, the electronic device performs the operation of the method described in any one of claims 1 to 7.
17. A data transmission system, characterized in that, The data transmission system comprises a plurality of universal serial bus USB3 hosts (Host) and USB3 devices (Device), wherein a USB3 connection exists between the USB3 host (Host) and one or more USB3 devices (Device), wherein the USB3 connection is a communication connection between a downstream port of the USB3 host (Host) and an upstream port of the USB3 device (Device); the USB3 connection comprises one or more USB3 virtual paths, wherein the USB3 virtual paths are paths between a USB3 downstream adapter in a second device and a USB3 upstream adapter in a third device; the second device and the third device are two different devices among a USB3 host, a USB3 Device or a routing device; wherein: A USB3 downstream adapter of a first device, used for converting USB3 data into USB3 tunnel messages and sending the messages to a unified multimedia interconnection port corresponding to the USB3 connection; the first device is any one of a USB3 host, a USB3 device or a routing device; or, The USB3 upstream adapter of the first device is used to restore the USB3 tunnel message into USB3 data.
18. A computer-readable storage medium, characterized in that, include: Computer software instructions; when the computer software instructions are executed in a computer, the computer executes the operation steps of the method described in any one of claims 1 to 7.
19. A computer program product, characterized in that, The computer program product comprises a software program, and when the software program is executed by a computer or a processor, the computer or the processor is enabled to perform the operation steps of the method according to any one of claims 1 to 7.