I am testing my new PCI-E SSD in Linux.
I am using the following command to test its performance (reference: https://www.thomas-krenn.com/en/wiki/Linux_I/O_Performance_Tests_using_dd)
(1) dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=2048 --> 2.2GB/sec
(2) dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=2048 oflag=direct --> 2.2GB/sec
(3) dd if=/dev/zero of=/mnt/nvme0n1/tempfile bs=1M count=2048 --> 80MB/sec
(4) dd if=/dev/zero of=/mnt/nvme0n1/tempfile bs=1M count=2048 oflag=direct --> 800MB/sec
My guesses are as follows: (3, 4) is writing over the filesystem (formatted as NTFS for some reasons). However, (1, 2) is writing into the block device directly, which gives no overheads of file system.
Am I correct or not? Can you give me some explanations on it?