PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

探索SLC缓存释放方式

[复制链接]
跳转到指定楼层
1#
autume 发表于 2016-7-17 11:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:4578|回复数:3
好奇害死猫,为了想尽可能弄清楚TLC固态硬盘的SLC缓存释放方式,这次我是费了大劲……
因为只有一块SSD,首先把SSD上的系统备份到了机械盘里,然后用Txbench对影驰铁甲战将480做Secure Erase:

SLC缓存大小比较容易测出来,只要用HDTune文件基准测试设置一个大于SLC缓存容量的测试长度,就可以在速度曲线上清晰地到缓存的大小。不过要想知道SLC缓存的释放需要多长时间就比较困难了,因为人工掐表的误差太大,也不太好操作。在对Txbench软件进行了研究后,发现可以用Txbench的Advanced Benchmark自定义脚本来完成这个效果。

Advanced Benchmark测试有File Mode和RAW Mode两种模式,前者是有文件系统下的测试,测试前需要先写入生成测试文件,后续的读写测试都是在测试文件内进行,而后者RAW模式则是无文件系统,不生成测试文件直接开始测试项目。为了研究SLC缓存的释放,首先得找一个理想的测试条件,那就是定量写入,这里选择RAW模式,也就是为何我需要首先把盘删除分区并SE的原因。


在Advanced Benchmark里电机Registers Task可以设置自定义测试项目,除了预设项目外还能新建自己的项目,下面是我新建的一个测试项,使用4K对齐的128K区块持续写入,设置定量写入9216MB(9GB,略大于之前已知的8GB左右SLC缓存容量,充分填满缓存然后探索释放所需时间)

接下来先验证一下这个测试项目的有效性,直接运行这个项目,得到以下速度曲线,说明这个项目可以有效吃完铁甲战将480的SLC缓存:

既然有效那么接下来就比较简单了,首先用“吃完SLC Cache”这个项目写满缓存,然后用Idle项目插入一段指定的空闲间隔,最后再次运行“吃完SLC Cache”这个项目看看经过空闲之后SLC缓存是否已经释放完毕。

第一次测试时把空闲间隔设定在了15秒,结果这个时间不够铁甲战将480释放完8G的缓存:空闲后再次跑“吃完SLC Cache”项目时,128K持续写入的速度是188MB/s,这显然是TLC的写入速度,SLC缓存还没有释放好。

多次调整Idle空闲间隔,当空闲时间设置从40秒增至60秒时,SLC缓存已经可以使用,但可以看到释放并不完整,后期TLC速度的部分比较多

将空闲时间提高到70秒后,SLC缓存基本释放到位,当然相比第一次写入的时候可用的SLC缓存还是要稍微小了一些。

此后继续增大空闲时间也不会起作用了。但如果第二次吃完SLC后再给一次Idle空闲时间,则在第三次运行吃完SLC Cache项目时会达到首次写入时候的SLC最大容量。


把Idle空闲改成读取,将写入之间的空闲时间改为进行读取测试:

结果发现读取也会干扰SLC缓存的释放,所以只有空闲才能让缓存释放出来,如果使用繁重,SLC缓存可能就没时间回收用于下次突发写入的加速了:


以上测试的都是一次性写入9GB把SLC缓存全部吃光的重度使用,最后来个简单点的测试,每次写入3GB,每次写入间隔10秒空闲,一共写入4次共12G(超过8G的SLC缓存容量):

一次性把SLC缓存用满的话需要的释放恢复时间比较长,但如果是少量写入+中间有时间空隙,则缓存始终能发挥吸收突发写入的效果。

总的来说,影驰这块铁甲战将480不适合用于重负载写入应用(当然是指企业级或者做设计的大量写入,通常家用的写入比重是很少的),也不适合读写混合的繁忙工作(企业级读写混合,不间断有负载,读取会干扰写入缓存的释放),最适合的还是家用当系统盘,游戏娱乐办公应该比较合适。

如果大家有更好的测试方法,欢迎交流,虽然这次探索消耗了不少时间,不过自己感觉还是很有收获的,这或许就是折腾的乐趣吧~


本帖子中包含更多资源

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

x

评分

参与人数 1绝对值 +1 收起 理由
Y6-0785 + 1 很给力!

查看全部评分

2#
yhhekeda 发表于 2016-7-17 11:21 | 只看该作者
支持楼主折腾,每款盘主控固件不一样,估计缓存释放方式不一样,铁甲战将480g看来释放速度也是比较快的,就像楼主说的随时为突发写入做准备
3#
小钻风 发表于 2016-7-17 17:27 | 只看该作者
这个主要还是主控和固件决定,TLC的东西本来就慢所以才搞了SLC缓存,就是因为他还有释放等操作所以企业级是不会搞这种东西的,只适合家里用
4#
nighttob 发表于 2016-7-18 17:38 | 只看该作者
你这题目取的太大
改成“探索影驰铁甲战将480G的SLC缓存释放方式”吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部