Intel SSD 760P 缓存机制实验与分析报告

问题描述

前几天,在C#中文件写的性能测试一文中,对C#的文件写的几种不同的方式的性能进行了测试。同时,文章源代码也在Git发布了。但是,经仔细分析,发现在写入时的速度居然达到了4.6GB/s。要知道,一般的机械硬件的速度通常在150MB/s左右,普通SSD的速度为500MB/s左右,而好点的NVME一般为 2000 MB/s 左右。这个测试结果显然是有悖常识的。

为了进一步了解Intel 760P 512 GB 的性能,经查询经查询在官方发现其描述如下(Intel P760性能官方描述地址):

Sequential Read (up to):  3230 MB/s 
Sequential Write (up to): 1625 MB/s

实验目的

在对实验数据进行仔细分析以后,发现写入速度在开始写时会非常快,随时写入时间的增加会突然降低,而且这个降低是阶梯式的不是缓慢下降。为了理解这个过程,又追加了一个实验,对写入的次数和数据量进行分析。

实验原理

对硬件进行连续多次写入测量,每次写入相同的数据量,观察每次写入时的速度。

实验代码

参见 https://gitee.com/hwaust/CSharpIOPerformanceTest 。

实验数据

第1次实验,共 50 次,每次将 100 MB 数据写入同一文件。

WritingSpeed (GB/s)  
3.861   4.558   4.011   5.013   5.013   5.270   5.277   5.269   5.285   5.006   // 第  1 - 10 次写入速度
5.278   4.775   5.277   5.273   5.277   5.281   5.013   5.277   5.020   5.270   // 第 11 - 20 次写入速度 
5.277   5.277   5.020   5.270   5.277   5.270   5.277   5.014   5.277   5.277   // 第 21 - 30 次写入速度
5.277   5.277   1.700   1.567   1.567   1.543   1.567   1.592   1.592   1.519   // 第 31 - 40 次写入速度
1.592   1.567   1.567   1.543   1.567   1.567   1.543   1.567   1.519   1.497   // 第 41 - 50 次写入速度

第2次实验,共 100 次,每次将 50 MB 数据写入同一文件。

WritingSpeed (GB/s)   
3.588   4.721   5.013   5.013   4.557   4.547   3.864   4.178   5.000   5.013   // 第  1 -  0 次写入速度
5.013   5.572   5.572   5.013   5.013   5.579   5.021   4.998   5.571   5.013   // 第 11 - 10 次写入速度
5.013   5.029   4.999   5.013   5.571   5.552   5.014   5.013   5.014   5.570   // 第 21 - 20 次写入速度
5.014   5.013   5.016   5.009   5.571   5.570   4.554   5.032   5.552   5.014   // 第 31 - 30 次写入速度
4.558   5.013   5.025   5.002   5.013   5.571   5.566   5.028   4.999   5.014   // 第 41 - 40 次写入速度
5.011   5.030   4.998   5.028   4.169   5.012   5.028   4.999   5.028   4.999   // 第 51 - 50 次写入速度
4.569   5.002   4.568   5.014   5.000   4.569   4.998   2.091   1.520   1.567   // 第 61 - 60 次写入速度
1.519   1.567   1.519   1.567   1.519   1.475   1.567   1.519   1.519   1.519   // 第 71 - 70 次写入速度
1.567   1.475   1.617   1.432   1.567   1.519   1.519   1.519   1.519   1.567   // 第 81 - 80 次写入速度
1.475   1.567   1.567   1.567   1.567   1.519   1.519   1.567   1.432   1.617   // 第 91 - 100 次写入速度

数据分析

根据以上实验数据,可以发现:

  • 第1次写入第33和第34次时,即数据量为3.25G以后,写入速度突然降至1.6GB/s 左右。
  • 第2次写入第66和第67次时,即数据量为3.3G以后,写入速度突然降至1.6GB/s 左右。
    阶梯式写入速度下滑是在数据3.3G左右时,产生速度突然下降。下降前速度为5GB/s,下降后为1.6GB/s。

实验结论

根据以上实验结果,我们可以得出有个推测结论:Intel SSD 760P 有内部缓存机制,数据先写入至缓冲,然后再写到存储芯片上,这个缓存的大小约为3.3G。当数据量小于3.3GB的时候,数据会以内存的速度即约5GB/s的速度写入,而超过这个值以后,数据才以真实的存储芯片的写入速度进行,即约1.6GB/s。

然后郝老师又查询了一下Intel 760P 的芯片结构,根据国外媒体 TOM’s Hardware的文章Intel SSD 760p Review: The New NVMe Value Leader所提供的硬件结构图,发现以下内容:

在这里插入图片描述
硬盘中有页缓冲和数据缓存,所以这就直接证实了之前的推测。因此,这块固态硬件在数据量小的时候,在没有带宽限制的前提下,可以达到5GB/s的峰值速度;而在连续写入的测试中,可以达到官方所说的约1.6GB/s的写入速度。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值