I am copying 7 to 16 Gb files from internal drive to a Sandisk ssd. Initial copy speed is very fast. Half a 16 Gb file will copy in less than a second, but as time goes on the speed progressively gets slower. Eventually the speed of the file transfer shows up on the screen, and it definitely shows it getting slower, and slower as it goes on. Not only does it get slower, The speeds are not consistent. Some times the speed slows very fast. By the time a 16 Gb file is finished copying I get a speed of 1Gb a sec, while other times I get a speed of 400 Mb a sec. What can be causing this, and why does it progressively get slower? As an example below is a short vid, (if it works,) of one of the faster copies. It was fast, but it also shows it slowing down.
My theory? Yeah, Linux USB drivers are not as optimized as under other operating systems. The filesystem used on the external drive also makes a difference. Using Ext2 (the one without journaling) is usually faster than Ext3 and Ext4, as is Fat32 faster than NTFS.
The video shows a speed of 1.6 GB/s with 3 seconds left. That speed is well beyond the specs of this drive. The SanDisk Extreme 55AE is advertised with max. write speed of 1000 MB/s. That tells me that the times you are measuring are influenced by caching activities.
At the end of the file transfer the speed is 925 MB/s = 92 % of theoretical max speed. I do not see any issue here.
It s an interesting thought. Copying with the help of caching allows faster than a drives advertised maximum write speed. I have not heard of anything like that, but it does not surprise me. I am not even up on the latest tech. If only devs could harness that property, and solve the progressive decrease in write speed considering it has been going on for the last 20 years. Interestingly, I tried to copy a folder of 9 files. The file sizes varied fron 9 Gb to 16 Gb. After trying to copy the whole folder I ended up canceling it because it slowed down to a crawl. That is a definite issue. In the end I copied a single file at a time which worked much better.
Essentially, 400mb/s are just a bit shy of the 500mb/s that drive has been tested for.
According to this support post, the drive uses an USB 3.2 Gen 2 to PCIe 3.0x2 bridge controller from ASMedia, I’m guessing with one lane for read and another one for write operations. Therefore, the bandwidth limit is essentially 0,97 GByte/s via PCIe (per lane).
Thus, the build in nVME is limited and couldn’t be used to it’s full potential. As it should be able to support PCIe 3.0 with up to 4 lanes.
Thanks for that link. Very useful. I used the command from the last few comments, and was able to get the smart info for my Sandisk drives. It threw me off at first because it showed that it was actually a Western Digital SN560E. I have since discovered Sandisk was part of Western Digital.
On a different note: The external enclosure which I’ve bought for a 256gb Intel Optane nVME uses a different chip, an Realtek RTL9210, but is essentially also limited to 2 PCIe lanes. Will investigate what I’m able to get out of this, but I do expect similar results.
In short, with a PCIe 3.0x4 link using an M.2 slot, the sequential read speed could be expected to be 1100 MB/s and 550 MB/s in sequential write speeds. At least that are the numbers which I was able to dig up.
In comparison to my internal WD Black SN770, that’s almost 8x faster in reads and 5x faster in writes.
Definitely, if you would run as sequential read/write test of larger files, e.g. 4GiB or even larger in KDiskMark or other applications, you’ll notice that after a short while the transfer speed would degrade to lower numbers. Simply due to the fact that the caches would fill up.
There is definitely a reason why Thunderbolt exists. Even if using an USB-C interface. Thunderbolt 3 for instances can rely on an PCIe 3x4 link and achieve 40GiB/s due to the 4 lanes,
Just for me, it’s a bit disappointing that the external nVME enclosure essentially only achieves speeds that I would expect from an SATA2 SSD. Therefore I would prefer that route for mass storage. (Mobo only has onje M.2 slot). Which is totally fine as I only purchased that Intel Optane drive for the case of failure, tinkering purposes & distro hopping.
NVME and SATA2 drives cannot be compared in speeds. NVME is much faster and also depends on which GEN it is running. Same counts for HDD vs SDD, you cannot compare those …or those hybride SHDD drives.
Well, I could now install one of my old SSD’s and check which read/write speeds I could achieve.
And my guess is: That SSD via SATA will eventually achieve the same speeds as the nVME which is bottlenecked by the USB-3.2 to PCIe 3x2 bridge.
It’s totally clear that an nVME via M.2 and PCIe 3x4 will be much faster than… and that’s the maximum my chipset will allow, still on Zen 3.
That being said, check the context as I’ve shared a picture of sequential read/writes of my nVME which is housed in an external enclosure. The Sandisk drive from @sempterobit is also nVME in a external enclosure.
It still depends on many things. USB 2.0 / 3.0 or 3.1 connection or USB-C/Thunderbolt. Also the controller within the case can cause it. A bad/cheap controller will not perform the read/writes as a good as a premium one.
The read writes you posted are from a ssd / sata m2.
The numbers are from an Intel Optane M10 nVME 256GB + 16GB 3-D Vcache, simply thrown into a UGreen external nVME enclosure, which is using a USB to PCIe bridge, the Realtek RTL9210…
Definitely not an SSD. As there isn’t one in my machine.
Sorry if I ask… but you are aware of the fact that @sempterobit was concerned about his read/write speeds he achieves with his SanDisk ?
I never expected great performance from that UGreen enclosure. Even wrote that explicitly.
The latest comments from your side are totally clear to me and you’re telling me nothing new.
I only posted those numbers of my external nVME for him as a comparison. As it seems like, the SanDisk drive is at least able to saturate the bandwidth.