I recently bought a Samsung 960 Pro NVMe SSD (512GB) primary cause of its extremely high sequential read/write speeds. I usually convert videos to lossless format (GPU accelerated) so IOPS is the only bottleneck and 960 Pro's 2100MB/s Sequential write looked tempting. However, I cannot get anywhere closer to that speed for large file transfers. CrystalDiskMark shows good numbers however the real-world transfers are maxing out at 390MB/s.
For my test, I am using a 20GB file on a RAMDisk which has read speeds of ~9000MB/s so there is definitely no bottleneck there. My Interface is PCIe Gen. 3 x4 as confirmed in Magician, Trim enabled and so is Write Caching in Windows. Write cache buffer flushing is also enabled [unchecked] (as it reduces performance for NVMe SSD's instead of increasing it like SATA SSDs) [I tried disabling it as well but to no avail]. Lastly, I have Samsung NVMe 2.1 Driver installed. My Windows is a fairly clean installation and I performed NVMe Secure Erase on my SSD prior to installation.
Here is a screenshot of CrystalDiskMark (3 passes, 4GB each):
As can be seen, sequential performance is awfully close to advertised performance however I cannot replicate that for real-world transfers. Last, but certainly not the least, I have BitLocker enabled (software encryption as Samsung still hasn't enabled IEEE1667 on this drive) and I understand there is a bit of overhead because of that but 390MB/s instead of 2100MB/s cannot be caused by BitLocker alone!