Both SATA3 and USB 3 use 10:8 data transmission, meaning for every 10 bits of data, only 8 are actual information… the other 2 bits are error correction.
So you have SATA 3 with a maximum bandwidth of 6 gbps or 6 billion bits per second. That means an actual (6 / 10) * 8 = 4.8 gbps .. There’s 8 bits in a byte.. so you’re looking at 4.8 * 1,000,000,000 / 8 = 600,000,000 bytes per second. That’s 600 MB/s or 572 MiB/s (the measurement unit used when you look at file sizes, you’d transfer 572 MB file in one second)
USB 3 or USB 3.1 gen 1 has a maximum bandwidth of 5gbps .. doing the same math, we have a maximum speed of 500,000,000 bytes per second
So:
SATA 3 : 600,000,000 bytes per second.
USB 3 : 500,000,000 bytes per second.
USB 3 has other disadvantages over SATA3 ..
1. it’s half duplex, meaning a device can not send and receive data through the cable at the same time.
So when you transfer a file through USB 3 from an external device, several times during transfer the hard drive has to pause to receive message from the other end which says “Ok, i got everything so far, keep going” or “Hey dude, this packet of data is damaged, send it again” and then it will resume transferring data… SATA 3 will keep transferring while it receives messages from the sata controller, without pauses.
2. USB 3 packs all the data that goes through the cable in packets of certain sizes, and there’s a limited number of packets that can be sent through the cable to the PC within each second. Because of this packaging of data, for every packet of data, there’s a number of bytes of information that’s part of the “packet definition” which don’t contain useful information, they just make it easier for the usb controller to process the data packets going through the cable. So even though the maximum bandwidth is 500 million bytes, you don’t even get those 500 million bytes
Also due to the limited number of data packets that can go within a second, it’s quite possible that you could not actually send up to 500,000,000 bytes in a second. These limitations were more severe with USB 2.0 where even though the theoretical maximums were something like 46 MB/s in reality, you wouldn’t be able to transfer more than around 33-35 MB/s due to the way data was packed and send through the cable.
Your NVME SSD connects to the computer through multiple pci-e lanes, where each pci-e lane is capable of 500 MB/s in each direction (for pci-e v2.0 lanes) or 980 MB/s in each direction (for pci-e v3.0 lanes)
Your SSD probably used 4 pci-e lanes to communicate with the computer, giving it a maximum speed of 2 GB/s or ~3.9 GB in both directions. The benchmarks show 1400 MB/s when reading from SSD which indicate the use of at least 2 pci-e v3.0 lanes, or 4 pci-e v2.0 lanes.
The mechanical hard drive performance is limited by the mechanical drive itself, not the interface.
Have a look at the datasheet: https://www.hgst.com/sites/default/files/resources/TS-7K1000-ds.pdf
As you can see, the maximum transfer rate (from platters to the 32 MB of cache memory on the hard drive) is listed as 1284 megabits per second – if you divide that by 8, you have 160.5 MB/s (millions of bytes).
The interface is SATA3 (6 gbps or 600 MB/s) and you could potentially get such high speeds if you’re reading data from hard drive’s cache all the time (for example you load a playlist in your music player, play a song and then go automatically to next song.. if the files were physically one after another on the hard drive, the drive could copy the next song already in its 32 MB cache and when your music player tries to read the file, it could read it in memory at up to 600 MB/s)
This number is less than the maximum USB 3 or SATA3 or even SATA 2 (3 gbps or 300 MB/s) but SATA 2 or SATA3 should give slightly faster transfer speeds than USB 3 simply because of that half duplex thing of usb 3.0 and because the extra processing time that the chip which converts sata to usb brings in.
Leave a Reply