我在 NVMe 上有一个三星 960 Pro 512 GB SSD,运行 PCIe Gen.3x4。我使用三星 NVMe 驱动程序 2.0.0.1607。SSD 运行良好。但是,我不明白为什么4k的写入比4k的读取快。我正在使用 AS 基准测试:
它是 3 的因数!有什么问题(我的系统或 AS Benchmark)还是这正常?
Mok*_*bai 82
4k 读取将是驱动器可以做的最困难的事情。它们是驱动器能够处理的最小块大小之一,并且驱动器无法预加载大量数据,事实上,如果驱动器预加载逻辑打算读取任何内容,它们可能效率很低大于 4kb。
“正常”驱动器读取更有可能大于 4kb,因为很少有这么小的文件,甚至页面文件也可能被大块读取,因为程序“只有”可能会很奇怪4KB 内存调出。这意味着驱动器尝试执行的任何预加载实际上都会影响驱动器吞吐量。
4K 读取可能会通过驱动器缓冲区,但测试的“随机”部分使它们完全不可预测。控制器不知道驱动器何时可能需要再次进行更常见的“大”读取。
另一方面,4K 写入可以以高效的方式依次缓冲、排队和写出。驱动器缓冲区可以完成许多它设计的捕获和写入工作,磨损均衡器甚至可能将所有这些 4K 写入分配到同一个驱动器擦除块,偶尔将 4K“随机”写入转换为更接近顺序写入的东西。
事实上,我怀疑这就是“4K-64Thrd”写入中发生的事情,“64-Thrd”显然使用了大队列深度,从而向驱动器发出信号,表明它有大量数据要读取或写入. 这会触发大量写入集群,因此接近驱动器的顺序写入速度。执行 4K 写入仍然存在开销,但现在您完全暴露了缓冲区的潜力。在测试的读取版本中,驱动控制器现在认识到它处于非常恒定的重负载下,停止预加载数据,可能会避开缓冲区,而是切换到“原始”读取模式,再次接近顺序读取速度。
基本上,驱动控制器可以做一些事情来提高 4K 写入的效率,尤其是当它们的集群在相似的时间到达时,而它不能做任何事情来提高单个4K 读取的效率,尤其是在它试图优化时通过将数据预加载到缓存中来实现数据流。
Fab*_*ica 15
其他答案已经解释了为什么写作比阅读更快;我想补充一点,对于此驱动器,这绝对是正常的,因为您可以在评论中找到的基准测试证实了这一点。
ArsTechnica已审查了该驱动器,包括您的版本 (512 GB) 和 2 TB 版本:
(此图在评论中不会立即可见,它是第一个图库中的第 5 个,您必须单击它)
这两种型号的性能非常相似,它们的数字与您的相似:驱动器的读取速度为 37 MB/s,写入速度为 151 MB/s。
AnandTech还审查了该驱动器:他们使用了 2TB 模型,对队列深度为 1、2 和 4 的测试结果进行了平均。这些是图表:
驱动器读取速度为 137 MB/s,写入速度为 437 MB/s。该数字比您的高得多,但这可能是由于队列深度较高。无论如何,写入速度是读取速度的 3 倍,就像您的情况一样。
PC World 的另一篇评论:他们测试了 1 TB 版本,4K 的结果是读取速度为 30 MB/s,写入速度为 155 MB/s:
写入速度与您的一致,但这里的驱动器读取速度更慢。结果是比例是五比一,而不是三比一。
评论证实,对于此驱动器,随机 4K 的写入速度比读取速度快得多是正常的:根据测试,它甚至可以快 5 倍。
你的驱动没问题。没有理由相信它有问题,或者你的系统有问题。
小智 8
SSD 控制器在板载 NVRAM 中缓存写入,并在适当的时候将其刷新到闪存介质。写入延迟因此是缓存访问延迟,通常为 20us。相反,读取是通过媒体提供的,访问时间最多为 120-150us。
归档时间: |
|
查看次数: |
22947 次 |
最近记录: |