如何确定 960 PRO M.2 的最佳块大小?

如何确定 960 PRO M.2 的最佳块大小?

我有一台三星 NVMe SSD 960 PRO M.2。

我正在安装 Gentoo。gparted通知我物理块大小与内核报告的不同。我以为通知是针对 M.2 SSD 的,所以我习惯dd在通知中为物理块大小写零。结果发现它适用于我的 USB 驱动器。

我想知道设备出厂时的块大小。我知道无论我给它什么,它都能正常工作,但我希望它能持久耐用。

答案1

注意:这个社区 wiki 实际上是 OP 最初作为对问题的编辑而发布的答案。


我做了很多研究才找到答案,这让我到现在才安装操作系统。不同块大小中存储的内容有很多。不同的硬件架构处理不同数量的晶体管,对于不同的块大小,彼此都不同。

我进行了一系列测试。以下是我所询问的设备的结果:

中值速度:

      bs =  write speed
     512 = 552 MB/s
    1024 = 783 MB/s
    2048 = 1.4 GB/s
    4096 = 2.0 GB/s
    8192 = 2.3 GB/s
   16384 = 1.7 GB/s
   32768 = 2.5 GB/s
   65536 = 2.6 GB/s // <=== Max Write Speed
  131072 = 2.6 GB/s
  262144 = 2.5 GB/s
  524288 = 2.5 GB/s
 1048576 = 1.7 GB/s
 2097152 = 2.5 GB/s
 4194304 = 2.2 GB/s
 8388608 = 1.9 GB/s
16777216 = 1.9 GB/s
33554432 = 1.8 GB/s
67108864 = 1.7 GB/s

中值速度:

      bs =  read speed
     512 = 682 MB/s
    1024 = 1.2 GB/s
    2048 = 1.8 GB/s
    4096 = 2.9 GB/s
    8192 = 2.9 GB/s
   16384 = 3.3 GB/s
   32768 = 3.4 GB/s
   65536 = 3.6 GB/s // <=== Almost max read spead
  131072 = 1.7 GB/s
  262144 = 3.6 GB/s
  524288 = 3.7 GB/s
 1048576 = 3.6 GB/s
 2097152 = 3.6 GB/s
 4194304 = 3.3 GB/s
 8388608 = 3.1 GB/s
16777216 = 1.8 GB/s
33554432 = 2.7 GB/s
67108864 = 2.5 GB/s

我使用计算器来计算中位数。在 Arch Linux 中,我每次读取运行 8 次测试,每次写入运行 8 次测试。在 USB 上运行的 Linux 发行版的测试不太准确。在运行 GUI 的 Linux 发行版的测试不太准确。由于设备电路的 I/O 增加,在正在测试的同一驱动器上运行的 Linux 发行版的测试也不太准确。

最佳结果来自使用外部 USB 3.0 连接的 SanDisk Extreme,以及 Arch Linux 安装 ISO。这是因为我尝试过的所有其他方式中,有几种块大小速度都已达到极限,因此无法确定此设备的最佳速度。许多块大小的测试速度相同,即在拇指驱动器上运行操作系统时为 1.7 GB/s,在被测试驱动器中为 1.8 GB/s 左右。

速度告诉我设备如何处理每个块的页面中存储的信息。

其中四项测试使用 ext4 文件系统运行。其他四项测试使用包含零的驱动器运行。这两组测试的前两项测试均使用 512B 块大小的驱动器。这两组测试的后两项测试均使用 4096B 块大小的设备。

所以答案是 65536B。

相关内容