Storage devices speeds – usb, sata, nvme, pcie

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.htmlUSB 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 – Link1Link2 – 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 ProtocolSerial clock data – bitrateMaximum transfer speed
Real Data throughput
~ 75% of bitrate
! slow CPU can limit
USB 1.012 Mhz / 12 Mbits/s
USB 2.0480 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×220 Ghz / 20 Gbits/s / 2500 MB/s~1875 MB/s
USB 4.040 Ghz / 40 Gbits/s / 5000 MB/s~3750 MB/s
USB 4.0 Gen 280 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 NamesUSB 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 Speed5Gbps10Gbps10Gbps20Gbps
Interface OptionsUSB-A, USB-C,
microUSB
USB-C OnlyUSB-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

ProtocolBit-rateBit-rate in bytesData transfer speed
SATA ISATA 1.5Gb/s187 MB/s150 MB/s
SATA IISATA 3.0Gb/s374 MB/s300 MB/s
SATA IIISATA 6.0Gb/s750 MB/s600 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 resultsYou 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

Media1X speedCapacity
(GB)
X
Speed
Mbit/sMiB
CD1.2290.150.73448x = 7.2MB/s
DVD11.0801.324.716x = 21.12 MB/s
Blu-ray Disc36.0004.2925.05-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


1 thought on “Storage devices speeds – usb, sata, nvme, pcie”

Leave a Comment