PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

[测试] 浴室谈SSD系列八:True Speed

  [复制链接]
neeyuese 发表于 2012-4-1 21:42 | 显示全部楼层 |阅读模式
点击数:69712|回复数:82
前言

随着浦科特M3和M3P的推出,浦科特SSD产品已经成功超越镁光m4成为SSD新的性能王者。在同样超群、撑爆SATA3.0接口带宽的的持续读取速度以外,浦科特同时拥有更快的持续写入速度。
SSD买回来再用一段时间后会有性能下降的问题,就如同汽车发动机积碳,性能下降。(参考:http://bbs.pceva.com.cn/thread-10231-1-4.html
而浦科特特有的TrueSpeed技术宣称可以在使用中长久保持SSD性能不降低,吸引了广大玩家的注意,究竟什么是TrueSpeed?其实现原理又是什么呢?


1.jpg

3.jpg

Tips:在进入下一部分前,了解回顾一些相关知识,可以帮助您更好的理解下面的内容,可以参考:
什么是垃圾回收(Garbage collection,GC)?
什么是OP空间(Over-provisioning)?
http://www.pceva.com.cn/article-40-4.html

过去的写入数据结构会影响SSD的性能,固态硬盘的出厂态、GC态、稳定态:
http://www.pceva.com.cn/article-87-1.html

SSD写入、覆盖和GC:

57.jpg


TrueSpeed的两层含义

True Speed包含了2层含义,第一层是对比市场上第二热门的Sandforce主控方案而言。

随机存取方面:在同Sandforce产品的图标对比中我们可以看到,Sandforce在针对全0和全1这种可完全压缩数据模型的情况下可取得理想的成绩,但在实际的随机写入情况下,则完败于浦科特产品。而随机存取更接近用户实际使用环境,更符合用户的使用需求。浦科特产品表示出的效能是产品实际应用中能够体验到的实实在在效能。
满盘写入性能方面:这部分SandForce系列主控由于没有大容量外置缓存,内部算法需要进行2次映射,所以当盘被填满后,必然性能损失不少。


True Speed的第二层含义是指浦科特的长期使用不跌速算法,也是本文的讨论重点:

浦科特官网上对于True Speed实境效能的介绍:

2.jpg

4.jpg


实测True Speed不掉速

在上一部分浦科特给出的对比中,可看到这个不跌速的算法确实很强大,那么到底如何做到的呢?有没有他的缺点呢?

带着这个疑问对手上的128GB和256GB M3P动起了邪念,决定要找出True Speed第二部分的秘密。

暴力测试即将开始,耐久度纠结党退后~~~

测试方法:先用iometer生成一个测试文件,填满整块盘的容量,只留出2GB的空间跑AS SSD Benchmark用。

6.jpg

128G型号,只勾选AS SSD Benchmark的持续测试部分,连续跑7次(一次结束后不休息立马跑第二次),在第6次的时候出现了下图中写入速度跌到261MB/s的情况。然后休息10秒再跑第7次,速度回到330MB/s。

7.jpg 8.jpg

256GB我也做相同的操作,连续跑ASSSD持续读写测试不休息,结果也是到了某一次的时候写入会忽然下降,但是只要休息几秒速度就会回来:

这显然是垃圾回收非常激进的表现。


对True Speed的猜测与验证

为了验证,我对256GB的M3P跑了3次各24小时的非常变态的iometer稳定态测试。

测试方法:按照SNIA的企业级SSD测试标准,对SSD进行2小时的128KB全盘LBA范围写入,然后进行8X7种读写混合随机数据的测试,每种1分钟,测25轮也就是1400分钟。这将使SSD进入稳定态。

实验一:

第一次24小时测试跑完后,我就使用HDtune 5.0开默认写入测试这块盘的波形:

9.jpg

惨不忍睹了吧~一开始最高处301MB/s附近,之后在8~9GB附近速度跌到可怜的5MB/s附近直到结束。

我们来分析下这张速度图中反映出的SSD各位置的情况:

51.JPG

我来解释下:8~9GB的区域应该是这块SSD的默认OP空间。如何计算? 256GB X 7.37% ~ =18GB附近,其中一半容量用来放FW,FTL等组件的备份,另外一半容量用来做OP和备用块。

休息2分钟后跑第二次测试:


10.jpg


52.JPG

再休息2分钟,进行第三次测试:


11.jpg


53.JPG

分析:第二次的200MB/s以上的速度范围在17GB附近,第三次为26GB附近。(图中哪部分高出来不重要,因为实际逻辑地址和物理地址关联是不同的)

结论1:在这个算法中,每一次全盘范围LBA写入(Hdtune写入测试)会造成OP容量范围的地址速度恢复。(这个范围主控知道数据无效,被很激进的垃圾回收掉)


实验二:

为了验证上面这个结论,我对这块256GB进行了次Secure Erase返回出厂性能并人为的增加了第二层OP。(HPA限制访问范围)
Secure Erase后进入Linux下使用hdparm程序设置HPA范围到200GB容量。


12.jpg

13.jpg

14.jpg

然后老样子我进行了残忍的Iometer压力测试24小时,之后再进行HDtune的写入测试:

15.jpg

54.JPG

这次24小时压力折磨后,由于多出来28%容量的OP,盘其实还没到很稳定的“稳定态”,不过从图里很明显看出有OP的区域在56~57GB范围附近(后面还有点小高点没有稳定,不然前面可以到60GB以上),证明了OP容量内的数据都被垃圾回收了。


16.jpg

55.JPG

休息2分钟后进行第二次测试,130GB不到的容量被垃圾回收(接近2个OP范围):

17.jpg

56.JPG

再休息2分钟后进行第三次测试,接近190GB范围被垃圾回收:

18.jpg

再休息2分钟,跑第4次的时候自然是性能完全恢复了:

由此上的实验得出结论2:在这个算法中,OP容量直接关系到是否会被跌速,OP越大越不容易跌速,恢复的也更快。

为了确保这次测试的结论的准确,我又进行了第三次的24小时Iometer压力测试和HDtune写。(各位看官看的心疼了么~~~)


实验三:

这次我特地在每次写入后休息3小时,确保主控有足够的时间把该做的垃圾回收都做完,

19.jpg

20.jpg

21.jpg

得到了完全一样的结果。

结论3:增加了那么多OP后,24小时的Iometer测试达不到绝对”稳定态“;全盘写一次LBA就恢复一次OP范围


总结:
    SSD由于有自己独特的物理特性,成绩分成三态,出厂态,GC态和稳定态。SSD出厂态下效能最好,随着使用将逐渐进入稳定态,就如新车开的时间长了发动机渐渐发生积碳。而垃圾回收就像是汽车用低档高转速的方法来让发动机自动清除积碳,减少性能下降幅度,但正如“清除积碳”的过程中,也会对发动机造成一定磨损,“垃圾回收”也会对SSD的颗粒造成一定磨损。(垃圾回收的原理可参考:http://bbs.pceva.com.cn/thread-12095-1-1.html
所谓True Speed技术,其实就是一种很激进的闲置垃圾回收做法,主控是在随时监测盘的”空闲“状态,只要发觉有机可乘,则见缝插针,立马去做垃圾回收来达到最大化性能的目的,而垃圾回收的速度非常快,效率则取决于OP容量的大小。这种做法其实美光的m4也有在做,不过m4的反应没有那么激进,一般做到一定范围后就停止了,而True Speed会把能够优化的部分都尽可能做完。正是True Speed积极的垃圾回收,保证了浦科特SSD能够在使用过程中始终保持较好的效能。

    闲置垃圾回收并非多多益善,如果刚垃圾回收过的数据很快又被用户删除,则这部分数据的垃圾回收就白忙活了,同时还浪费了一定的颗粒耐久度。
True Speed可以保证在家庭应用和RAID应用下取得”不跌速“的表现,因为家庭用户在正常使用周期中不可能写入非常多的数据量,因此用少量的颗粒耐久度换取更强体验的做法是比较划算的。而从文中之前ASSD测试持续写入的时候,由于特意不给SSD休息,连续跑写入,主控没法提前做闲置垃圾回收,直到最后由于没有空闲空间来交换数据而不得不做“主动垃圾回收”的表现来看,True Speed不是很适合在持续高压力的服务器领域工作。

评分

参与人数 1活跃度 +5 收起 理由
泯灭之心 + 5 赞一个!

查看全部评分

whajcf 发表于 2012-4-3 20:36 | 显示全部楼层
自用M4..感觉留近一半空间 平常就感觉不出跟空盘的差距..
pktchenyulong 发表于 2012-4-3 20:38 | 显示全部楼层
  抢个位置,不错
ggxuelei 发表于 2012-4-3 20:46 | 显示全部楼层
抢占前排 - -

不过不能太水,,,

TrueSpeed和垃圾回收有关,这个可以想到,但没有浴大这样详细研究,学习了~
maoyanjiea 发表于 2012-4-3 20:48 | 显示全部楼层
不过这个倒是挺适合家用的,基本能保证不掉速了
kingshdom 发表于 2012-4-3 20:48 | 显示全部楼层
可怜的M3P
kkess 发表于 2012-4-3 20:53 | 显示全部楼层
24小时暴力写入测试,看得吾等纠结党心惊肉跳了
gcafrk 发表于 2012-4-3 21:10 | 显示全部楼层
个人认为,用磁盘扫描软件的“表面坏块扫描”功能来测试整盘的连续读取速度,应该比用测试软件测试出来的连续读取速度要更接近实际使用的速度吧?
neeyuese  楼主| 发表于 2012-4-3 21:15 | 显示全部楼层
表面坏块扫描的功能?那个你知道扫的是SSD哪里么?速度快可能根本没扫进颗粒,速度慢则可能扫到颗粒碎片处了,和实际使用根本没有比较性。
duskash 发表于 2012-4-3 21:18 | 显示全部楼层
可惜最近入的是M4,不然还真想做做Mac下的测试(Mac不原生支持第三方SSD的TRIM)

点评

怎么不支持呢?手动代码开启即可。  发表于 2012-4-12 21:29
overthink 发表于 2012-4-3 21:26 | 显示全部楼层
whajcf 发表于 2012-4-3 20:36
自用M4..感觉留近一半空间 平常就感觉不出跟空盘的差距..

留一半,够多
kx945` 发表于 2012-4-3 21:43 | 显示全部楼层
做个标记、
Slaughter 发表于 2012-4-3 21:55 | 显示全部楼层
写的很清楚,恐怕全中国也就浴室能写这样的帖子了。
浴室大大能不能改固件啊?把各种固件的优点集中起来再搞个新的,就是浴室专利了
heren3 发表于 2012-4-3 22:23 | 显示全部楼层
True Speed可以保证在家庭应用和RAID应用下取得”不跌速“的表现;
True Speed不是很适合在持续高压力的服务器领域工作。

嗯不适合我嗯
hengha202 发表于 2012-4-3 23:03 | 显示全部楼层
neeyuese 发表于 2012-4-3 21:15
表面坏块扫描的功能?那个你知道扫的是SSD哪里么?速度快可能根本没扫进颗粒,速度慢则可能扫到颗粒碎片处 ...

不知道浴室有没有可能做个三星 PM 830的暴力测试
三星的主控一直很神秘,找不到相关的资料参考,但是看测评效能还是蛮不错的
Mufasa 发表于 2012-4-3 23:06 | 显示全部楼层
M3的性能确实很高,比M4高不少。

所以我使用的时候也更加激进,分两个区装双系统使用。
在没有完整Trim支持的情况下,希望浦科特的固件能够长期坚挺。

(从这个测试来看应该很轻松)
大雄来啦 发表于 2012-4-4 00:02 | 显示全部楼层
其实蛮赞同浦科特这个策略,尽可能的覆盖用户关注的方面,同时一般用户不可能像浴室那样折腾,相应来说出现问题的几率就极低了,但是换来很好的MKT宣传效果和用户的实际体验
power-car 发表于 2012-4-4 02:19 | 显示全部楼层
当初看到True Speed的介绍时就想到了建兴应该是在GC中动手脚,原来浴室也持相同的看法
pphiuyt 发表于 2012-4-4 10:27 | 显示全部楼层
WIN7 20G+10G的游戏足以
lansend 发表于 2012-4-4 11:41 | 显示全部楼层
浴室大大,这个究竟会造成几倍的写入放大,这个算法背后会不会意味着M3和M3P可能只有镁光M4的几分之一的使用时间啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部