PCEVA,PC绝对领域,探寻真正的电脑知识
  • 内容展现
  • 最新评论
浦科特PlexTurbo测试
2014-8-19 19:05| 发布者: Essence| 查看: 57478| 评论: 26|原作者: Essence
摘要: 在浦科特M6Pro的评测中我们提到PlexTurbo具有加速SSD和降低SSD写入量的功能,本文将做详细的探索分析。
PlexTurbo加速效果测试
浦科特M6Pro的评测中我们提到PlexTurbo具有加速SSD和降低SSD写入量的功能,本文将做详细的探索分析。由于小编水平有限,且缺乏可供参考的资料,本文中的测试均是摸索得来,如有纰漏欢迎大家批评指正。

为了探索PlexTurbo功能的加速效果,首先使用到了一个最常见的工具软件:HDTune。HDTune文件基准测试的初衷不是为了测试内存加速软件,不过文件基准测试可以自定义测试文件长度,又能显示实时速度曲线,采样频率也比较快,能够满足我们这次的使用需求。

测试文件长度设置为2048MB,HDTune文件基准测试结果如下图:

HDTune文件基准测试是先连续写入,然后再连续读取(连续读取之后还有随机读写测试,不过那些不是我们今天要考察的内容)。传输速度曲线红色为写入速度曲线,蓝色为读取速度曲线。由基准测试项目1的数据可知,浦科特M6Pro 128GB的持续读取速度小于538MB/s,持续写入速度小于319MB/s,高于以上数值的读/写操作是受到了PlexTurbo内存缓存的影响。读取的部分,并非全部写入被缓存的区间在读取时都获得了速度增益,这是因为内存缓冲区大小受限。

PlexTurbo的缓存过程就是在写入过程中自己在内存中留了一份备忘。下面可以用一个比较形象的比喻:老师讲课过程中,小明在脑中记忆。老师讲了很多,小明只能记住一部分(内存缓冲区有限),后边讲的太快就记不住了。这时老师停下来提问,小明还记得的内容就能立刻回答出来,而记不住的就只能慢慢翻课本后才能回答了。

经过反复测试,最终我们确定PlexTurbo的内存缓存大小为900MB左右:

可能细心的读者已经发现,为何文件长度为900MB时写入速度平均只有319MB/s左右,曲线全程都没有多少高峰出现,完全不同于文件长度为2048MB时的情况。经过反复调整测试文件长度进行试验,我们发现当文件长度小于等于1999MB时写入速度基本就是M6Pro的实际写入速度,数据被老老实实的直接写到了固态硬盘内(Write Through模式);当测试文件长度大于等于2000MB时情况发生改变,写入速度曲线会出现高峰,PlexTurbo开始缓存写入数据(Write Back模式)。

为何文件长度2000MB会成为一个转折点?我们使用Process Monitor监视HDTune的写入操作发现,文件长度设置会影响到HDTune写入测试时的区块大小,文件长度设置越大,写入测试时使用的区块也越大,当达到文件长度设置达到2000MB时,写入测试使用的区块大小刚好是10MB。由此我们得知PlexTurbo对于持续写入操作的缓存策略:当连续写入时,如果数据区块小于10MB,则应用Write Through策略,数据被直接写入到固态硬盘内;如果数据区块大于等于10MB,则应用Write Back策略,要写入的数据进入内存缓存中的同时向M6Pro内写入(但写入到盘内后缓存的内容不会立即被释放,后边会分析缓存释放策略)。由于内存速度很快,900MB的内存缓存区被占满,此时暂停缓存,改为Write Through模式并全力将缓存中的数据写入到盘内。让我们再来看第一张HDTune文件基准测试图,920MB-1843MB区间就是内存缓存区被占满,应用Write Through模式的区间,这期间写入的数据未进入缓存中,所以再次读取的时候也不会得到速度增益,表现在图中就是读取速度曲线也是低位。

对于连续写入,10M区块大小是是否缓存的分界岭,小于10M区块的连续写入将不被缓存,这也就解答了M6Pro开启PlexTurbo后TxBENCH成绩里两项128K区块持续写入的性能读数没有提升。

上面是针对连续写入的缓存策略,低于10MB区块不缓存Write Through,大于10MB区块会缓存Write Back。对于随机写入,经过测试PlexTurbo会选择照单全收,全部缓存,应用Write Back模式。特别要指出的是,浦科特的PlexTurbo针对数据安全性还是做了比较多的考虑,虽然某些情况下应用Write Back模式将要写入的数据先缓存到了内存中,但并非把数据留在缓存内就不管了,而是会积极将其实际写入到SSD内,避免掉电数据丢失。

前面分析了数据进入缓存的策略,由于内存速度远大于NAND,900MB的内存缓存区被占满后就需要选择清空一部分旧缓存数据来接纳新的数据进入。浦科特宣称PlexTurbo在此有分析Hot DATA热数据的能力,自动将最常使用的数据保留在缓存内。关于PlexTurbo是否有热数据分析能力,因为要使用到测试PlexTurbo降低写入量效果的部分内容,我们在后边部分再分析,首先还是先来验证PlexTurbo是否具有降低SSD写入量的效果。

我们在前面已经提到,浦科特PlexTurbo重视数据安全,会及时将缓存内的数据实际写入到M6Pro盘内,那是否就意味着无法有效降低写入量了呢?内存缓存软件降低写入量和保持数据安全性原本是一对矛盾的选择,不过PlexTurbo还有一项能力能够降低写入量,那就是对比将要写入的数据和缓存内的数据,如果数据是相同的,则不进行实际写入固态硬盘的操作,从而降低了写入量。当然,要达到尽可能好的降低写入量效果,缓存内的数据必须是经常要写入的内容(分析Hot DATA热数据,将其保留在缓存中),这样才有更多机会遇到要写入的数据与缓存内的数据相同,不执行实际写入固态硬盘的操作,从而降低写入量。



1234下一页
收藏 邀请
0
本文版权归 PCEVA,PC绝对领域,探寻真正的电脑知识 原作者所有 转载请注明出处
发表评论

最新评论

引用 忘世 2014-8-19 17:25
hd tune测试合适吗?
引用 nighttob 2014-8-19 18:11
忘世 发表于 2014-8-19 17:25
hd tune测试合适吗?

只是HD Tune的读取测试会受到SSD原理的影响,写入测试还是实打实的写入的。
而且工具就是工具,还是在人会不会用。
引用 忘世 2014-8-19 18:26
nighttob 发表于 2014-8-19 18:11
只是HD Tune的读取测试会受到SSD原理的影响,写入测试还是实打实的写入的。
而且工具就是工具,还是在人 ...

谢谢说明
SSD新手一个
引用 haierccc 2014-8-19 19:53
那么多软件都在DRAM上打主意,用复杂的算法来求得高速度/低延迟。
什么时候外存的速度能够抵得上DRAM啊。。。
引用 黑鹰武士 2014-8-19 20:07
通读一遍 很靠谱 估计一年以后m7推出后 俺的M6S也能享受这个功能。。。哈哈
引用 huilailewo 2014-8-19 20:58
学习了,能不能辛苦再深度挖掘1下M6pro的http://bbs.pceva.com.cn/thread-97295-1-1.html  这里下数第2图 TT 的读写混合比不同的性能情况?
看M6pro128GB/256GB/512GB/1TB四档容量,对应缓存分别是256MB/512MB/768MB/768MB。比常见盘容量更充裕的盘上缓存配合内存缓冲减少实际的读写交错是有可能有更好的效果,就是不知实际怎样
引用 fengmingfm 2014-8-20 01:16
什么时候 PlexTurbo 能支持 M6S 和 M6M 啊???
引用 toche888 2014-8-20 08:52
huilailewo 发表于 2014-8-19 20:58
学习了,能不能辛苦再深度挖掘1下M6pro的http://bbs.pceva.com.cn/thread-97295-1-1.html  这里下数第2图 T ...

SSD本身的缓存主要是用来存放FTL表的, 闪存容量越大, FTL表就越大, 不是用来存放用户数据的。
引用 michelelee 2014-8-20 09:06
fengmingfm 发表于 2014-8-20 01:16
什么时候 PlexTurbo 能支持 M6S 和 M6M 啊???

都支持了,让M6PRO怎么卖。。。
引用 xmiangui 2014-8-20 10:37
比想象中好,看来不是单纯为了跑分设计的缓存软件。不过因为策略比较保守(怕掉电),也没太大惊喜。而且我个人是不喜欢这类抢操作系统工作的软件,倒不是不好,增加一层系统复杂度总觉得不可靠。

当然有这个需求的用户还是可以玩玩的,就好比有些存储设备,写入的时候数据在缓存留一份,能提高10倍的读性能。
引用 huilailewo 2014-8-20 11:10
toche888 发表于 2014-8-20 08:52
SSD本身的缓存主要是用来存放FTL表的, 闪存容量越大, FTL表就越大, 不是用来存放用户数据的。
...

现在的M6pro或是你说的那个样子但也不是不可改良的,那个路径是http://bbs.pceva.com.cn/thread-95933-1-1.html   《影驰战将M产品评测》里总结前的
          “  上面已经提到,战将M所用颗粒最小读写单元Page的大小是16KB。4K区块写入IOPS高出16KB区块,说明了固态硬盘对写入数据进行了缓存。简单的理解就是把要写入的数据在缓存中凑足16KB之后再写入到颗粒中,这样就减小了写入放大,也提高了性能。
固态硬盘的缓存中除了存放FTL表,也会有一小部分用于数据缓存。缓存也是有限制的,为了防止掉电导致数据丢失,数据缓存的容量一般都会比较小,并且会定期刷新将缓存数据写入到闪存中。
那么既然4K随机写入数据是经过缓存的,那么测试固态硬盘的写入能力就不应以此为依据,相比之下考察颗粒Page大小的随机写入性能更有意义。”

这1段里提出的,延展开来就是读有高优先权,写先缓冲着凑整并等待空闲时再写入闪存


引用 kkess 2014-8-20 11:34
huilailewo 发表于 2014-8-20 11:10
现在的M6pro或是你说的那个样子但也不是不可改良的,那个路径是http://bbs.pceva.com.cn/thread-95933-1- ...

应该是定时Flush缓存内存到NAND颗粒内,不管当前缓存了多少内容。
SSD预读取缓存是没有意义的,缓存命中率太低了
混合读写企业级盘做的都很好,Ocz的Barafoot 3主控应对混合读写的表现也不错
引用 Pale_Cheung 2014-8-20 13:16
haierccc 发表于 2014-8-19 19:53
那么多软件都在DRAM上打主意,用复杂的算法来求得高速度/低延迟。
什么时候外存的速度能够抵得上DRAM啊。。 ...

外部存储器进步,dram也会进步。

只要设计目的是“外存”,那永远就要差2个数量级。

因为这个系统就是这么设计的。
引用 xmiangui 2014-8-20 14:02
本帖最后由 xmiangui 于 2014-8-20 14:03 编辑
haierccc 发表于 2014-8-19 19:53
那么多软件都在DRAM上打主意,用复杂的算法来求得高速度/低延迟。
什么时候外存的速度能够抵得上DRAM啊。。 ...

因为一般意义上的外存,最大的特点是数据不易失,而要做到断电XX时间后数据完整,必须面对检错、纠错、冗余。想要进一步提高速度,还要依赖于缓存和映射。

这些都是要依靠复杂的算法来保证,既然有复杂的算法,也需要有高速的内存(供外存的主控使用的内存)。所以外存的速度依赖于内存速度和主控速度的发展,结果就是永远别想超过内存啦。

除非不计成本用比主流内存快一个数量级(同样也至少贵一个数量级)的技术,当然这样的产品估计也没多少人买得起。
引用 huilailewo 2014-8-20 21:36
kkess 发表于 2014-8-20 11:34
应该是定时Flush缓存内存到NAND颗粒内,不管当前缓存了多少内容。
SSD预读取缓存是没有意义的,缓存命中 ...

定时是易用稳定;      120G配256MB、240G配512MB缓存这不拿点出来用也太亏了, 在缓存中的数据写完后的空闲时预读那些难读的随机数据进缓存1但命中就快很多;    看到OCZ Vector 150广告里的混合读写效果,搞1搞新固件M6Pro有可能和它同样好或再好点
引用 easports1200 2014-8-20 22:27
感觉还是适合笔记本
引用 lxdddxl 2014-8-20 23:05
装个缓存软件例如PrimoCache设定写入延时也能减少硬盘写入量,而且对所有SSD和机械硬盘都有效
就是跑分没那么好看
引用 skill 2014-8-21 03:00
lxdddxl 发表于 2014-8-20 23:05
装个缓存软件例如PrimoCache设定写入延时也能减少硬盘写入量,而且对所有SSD和机械硬盘都有效
就是跑分没那 ...

可惜现在收费了,比 SUPER CACHE 还贵,其实这两个软件对机械盘更合适,用在SSD上,命中率很低
引用 mmrg 2014-8-21 16:08
本帖最后由 mmrg 于 2014-8-21 16:18 编辑



SuperCache 5.2
2X M6s 256

两次测试差好多

补图(不知道可以和6p有的拼不

查看全部评论(26)

热门评论
    热门评论
      返回顶部