USB data transmission device for KVM cross-PC synchronization data
By dividing the USB microcontroller chip into independent data buffer pools and cross-connecting DMA channels, the problem of reduced transmission rate caused by shared storage areas in USB transmission is solved, enabling stable bidirectional file transmission between upstream devices and improving transmission efficiency and system reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Utility models(China)
- Current Assignee / Owner
- TESMART TECH CO LTD
- Filing Date
- 2025-09-12
- Publication Date
- 2026-07-24
Smart Images

Figure CN224553775U_ABST
Abstract
Description
Technical Field
[0001] This utility model relates to the field of data transmission, specifically to a USB data transmission device for KVM cross-PC data synchronization. Background Technology
[0002] Currently, there are many ways to achieve file transfer between multiple hosts, such as server-client architecture based on software and network, data router architecture based on hardware and network, and transmission architecture based on hardware and USB. This utility model relates to a device for data transmission via USB, so only the technical field of hardware and USB architecture will be discussed.
[0003] The basic principle of file sharing between hosts based on USB can be categorized as host-USB hub-receiver / transmitter-receiver / transmitter-USB hub-host. This method can provide fast transfer speeds and support multiple USB devices. However, the receivers / transmitters at both ends of this technology need to share a common storage area for data exchange. This results in the storage area needing to be used in a time-sharing manner when performing simultaneous bidirectional transmission, thereby reducing the transfer speed. Summary of the Invention
[0004] To address the aforementioned problems, this invention provides a USB data transfer device for KVM cross-PC data synchronization. By partitioning the storage area, different storage areas are used for different transmission directions. This method avoids the drawbacks of time-sharing access to storage areas, thereby improving the transmission rate and effectively overcoming the shortcomings of existing technologies.
[0005] This utility model is achieved through the following technical solution: a USB data transmission device for KVM cross-PC data synchronization, comprising a device body, the device body comprising:
[0006] A USB microcontroller chip, wherein the chip is provided with at least a first USB physical layer interface and a second USB physical layer interface;
[0007] A storage area is provided within the USB microcontroller chip, and the storage area is divided into a first data buffer pool and a second data buffer pool that are isolated from each other.
[0008] A DMA channel is directly connected to the first data buffer pool and the second data buffer pool. The DMA channel connects the write interface and read interface of each buffer pool to the corresponding USB data buffer.
[0009] The first data buffer pool and the second data buffer pool are cross-connected to the input / output bulk transfer endpoints of the USB PHY1 and USB PHY2, respectively, to form two data paths in opposite directions, thereby enabling simultaneous bidirectional file data transfer between the two upstream devices; and the file data transfer path is independent of the KVM's video transmission, keyboard and mouse transmission, USB 3.0 path and audio path.
[0010] As a preferred technical solution, the write interface of the first data buffer is connected to the input bulk transfer endpoint of the USB PHY1, and its read interface is connected to the output bulk transfer endpoint of the USB PHY2; the write interface of the second data buffer is connected to the input bulk transfer endpoint of the USB PHY2, and its read interface is connected to the output bulk transfer endpoint of the USB PHY1.
[0011] As a preferred technical solution, the DMA channel performs data transfer under the scheduling of the control processor, so that data writing and reading are automatically completed at the hardware level, without the need for the processor to perform time-sharing access and scheduling of the storage area.
[0012] As a preferred technical solution, the KVM is equipped with a channel isolation structure, which electrically isolates the file data transmission path from the video data path, the keyboard and mouse path, the USB 3.0 path, and the audio interface path.
[0013] As a preferred technical solution, the device body establishes a connection with the upstream USB device through the USB Hub module, and is connected to the keyboard and mouse processing module, USB 3.0 channel, network module and audio module respectively; the video stream is transmitted through an independent video transmission module.
[0014] As a preferred technical solution, the two upstream devices are respectively connected to USBPHY1 and USB PHY2 of the USB microcontroller chip, and establish a communication channel with the USB microcontroller chip through their respective two input endpoints and two output endpoints.
[0015] As a preferred technical solution, the device body is equipped with a PID distribution mechanism for identifying upstream devices, so that the downstream USB Hub module can correctly send the corresponding data to the USB microcontroller chip.
[0016] As a preferred technical solution, the first data buffer pool and the second data buffer pool are respectively connected to the corresponding USB data buffer through independent DMA channels to avoid resource contention for the same DMA channel under high-bandwidth bidirectional transmission.
[0017] As a preferred technical solution, the buffer depth and threshold between the DMA channel and each batch transfer endpoint are configurable, so that the data maintains a basically consistent throughput rate during the writing and reading process.
[0018] As a preferred technical solution, it also includes a keyboard and mouse path switching module, which is used to maintain the continuous connectivity of the file data transmission path and ensure that the transmission status is not affected when the keyboard and mouse control is switched between different upstream devices.
[0019] The beneficial effects of this utility model are: by setting two independent data buffer pools inside the USB microcontroller chip and constructing cross paths with two DMA channels respectively, this utility model enables two upstream hosts to simultaneously perform bidirectional transmission of file or clipboard data, breaking through the limitation of traditional KVM devices that file transmission can only be unidirectional or requires external storage media for relay.
[0020] This invention uses a DMA channel for automatic data transfer, avoiding processor intervention in time-sharing data reading and writing, thereby reducing CPU involvement, lowering system overhead and latency, and enabling file transfer to maintain a stable throughput under high-speed USB channels.
[0021] This invention combines a dual-buffer pool structure with DMA, enabling hardware matching of data writing and reading rates without relying on large-capacity caches for data accumulation and redistribution, effectively reducing the occupation of on-chip storage resources and improving hardware utilization.
[0022] This invention modularly isolates the file / clipboard data path from video, keyboard and mouse, USB 3.0, network port and audio paths, ensuring the independence and stability of file transmission, avoiding mutual interference of data from different business types, and improving the overall reliability of the system.
[0023] This invention, through the collaborative design of a USB Hub module and a video processing chip, enables the device to simultaneously perform multiple functions such as file transfer, keyboard and mouse switching, USB 3.0 interface expansion, audio / network port conversion, and video switching. Users can complete unified management of multiple types of data and signals without additional peripherals when operating the KVM, improving the convenience and integrated experience of use.
[0024] This invention introduces a buffer threshold and circular queue management at the buffer pool level, and works in conjunction with the standard USB bulk transfer protocol at the endpoint level. It can adapt to the speed differences and burst loads between two hosts, thereby ensuring the continuity and compatibility of data transmission and reducing packet loss or latency. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of this utility model or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this utility model. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 Model of this utility model Figure 1 ;
[0027] Figure 2 Model of this utility model Figure 2 ;
[0028] Figure 3 Model of this utility model Figure 3 . Detailed Implementation
[0029] All features disclosed in this specification, or all steps in all disclosed methods or processes, may be combined in any way, except for mutually exclusive features and / or steps.
[0030] Any feature disclosed in this specification (including any appended claims, abstract, and drawings) may be replaced by other equivalent or similar features, unless specifically stated otherwise. That is, unless specifically stated otherwise, each feature is merely one example of a series of equivalent or similar features.
[0031] like Figures 1-3 As shown, the device faces two upstream hosts (also referred to as "Upstream Device 1" and "Upstream Device 2"), each connected to the device's internal processing module via its own USB Hub unit. The device internally includes a USB data distribution unit and other transaction processing modules. The USB data distribution unit is specifically responsible for the acquisition, routing, and exchange of "file / clipboard data"; the other transaction processing modules are used for interface adaptation and state coordination with non-file services such as keyboard / mouse, network ports, USB 3.0, and audio.
[0032] After the "file and clipboard data" from the two upstream host sides are input from their respective USB Hub units, they are merged into the USB data distribution unit, and then transferred by the unit to the USB microcontroller chip at the core of the device. In parallel, the keyboard and mouse path, USB 3.0 path, network port path and audio path are processed by their respective functional modules and electrically isolated from each other to avoid occupying or interfering with file transmission.
[0033] The core hardware structure of the device is as follows Figure 2As shown, the core is a USB microcontroller chip, which integrates two independent USB physical layer interfaces (USB PHY1 and USB PHY2), facing upstream device 1 and upstream device 2 respectively.
[0034] Each USB PHY includes at least one control endpoint (endpoint 0) and several bulk transfer endpoints (endpoints 1 to 4 in the example, with specific numbering depending on chip resources) for transmitting and receiving large blocks of data. This implementation divides the chip's on-chip storage area into two independent data buffer pools: data buffer pool 1 and data buffer pool 2.
[0035] Each buffer pool has both a write interface and a read interface, and is connected to the USB data buffers on both sides via DMA transfer channels. To form a "bidirectional" straight-through path, the write interface of data buffer pool 1 is connected to the input bulk endpoint of USB PHY1, and the read interface is connected to the output bulk endpoint of USB PHY2;
[0036] The write interface of data buffer pool 2 is connected to the input bulk endpoint of USB PHY2, and the read interface is connected to the output bulk endpoint of USB PHY1.
[0037] Therefore, without CPU time-sharing, the chip can simultaneously establish a first-direction data path "upstream device 1 → upstream device 2" and a second-direction data path "upstream device 2 → upstream device 1", realizing true full-duplex reciprocating transmission.
[0038] To reduce the bottleneck caused by processor intervention and memory time sharing, this implementation uses a DMA controller to independently handle the two data paths.
[0039] Specifically, after the USB PHY receives a valid data packet from the bulk endpoint, under interrupt or event triggering, the processor only configures the source / destination address, transmission length and circular queue threshold of the corresponding DMA channel, and then exits the data plane loop; subsequently, the data is directly pushed from the receive buffer of one side of the PHY into the write end of the corresponding data buffer pool at the hardware level.
[0040] When the buffer write pointer reaches the threshold or an on-chip event is received, another DMA channel automatically moves the data from the read end of the buffer to the transmit buffer of the PHY on the other side and completes the transmit handshake.
[0041] Since both writing and reading are driven by independent DMA channels, and the two paths do not compete for the same channel resources, the write rate and read rate are naturally consistent at the hardware level. There is no need for additional large-capacity cache for "stacking and redistribution", thus achieving stable throughput with a smaller on-chip storage footprint.
[0042] Combination Figure 3 This allows for a further understanding of the isolation relationship between the device and various service pathways. The USB interface of upstream device 1 is branched off via the device's internal USB Hub module, providing: an Ethernet interface, an audio interface, a keyboard / mouse interface, a USB 3.0 interface, and a file data interface. The file data interface is directly connected to the USB data transfer module (its internal components are connected to...). Figure 2 The USB microcontroller chip is connected, and the network port / audio / keyboard / mouse / USB3.0 each enter their corresponding functional modules, and then connect one by one with the downstream USB Hub module on the upstream device 2 side to realize the typical multi-service switching of KVM.
[0043] The video service uses a dedicated video processing chip and video signal receiving unit (two receiving units in this example). The video signal is input from the video output port of the upstream device, aggregated and switched by the video processing chip, and then output to the corresponding video signal receiving unit. This modular and path isolation design ensures that file / clipboard data only flows within the USB data distribution unit and the USB microcontroller chip. Other paths will not occupy the aforementioned buffer pool and DMA resources, and there is no electrical or protocol interference between them.
[0044] The software / firmware integration process of the device is as follows. After the device is powered on and establishes a physical connection with the two upstream devices, the USB driver of each upstream device completes enumeration according to the standard process, enumerates the functional interface that carries batch transmission in the file / clipboard data direction (which can be a function of the composite device or a dedicated function connected to the hub), and establishes a batch endpoint transmit and receive queue with it.
[0045] After a user on the upstream device performs a "copy" action on device 1, the driver or upper-layer supporting program detects a system transaction interruption (such as a clipboard update event), encapsulates the clipboard data or selected file according to a preset protocol, and continuously transmits it through the batch "OUT endpoint" of device 1. The downstream USB Hub module distributes the data to the USB PHY1 of the USB microcontroller chip based on the PID / address. After receiving the data, the chip's firmware only needs to open the DMA write channel corresponding to that direction, and the data is automatically written to data buffer pool 1. Simultaneously, another DMA read channel is triggered by hardware when a threshold condition is met, automatically transferring data from data buffer pool 1 to the "IN endpoint" of USB PHY2 and sending the data to upstream device 2. Upon receiving the data packet, upstream device 2's driver / supporting program completes protocol decapsulation and clipboard / file system write updates.
[0046] When KVM performs a keyboard and mouse path switching, the user can perform a "paste" operation on device 2 to generate a file identical to that on device 1 or restore the clipboard content at a specified path.
[0047] If a copying operation occurs simultaneously on device 2, the data is transmitted in parallel via the opposite path of USB PHY2 → data buffer pool 2 → USB PHY1, without sharing the buffer pool or DMA channel with the aforementioned path. Therefore, the two-way transmission does not affect each other.
[0048] To enhance engineering reliability, this implementation preferably employs a circular queue organization and cache threshold management on two data buffer pools: setting high / low cache thresholds, triggering "immediate transfer" of the read DMA on the other side when the write cache crosses the high threshold, and automatically reducing the transfer priority when the read cache drops to the low threshold, in order to balance the instantaneous rate fluctuations of the two hosts;
[0049] Set up N×M URB / TD (transmission descriptors) for cyclic multiplexing at the endpoint queue layer to avoid link "jitter" caused by upper layer scheduling jitter; enable CRC check and short packet termination strategy at the PHY layer to ensure that the last packet of data can be released from the DMA channel immediately without waiting for timeout.
[0050] To prevent other services from preempting the file access path, other transaction processing modules control the keyboard / mouse / network port.
[0051] The USB 3.0 audio path has independent power supply and isolated wiring, and the bandwidth budget of the file transfer function interface is limited at the firmware level to ensure continuous throughput of the file path.
[0052] In one alternative embodiment, the specific number of the batch endpoints can be flexibly configured according to chip resources. For example, the "OUT endpoint 2" of USB PHY1 can be mapped to file download input, and the "IN endpoint 3" of USB PHY2 can be mapped to same-direction send output.
[0053] The reverse path uses another set of "OUT / IN endpoints". This numbering is merely an implementation example and does not constitute a limitation on the endpoint numbering in the claims. The capacity of the data buffer pool can be set according to the target rate and host transaction latency, typically ranging from several KB to hundreds of KB; when using high-speed USB (480Mb / s), the circular queue depth can be appropriately increased to match the burstiness of host-side batch transmissions.
[0054] In another optional embodiment, the USB data distribution unit may also incorporate simple service identification logic: data from both Hub units is categorized according to interface number / endpoint number or protocol header. Traffic identified as file / clipboard traffic is transferred to the USB microcontroller chip, while other traffic is routed directly to the corresponding functional module according to established connection relationships such as network port, keyboard / mouse, USB 3.0, and audio. This identification logic is table-driven and can be configured via firmware updates, avoiding intrusion into the upstream host driver.
[0055] In terms of assembly and application, this device can be integrated into an all-in-one KVM device: the casing has two upstream USB ports and a video port, and provides user-side interfaces such as keyboard and mouse, USB 3.0, network port, and audio; internally... Figure 3 The video processing chip and video receiving unit are placed outside the file path. The USB data distribution unit and USB microcontroller chip are connected to the hub modules on both sides via short wires to reduce signal integrity risks caused by wire length. To improve EMC performance and anti-interference capability, matching networks and common-mode chokes can be arranged at the differential PHY lines on both sides, and ground isolation bands can be set around the on-chip RAM corresponding to the two DMA paths.
[0056] This implementation uses a structure of "two mutually isolated data buffer pools + two independent DMA transmission channels + dual USB PHY cross-connection" to achieve simultaneous bidirectional file / clipboard data transmission between two upstream hosts; and through modular isolation of the keyboard and mouse, USB 3.0, network port, audio and video channels, it ensures stable bandwidth and low resource consumption of the file channel.
[0057] This invention relies entirely on the USB architecture, requiring no external network devices or large-capacity intermediate storage. It boasts advantages such as simple structure, stable throughput, controllable cost, and easy integration into KVM systems. Without departing from the spirit of the claims, the endpoint numbering, buffer pool depth, DMA triggering strategy, and the specific implementation of each path module can be equivalently replaced and adapted.
[0058] The above description is merely a specific embodiment of this utility model, but the protection scope of this utility model is not limited thereto. Any changes or substitutions conceived without inventive effort should be included within the protection scope of this utility model. Therefore, the protection scope of this utility model should be determined by the scope defined in the claims.
Claims
1. A USB data transfer device for KVM cross-PC data synchronization, characterized in that, Includes a device body, the device body comprising: A USB microcontroller chip, wherein the chip is provided with at least a first USB physical layer interface and a second USB physical layer interface; A storage area is provided within the USB microcontroller chip, and the storage area is divided into a first data buffer pool and a second data buffer pool that are isolated from each other. A DMA channel is directly connected to the first data buffer pool and the second data buffer pool. The DMA channel connects the write interface and read interface of each buffer pool to the corresponding USB data buffer. The first data buffer pool and the second data buffer pool are cross-connected to the input / output bulk transfer endpoints of the USB PHY1 and USB PHY2, respectively, to form two data paths in opposite directions, thereby enabling simultaneous bidirectional file data transfer between the two upstream devices; and the file data transfer path is independent of the KVM's video transmission, keyboard and mouse transmission, USB 3.0 path and audio path.
2. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: The write interface of the first data buffer is connected to the input bulk transfer endpoint of the USB PHY1, and its read interface is connected to the output bulk transfer endpoint of the USB PHY2; the write interface of the second data buffer is connected to the input bulk transfer endpoint of the USB PHY2, and its read interface is connected to the output bulk transfer endpoint of the USB PHY1.
3. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: The DMA channel performs data transfer under the control of the processor, enabling data writing and reading to be completed automatically at the hardware level, without the need for the processor to perform time-sharing access and scheduling of the storage area.
4. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: The KVM is equipped with a channel isolation structure, which electrically isolates the file data transmission path from the video data path, the keyboard and mouse path, the USB 3.0 path, and the audio interface path.
5. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: The device itself connects to upstream USB devices via a USB Hub module, and is also connected to the keyboard and mouse processing module, USB 3.0 channel, network module, and audio module respectively; the video stream is transmitted through a separate video transmission module.
6. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: Two upstream devices are respectively connected to the USB PHY1 and USB PHY2 of the USB microcontroller chip, and establish a communication channel with the USB microcontroller chip through their respective two input endpoints and two output endpoints.
7. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: The device body is equipped with a PID distribution mechanism for identifying upstream devices, enabling the downstream USB Hub module to correctly send the corresponding data to the USB microcontroller chip.
8. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: The first data buffer pool and the second data buffer pool are connected to their respective USB data buffers through independent DMA channels to avoid resource contention for the same DMA channel under high-bandwidth bidirectional transmission.
9. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: The buffer depth and threshold between the DMA channel and each batch transfer endpoint are configurable, so that the data throughput rate remains basically consistent during writing and reading.
10. The USB data transfer device for KVM cross-PC data synchronization according to claim 1, characterized in that: It also includes a keyboard and mouse path switching module, which is used to maintain the continuous connectivity of the file data transmission path and ensure that the transmission status is not affected when the keyboard and mouse control is switched between different upstream devices.