(I edited my previous post - accidentally had GB/s instead of MB/s for PCIe 2.0 x4).
You are referring to these following devices?
1)
CalDigit USB-C Pro Dock which can be connected using either Thunderbolt 3 or USB-C depending on the computer?
2)
Sonnet Allegro USB-C PCIe
3)
CalDigit FASTA-6GU3 Pro
The CalDigit FASTA-6GU3 Pro uses an ASM1142 which has a PCIe 2.0 x2 connection = 1000 MB/s (without overhead, or ~750 MB/s with overhead)
The Sonnet Allegro USB-C PCIe uses the newer ASM3142 or the older ASM1142 (which do you have? look at the PCI list in System Information.app). The ASM3142 uses a PCIe 3.0 x2 connection, but in the Mac Pro it's limited to PCIe 2.0 x2, same as the ASM1142 so it's not much faster.
If you want fast USB speeds then you need faster USB devices. My current favourite method is to put a NVMe drive inside a USB to NVMe enclosure.
ORICO NVME M.2 to Type-C USB3.1 Gen2 10Gbps Transparent External Hard Drive Adapter Enclosure for 2280 2260 2242 2230 PCI-E M2 M-Key SSD, USB Type C Converter Case With C to C & C to A Cable (TCM2-Black)
www.amazon.ca
Plugable USB-C M.2 NVMe SSD Enclosure; Tool-Free & Driverless. USB 3 Type-C, including Thunderbolt and USB4, at 10Gbps. For M.2 NVMe SSDs 2230 to 2280 PCIe Gen 3 and 4. USB C and USB A cables included
www.amazon.ca
Since USB 3.1 gen 2 is limited to 10 Gbps (~980 MB/s), you don't need to use an expensive/fast NVMe drive to get the most use out of it. NVMe devices as low as 9¢/GB will have read/write speeds that exceed that.
To reach full USB 3.1 gen 2 speed (~980 MB/s) from a PCIe 2.0 slot (instead of just ~750 MB/s), you need a PCIe 2.0 x4 connection to the USB controller (GC-TITAN RIDGE, GC-ALPINE RIDGE, or ASM3142 behind a PCIe 3.0 switch which means a controller with two controllers or more than two ports).
Notes:
100 MB/s = 800 Mb/s = 0.8 Gb/s
PCIe 2.0 x4 = 5 GT/s lane * 4 lanes * 8b/10b = 16Gb/s = 2000 MB/s (without overhead)
USB 2.0 = 480 Mb/s = 60 MB/s (without overhead, so 25 MB/s seems reasonable).
USB 3.0 = 5 Gb/s * 8b/10b = 4 Gb/s = 500 MB/s (without overhead)
USB 3.1 gen 2 = 10 Gb/s * 128b/132b = 9.697 Gb/s = 1212.12 MB/s (without overhead, or ~980 MB/s with overhead)
G = giga = 1000000000
M = mega = 1000000
b = bits
B = bytes (8 bits / byte)
/ = per
s = seconds
T = Transfers (1 Transfer = 1 bit on the wire)
8b/10b = encoding of data on a wire for the PCIe 2.0 or PCIe 1.1 bus or SATA connection or USB 3.0 bus or DisplayPort or HDMI/DVI requires 10 bits per byte.
128b/132b = used by USB 3.1 gen 2 and later (128 bits of data requires 132 bits on the wire)
128b/130b = used by PCIe 3.0 and later (128 bits of data requires 130 bits on the wire)