Adapter nvme usb
On a 10Gbps you will get a CrystalDiskMark of around 1000MB/s sintetic speed and a real life copy/paste speed of around 500-700MB/s
On a 5Gbps you will get a CrystalDiskMark sintetic speed of around 500MB/s
IMPORTANT NOTE – in order to get the 10Gbps you MUST have a usb cable that is rated for 10Gbps – it should be written on it. There is no physical difference between the 5 and 10 Gbps it is only the quality of the wires and of the insulation.
The devices connected must support a 10 Gbps connection, this you can check in the specs and in software (sudo lsusb -v in linux), and then they will try to negociate a 10 Gbps connection, if the cable has too much loss they will revert to 5 Gbps connection.
SECOND NOTE – many laptops only support the 10 Gbps connection on USB-C ports. So make sure your adapter either has a 10 Gbps cable with usb-c OR you have a good usb-a to usb-c adapter with 10 Gbps marking on it, and those are more expensive.
https://www.aliexpress.com/item/1005007719465668.html – USB C 3.2 to USB A OTG Adapter 10Gbps High-Speed Type C
There are 4 chipset makers for USB to PCI-e bridge: Realtek, JMicron, Asmedia and Intel.
MAKE sure before buying that your device (laptop, pc etc) has the proper ports UBS 3.1 gen 1 or gen 2 or gen 2×2 as many laptops, even expensive gaming laptops dont have them.
Look up the device specs on the manufacturer website.
Most common and accesible are the 10Gbps USB 3.1 gen 2:
=> JMicron JMS583 (ORICO TCM2-C3, IcyBox IB-1817M-C31)
=> RTL9210B (SABRENT EC-SNVE, ORICO M2PV-C3)
=> ASM2362
Among these, the realteck chipset seems to be more stable with lattest firmware updates, and the asmedia the fastest.
Next gen is the 20Gbps USB 3.2 Gen 2×2 double the price double the speed:
=> JMS586
=> RTL9220
=> ASM2364
Cheap with no case – better ventilation – most cases only keep the heat and cause speed drops and disconnects – you can add one radiator, but you might need an extra usb-a to usb-c 10Gbps adapter that costs another 6 euro, as usb 3.2 gen 2 ports are quite rare most laptop support it on a usb-c device.
https://www.aliexpress.com/item/1005001700655503.html – RTL9210B – 6.5 euro
https://www.aliexpress.com/item/1005008135430493.html – JMS583 – 6.5 euro
Cheapest 10Gbps enclosure with cable – one review say the included cable cant do 10Gpbs. Be carefull about the usb-a to usb-c adater again. Check your ports before.
https://www.aliexpress.com/item/1005007580725712.html – RTL9210B – 9 euro
Cheapest 20Gbps enclousure – Link1 – Link2 – 20Gbps ASM2364 – 24 euro
Orico M2pvc3-g20 with fan – 20Gbps – 33 euro
Orico M2PAC3-G20 – asm2364 – 40 euro
UGREEN 20Gbps USB 3.2 Gen2 – 20Gbps RTL9220 – 33 euro
Yottamaster 40Gbps M.2 NVMe SSD Enclosure with Cooling Fan – one of the best cooling cases you can find.
https://github.com/bensuperpc/rtl9210-firmware – how to flash / reflash / unbrick Realtek chipsets
Note: a M2 nvme drive, only has x2 or x4 PCI-e lanes. PCI-e 3 has a speed of 1GB/lane and PCI-e 4 2GB/lane. So a PCI-e 3 2x can do a 0.71*2GB = 1420 MB/s good enought for a 10Gbits connection and a PIC-e 3 4x – 2.840 MB/s enough for a 20Gbits.
USB specification speeds:
USB Protocol | Serial clock data – bitrate | Maximum transfer speed Real Data throughput ~ 75% of bitrate ! slow CPU can limit |
USB 1.0 | 12 Mhz / 12 Mbits/s | |
USB 2.0 | 480 Mhz / 480 Mbits/s / 60 MB/s | ~45 MB/s |
USB 3.0 USB 3.1 Gen 1 USB 3.2 Gen 1 | 5 Ghz / 5000 Mbits/s / 625 MB/s | ~468 MB/s |
USB 3.1 Gen 2 USB 3.2 Gen 2 | 10 Ghz / 10 Gbits/s / 1250 MB/s | ~937 MB/s |
USB 3.2 Gen 2×2 | 20 Ghz / 20 Gbits/s / 2500 MB/s | ~1875 MB/s |
USB 4.0 | 40 Ghz / 40 Gbits/s / 5000 MB/s | ~3750 MB/s |
USB 4.0 Gen 2 | 80 Ghz / 80 Gbits/s / 10.000 MB/s | ~7500 MB/s |
Bitrate – is the physical number of bits of data that can be transfered. This is given by the frequency of the clock. From these a part are used part of the transfer protocol, to decide if data is writen or read, verification of data integrity etc.
Maximum transfer speed = maximum clock rate minus the control bits used in the comunication protocol – this is the real speed you will see when copying files.
New Names | USB 3.2 Gen 1×1 | USB 3.2 Gen 1×2 | USB 3.2 Gen 2×1 | USB 3.2 Gen 2×2 |
Previously Known As | USB 3.1 Gen 1 and USB 3.0 | — | USB 3.1 Gen 2 | — |
Transfer Speed | 5Gbps | 10Gbps | 10Gbps | 20Gbps |
Interface Options | USB-A, USB-C, microUSB | USB-C Only | USB-A, USB-C, microUSB | USB-C Only |
Thunderbolt 3 uses the USB-C connecter – it is made by intel so you will find it only on intel hardware.
When usb devices are connected to a Thunderbolt 3 or 4 port they see it as a native usb port with high speed.
Usb cable length is 3 meters for most devices, keyboard or mouse works with bigger cables.
If you need more cable, use active usb cable extender for up to 5 meter a cable, or up to 25m by using more devices. If you go with 25m the data is still good but you lose voltage, if you device requires more then 2W of power use external power.
M.2 – is a form factor of physical the slot that is 22mm wide.
The slot can have diferrent pins – it can have a sata connector (two notches) or a pcie connector (one notch) and some motherboards can accept both and switch between them from bios.
PCIe speeds
PCIe buses can support 1x, 4x, 8x and 16x lanes. M.2 slots can have x2 or x4 only.
PCIe 1.0 – 250MB/s per lane
PCIe 2.0 – 500MB/s per lane
PCIe 3.0 – 1 GB/s per lane – M2 4x a paper max speed = 4000MB/s with 3500MB/s real.
PCIe 4.0 – 2 GB/s per lane – M2 4x a paper max speed = 8000MB/s and a real world one of 7500MB/s.
PCIe 3.0 NVME M2 – can do 2GB/s or 4GB/s maximum. Real speed is 3500 MB/s for 4x.
The RTL9210B controller supports only 2x mode so that means 1750 MB/s.
20Gbits controller support all the 4x mode so the full 3500 MB/s.
So a PCI 3.0 M2 having only 4x will be capped at 3500 MB/s that is the echivalent to a USB4.0 chip that can do 3750MB/s.
PCI 4.0 M2 are already quite common and those can do 7000MB/s and will benefit from USB4.0 gen 2 – that is if you can find one, in 2024 not even 10 Gbits USB3.2 gen 2 are not that common.
NVMe = Non Volatile Memory Express – it is a storage protocol made for ssds (solid state drive) that takes advantage of the paralel transfer capabilities of flash memory – you have multiple flash modules vs one read/write head per disk in hdds.
THe protocol is used on bigger drives since it requires to have multiple physical flash memory chips.
SATA speeds
Protocol | Bit-rate | Bit-rate in bytes | Data transfer speed |
SATA I | SATA 1.5Gb/s | 187 MB/s | 150 MB/s |
SATA II | SATA 3.0Gb/s | 374 MB/s | 300 MB/s |
SATA III | SATA 6.0Gb/s | 750 MB/s | 600 MB/s |
Orico hdd rack comes with the ns1066x chip sata to usb bridge.
NS1066/NS1066X USB 3.0 to SATA Bridge Controller
Connected to the Orico rack with the NS1066X chip has a max read speed of ~ 100MB/s on a HDD HGST 500GB 5400RPM SATA 6.0Gb/s – Z5K500-500 and 280 MB/s on a Kingston SSDNOW300 120GB SSD.
Western Digital Black WD5002AALX 500GB 7200 RPM
Tested on SATA II and on SATA III has same results. You need a SSD to get any benefit from SATA 3.
It may get same result even on a SATA I given the bandwidth, but I don’t have one to test.
Here you can see a speed comparative between :
- Kinston DataTraveler 512 MB
- Sony MicroVault 16GB
- Verbatim 1GB
- SANDISK ULTRA USB3.0 16GB
SD Cards
V60 – 60 MBps
V90 – 90 MBps
CD, DVD and Blu-ray write speeds
Media | 1X speed | Capacity (GB) | X Speed | |
---|---|---|---|---|
Mbit/s | MiB | |||
CD | 1.229 | 0.15 | 0.734 | 48x = 7.2MB/s |
DVD | 11.080 | 1.32 | 4.7 | 16x = 21.12 MB/s |
Blu-ray Disc | 36.000 | 4.29 | 25.0 | 5-12x=21.45-51.48MB/s |
For reading speed drops with seek times of 120-170ms
WiFi speeds
You have to check the router maximum speed on different bands and your client maximum speed. Speed is given by the number of antenas the router/client has and maximum QAM speed and is ussually mentioned by the manufacturer.
WIFI5 or ac protocol 5Ghz band and 866 Mbits PHY (physical bitrate) – this bitrate it is only available when you are close to the router, otherwise it goes down.
The real transfer speed is 70% of the bitrate that your connection reports, as 30% is taken by the transfer protocol, that encrypts your data, has data receive/lost confirmation etc.
So if your os reports a connection of 433Mbits you will get a 300Mbits data transfer speed. For 320Mbits bitrate you get 220Mbits data transfer speed.
Note depending of your position versus the router and other things moving in between your connection bitrate will change all the time.
Manual speed test in console linux
To test the maximum real speed of a USB stick you can use Cristal Disk Mark on windows.
For real file transfer just copy a big file and see how it goes.
On linux I like to test with rsync and a ramdisk.
rsync -v source destination –progress
The speed with be dependent on the other variable either source or destination. If you dont have a faster ssd to copy to/from you can use a ramdisk.
sudo mount -t tmpfs -o size:5G tmpfs /mnt/ramdisk
and now you will use:
For write speed:
dd if=/dev/zero of=~/1g_file count=1 bs=1G status=progress oflag=direct
rsync -v /mnt/ssd/1g_file /mnt/ramdisk/1g_file --progress
For read speed:
rsync -v /mnt/ramdisk/1g_file /mnt/my_ssd_to_test/1g_file --progress
USB 4.0 is crazy