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

饥饿鲨VX500与VT180 SLC Cache分析

[复制链接]
Essence 发表于 2016-12-31 19:21 | 显示全部楼层 |阅读模式
点击数:4395|回复数:11
虽然饥饿鲨VX500与VT180都使用了SLC Cache,但在算法上还是各有特色,毕竟他们从硬件基础上就已经是截然不同了:VT180使用饥饿鲨自己开发的Barefoot 3主控,而VX500所用的东芝主控则源于Marvell,又因独特的无外置缓存设计而不同于其他Marvell方案。本文将尝试探索和发现VX500与VT180在SLC Cache算法上的异同。

本次对比测试的饥饿鲨VT180与VX500实际闪存容量均为256GB,VT180多扣7%容量OP保留空间,二者均使用全盘SLC Cache,在HDTach测试中都是实际写入到全盘一半容量时用尽SLC Cache,当然不同的是SLC缓存用尽前后的读写速度均存在差异。

表面上来看,VX500在SLC缓存用尽之后持续写入速度只有100MB/s,低于VT180的200MB/s,但是持续读取速度上VX500比VT180更快。

以上测试的仅是空盘状态下直接一次性写入到满盘状态的过程,而实际使用中这样的情况绝少出现。既然两块盘都使用了全盘SLC Cache,我们就来看一下当用户正常实际使用超过一半容量的存储空间后,会发生怎样的变化。

首先来看VT180,使用IOMeter填盘160GB,此时盘内剩余可用空间约63.4GB,休息3分钟后使用HDTune文件基准测试进行60GB范围测试:SLC范围已达到盘内剩余空间的一半左右


上面的测试说明VT180已经非常高效地动态调整了SLC Cache,完整的将全部盘内剩余空间用作SLC Cache。

接下来测试饥饿鲨VX500,同样是先利用IOMeter填盘160GB,盘内剩余空间大约78.3GB。短暂空闲后使用HDTune文件基准测试75GB范围,结果测试全程写入速度都在100MB/s左右,也就是说SLC Cache没有释放。


但如果此时再测一遍HDTune文件基准75GB范围,你会发现SLC Cache已经回来了,并且容量依然是盘内可用容量的一半左右,也就是说,VX500即便在使用超过半盘容量之后,依然是有全盘SLC Cache的,前提是需要有实质性的数据写入,把空白块用尽之后被动GC就会开启,将原来SLC形态的数据整理成MLC,腾出空间来,简单的手动Trim是不起作用的。

这样的被动GC策略相比VT180是要保守很多的,不过好在VX500一旦发现空白块不够写就会开启Folding,将原SLC形态的数据整合成MLC形态,腾出空间接受新的SLC Mode写入。

小结:VT180的SLC Cache是随时调整的,SLC形态写入的数据在盘内会即时Folding成MLC形态,始终保持盘内剩余空间全部用作SLC Cache接受用户写入。对于VX500来说,写入的数据将持续以SLC形态存储在闪存当中,除非数据被删除,或者是盘内空白块不足以接受新的数据写入,才会进行GC或Folding,释放出空间来。当然了,SSD的空间是有限的,除了用作监控硬盘使用之外,用户不大可能无休止的进行持续的覆盖写入,一旦有文件被删除,就会GC释放出空白块用作SLC Cache以迎接新的写入;如果写入时没有空白块可用,则只有写入的时候边Folding边写入,Folding的过程会将以往写入的SLC形态的数据整理成MLC形态,SSD内部容量使用率越高,盘内实际以MLC形态存在的数据越多。已经以MLC形态存在的数据,不会再自动恢复成SLC形态。

一次性将VX500 256G从空盘填充到128GB占用,此时空白块基本用尽,运行PC Mark 8存储测试,VX500 256G的性能还是不错的:


由于VX500的SLC Cache不会动态调整,删除大体积文件后只是对其占用的闪存空间进行GC即可,盘内其他数据不会发生存储形态变化,因而不会产生长时间卡顿现象。在VX500 256G中一次性删除160GB的文件后,对VX500的访问没有卡顿,任务管理器中磁盘活动时间也一切正常。

前边的分析中我们提到了VX500存储的数据部分会以SLC形态长期存放,在没有空白块接纳新的写入请求时,SLC形态的数据会被Folding整理成最终的MLC形态。下面通过试验再次验证这个推测。

首先使用IOMeter生成110GB的随机内容测试文件iobw.tst,此时iobw.tst的数据都是以SLC形态存在于VX500当中,用IOMeter测得128K QD1持续读取速度为481.0218MB/s、4K QD1随机读取速度为21.42524MB/s、4K QD32随机读取速度为359.5404MB/s。

接下来关闭IOMeter,将iobw.tst测试文件改名为A,重新打开IOMeter,生成新iobw.tst测试文件填充满全盘(实际文件体积128GB)。在生成新的测试文件的过程中,由于盘内原有数据为SLC形态,没有足够空白块写入,VX500将会把原有110GB文件的数据Folding整理成MLC形态以释放空间。

完成上述“挤压”工作之后,把新近生成的iobw.tst改名成B,再将A文件改回iobw.tst文件名,以便IOMeter重新针对被挤压后的文件进行测试。此时用IOMeter测得128K QD1持续读取速度为480.1498MB/s、4K QD1随机读取速度为20.33423MB/s、4K QD32随机读取速度为342.6188MB/s。

上面通过写入过半盘容量的数据,将原本SLC形态存储的数据挤压成了MLC,接下来我删除128GB的B文件,恢复大量盘内空白空间,充分闲置之后重新用IOMeter测试iobw.tst(A文件):128K QD1持续读取速度480.0208MB/s、4K QD1随机读取速度20.33898MB/s、4K QD32随机读取速度342.2686MB/s,可以看到已经被整理成MLC形态的数据并没有因为“空间压力”消失而自行回到SLC状态,HDTune文件基准测试也可以验证这一点:128GB文件被删除后它所占用的空间已经可以被用作SLC Mode写入



如果以上的分析过程你看完后还是一脸懵圈,下面是通俗总结时间:

VT180的SLC算法追求高效利用SSD内的所有闪存,SLC Cache随时被动态调整到尽可能大的状态去迎接你的下一波暴虐写入。GC积极性MAX ,SLC Cache容量MAX,写入放大一般。

VX500的SLC算法追求降低写放大,写入的数据以SLC形态存储,不主动进行释放(整理成MLC形态),由于没有SLC释放带来的干扰,在出厂态下VX500拥有无与伦比的高性能表现。而随着SSD空间占用率提升,当SLC Cache把闪存空白块的家底败完之后,写入就只能靠边还债(Folding整理原先SLC形态的数据)边借新债(新写入的数据依然是SLC形态)进行了。

由于SLC Cache在有空白块剩余的情况下不会进行闲置释放,所以如果给饥饿鲨VX500划分100% OP,它将像SLC SSD一样工作下去,方法参考:http://bbs.pceva.com.cn/thread-120775-1-1.html


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
overthink 发表于 2016-12-31 20:29 | 显示全部楼层
tigerbeer1234 发表于 2016-12-31 20:17
即:在闪存颗粒相同品质、写入量相同的情况下,vt180磨损大,vx550磨损小,如果累计写入量大到ssd要挂掉的 ...

从颗粒品质上说,VT180的A19要好不少, 一正一反,最终寿命这两款SSD是差不多的。
tsammammb 发表于 2016-12-31 20:32 | 显示全部楼层
半年前入的Q200 EX SATA还是很划算的,除了没有工具箱
ice_xd 发表于 2016-12-31 21:41 | 显示全部楼层
看到这种SLC策略,想到如果VX500闪存寿命所生无几的时候,强制使用一半以下的容量,那么就仅运行在SLC写入模式下了,这样能大为降低纠错的压力,以容量换寿命,继续用比较长的时间。
ft5555 发表于 2016-12-31 22:24 | 显示全部楼层
SLC缓存用完后只有100MB/S的写入速度..........这个不是比很多TLC硬盘写入还要慢....

这策略简单说就是一半快得爽死。。。一半慢的要死。。。
dogbear 发表于 2017-1-1 00:04 | 显示全部楼层
会不会VX500纯TLC速度比较低也是设置GC不激进的原因之一?
StormBolt 发表于 2017-1-1 00:23 | 显示全部楼层
100%OP一直像Slc一样工作下去……这不是mlc 直接阉成Slc更好吗
来自安卓客户端来自安卓客户端
vicdoo 发表于 2017-1-1 21:40 | 显示全部楼层
手上还有一块VT180 250和超极速256 的路过,这两是收藏的了  不打算用
McLaren 发表于 2017-1-1 22:39 | 显示全部楼层
GC策略不同,180更积极保持体验更佳,500比较被动感觉更适合家用
vicdoo 发表于 2017-1-2 10:42 | 显示全部楼层
tigerbeer1234 发表于 2017-1-1 23:11
请先搞清楚手上的盘容量是多大再发言好不好?

呵呵  反正不是240 就是250 就是256,难得记住这么多
Atom 发表于 2017-1-2 21:14 | 显示全部楼层
想要SLC 的可以买个大容量的VX500划分100%op了
来自苹果客户端来自苹果客户端
benladen 发表于 2017-1-3 09:36 | 显示全部楼层
不错,好文要顶~!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部