企业库 微信资讯

[SSD] 各品牌SLC Cache机制探寻

PCEVA    2015/3/9  

首先要感谢@石头 提供测试盘给我,在借来东芝Q Pro 256GB、影驰GAMER 120GB之后,再加上我之前买的三星840Evo 120GB和曾经体验过的闪迪Ultra Plus 128GB,我有机会对各家固态硬盘SLC Cache的机制进行一些对比。这里同时要感谢@用户名已存在 对OCZ Vector 150的SLC Cache研究可供参考:http://bbs.pceva.com.cn/thread-101280-1-1.html

东芝:空盘时使用全盘SLC模式,当用户使用容量过半之后SLC Cache大小改为约5GB(使用OP空间),所有写入内容必须先经过SLC Cache。写入到SLC Cache的内容不主动释放。

验证过程:东芝Q Pro 256GB使用空间30GB,在剩余空间内使用HDTune文件基准测试(随机数据模型),从写入速度曲线可知SLC Cache容量等于二分之一全盘容量(128GB)减去已经使用的30GB空间,大约94GB。也就是说此时东芝在用所有空闲MLC空间模拟SLC写入。

全盘格式化之后把东芝Q Pro的已使用空间提高到50%全盘容量,休息10分钟之后再在剩余50%空间上运行HDTune文件基准测试(随机数据模型),从写入曲线可知此时SLC Cache容量大约为5GB。可见东芝Q Pro在用户使用容量超过半盘容量之后,SLC Cache空间就被限制到5GB左右,应该是仅使用OP容量内的MLC闪存进行SLC Cache了。东芝Q Pro写入在SLC Cache中的数据不会被主动释放,这一点和后边要说的840Evo有很大区别,840Evo的SLC Cache仅用于临时承接写入压力,在写入压力停止后会立刻开始从SLC形态向TLC形态的释放,释放后SLC Cache即刻被清空。

全盘格式化之后把东芝Q Pro的已使用空间再次提高到75%全盘容量,在剩余25%空间上运行HDTune文件基准测试(随机数据模型),从写入曲线可知此时SLC Cache容量大约为5GB。相比50%空间使用率时没有变化。


三星:固定SLC容量,其中120GB版本的SLC Cache容量为3GB。SLC Cache容量写满之后改为直接TLC写入,待写入压力停止后立刻开始将SLC Cache中的内容GC到TLC形式。如果数据写入后立刻进行读取,则会直接从SLC Cache中返回结果,这也是三星在Evo系列SSD中的惯用xx手法。

关于三星SLC Cache的机制,我前边已经写过不少:还原真实性能,三星840Evo 120G深度评测、戳破xxEvo的牛皮,再测三星真实性能。作为TLC闪存的固态硬盘,840Evo使用SLC Cache提升性能、解决TLC直接编程的各种困难都是正常合理的举措,唯独利用SLC Cache缓冲内暂存的内容在读取测试项目中xx是可耻的,因为相关性能提升仅能反映在理论测试中,实际使用无效果。

影驰:固定SLC容量,GAMER 120GB的SLC Cache容量为3GB。遇空闲SLC Cache会主动释放。如果SLC Cache容量写满会强制性清空释放。


OCZ:动态SLC容量,全盘SLC Cache。OCZ的SLC Cache算法可以说是东芝Q Pro的升级版,OCZ的固件能够充分利用一切盘内剩余空间作为SLC Cache使用。不管用户使用容量多少,OCZ都会拿出全部剩余空间用作SLC Cache。

OCZ是最早在家用SSD当中使用SLC Cache的,这要远早于840Evo,所以三星要是又想说别人是抄他的,可以省省了。对于OCZ的SLC Cache机制探寻,论坛里的@用户名已存在 的帖子里有过测试,这里借用一下:http://bbs.pceva.com.cn/thread-101280-1-1.html

使用容量不足半盘容量时,OCZ Vector 150使用全盘SLC模式,一直到颗粒容量不足以支持SLC Cache后才会切回MLC写入。


即便用户使用接近满盘容量,OCZ的SLC Cache依然在发挥作用:

闪迪:nCache1.0:特定针对于随机写入的SLC Cache,且容量十分有限,仅能容纳几秒的随机数据写入量,作为一个提升爆发性的功能,还能降低特定情况下的写入放大率。根据我以前对闪迪Ultra Plus的体验,nCache 1.0仅对随机写入应用SLC Cache来处理。Ultra II上所用的nCache被称之为nCache 2.0,据外媒评测,闪迪针对Ultra II的TLC写入速度慢的问题,将nCache的策略调整为对所有写入数据进行SLC Cache加速,而不再区分随机写入和持续写入。

总结:

根据我收集到的信息,SLC Cache会作为标配出现在各种TLC介质SSD当中,这是降低TLC闪存编程复杂度的必要措施。除了已经上市的三星840Evo/850Evo、闪迪Ultra II之外,建兴也在CES2015上展示过使用东芝A19 TLC闪存的CV2型SSD,使用下一代Marvell 88SS1074主控,支持LDPC纠错技术。未来TLC闪存进入大规模应用,LDPC会是一个很重要的技术需求。

当然SLC Cache使用在MLC介质SSD上,也可以用闲置容量提升写入性能。不同的SSD在SLC Cache上的使用机制也不同。比如像东芝在用户使用容量不足半盘容量时可以借用全盘剩余空间做加速,OCZ则可以动态调整SLC Cache区域大小,在任何容量使用情况下都能借用尽可能多的空闲MLC容量做SLC加速。

东芝SLC Cache:
测出的性能高,家用使用方式下实际性能也高。在用户使用容量不足半盘容量时,东芝使用全盘SLC Cache,用户使用容量过半盘容量之后SLC Cache容量受限。

三星SLC Cache:
测出的性能高,实际性能比测试成绩要低,因为测试中的读取成绩都是从SLC Cache里直接读出的,但实际使用中SLC Cache会在写入停止后立刻被释放清空,几乎没有用SLC Cache加速读取的机会。840Evo的SLC Cache容量是固定的。

OCZ SLC Cache:
xx化利用了全盘容量进行SLC Cache加速,动态调整SLC区域,技术水平和实现难度都是xx的。在用户使用容量超过半盘容量后可以很快进行调整,仍然能够充分利用剩余的全部空闲空间进行SLC Cache加速。

影驰SLC Cache:
固定SLC Cache容量,家用轻负载可享用SLC速度,遇有写入空闲会主动释放SLC Cache内容,在不间断写入的情况下,SLC Cache用完之后会缓速强制释放SLC Cache。

闪迪SLC Cache:
nCache 1.0属于实用派,仅针对随机写入进行SLC Cache,不求xx高大上,但求写入寿命xx化。对nCache 2.0的了解不多,目前只知道用在了TLC闪存介质的Ultra II之上。



技术支持:免费b2b网站   [免责申明]   [举报]    立即注册发布信息