|
模拟SLC cache的这种算法,可能会被看成是傻缺的设计,我看有的坛友描述这情况说“爽不过3秒”,出了cache,速度掉成狗:dizzy:。
但我个人觉得SLC cache不是一个傻的设计,反而是一个智能的,人性化的设计。
目前TLC甚至QLC大行其道,如果不启用cache,而采用直写的模式,时快时慢的速度(波浪线式的写入曲线),会让体验极差。
有了SLC cache就不一样了,把颗粒的SLC位(TLC颗粒3cell中的1cell)拿出来优先使用,这样就会达到类似SLC的速度。在全盘模拟SLC cache的情况下,3D MLC有一半容量的极速状态,,3D TLC固态也有1/3的极速容量。只要一次性写不满总容量的1/2或1/3,就会一直有SLC的极速。当硬盘没有负载或负载极小时,再搬运数据,占满TLC的3cell,这样又会把占用的SLC位腾出来,那下次写入时,又会有总剩余容量的1/2或1/3的容量会达到SLC的极速。周而复使。
同时呢,这样会有一个弊端,那就是写入放大,系统一次性的写入10G数据,SSD内部再搬运电子,然后会造成实际可能会有20G,30G甚至更多的NAND写入量。
为了减小写入放大,外置缓存就起作用了,58H配合外置缓存,写入放大系数会比无缓存主控小很多,这样就会增加颗粒寿命。
写入放大的情况是不可避免的,一般的主控都会有写入放大的情况,比如个人用的建兴M6M,马牌主控+外置缓存+MLC颗粒,马牌的算法算不错的了,但依然有大约1.5倍的写入放大。
说到写入不大,不得不提一个主控,那就是SandForce。SandForce的主控,以压缩算法著称。数据到主控后,不会直接写入到NAND,会在主控内先进行压缩(或者去重),然后再写入NAND。10G的数据经过去重或者压缩,实际剩下的可能的5G或8G的数据写入到NAND里。去重或压缩比例会根据数据类型的不同而不同。那这样呢,SandForce主控的固态,有可能就没有写入放大的情况,某些情况下,甚至会出现写入缩小的情况(写入到NAND的数据量,比系统请求写入到SSD的数据量小)。
好像跑题了:lol:
继续说全盘SLC chche。
SLC cache,不像我们想的那么鸡肋。就算120G的TLC的盘,也会有40G左右的SLC cache,想想在正常使用的情况下,几乎极少有一次性写入40G数据的情况。况且现在的固态盘越来越大,240,480,512,1T甚至更大。全盘的SLC cache空间也更大。
所以说,全盘SLC cache,大大提升了用户体验。就算你用的TLC的固态或者甚至QLC的固态,用起来也不会感觉比MLC甚至SLC的固态慢。
写入放大的问题呢,其实也不用太担心。举个例子,一块120G TLC固态盘,NAND颗粒完整寿命是500PE,假设写入放大倍数是5,那么实际PE数量100,算下来整盘寿命是10T。参考下我的建兴的系统盘,15年用到现在4年时间写入7.1T,按我这个使用量算的话,120G的TLC固态,也够我用5.6年了。
举的例子比较极端,现实中可能用的固态盘容量更大,颗粒PE数量可能也不止500,当然使用频率也有可能比我更高。
有一点是需要特别注意的:现今TLC甚至QLC的固态,本身寿命短,再加上写入放大,坏块出现的几率会大大提高,所以如果是自己DIY的固态,务必留有一定量的OP空间。
还有一点:TLC,QLC,漏电率高,请务必勤通电,让ssd内部“SORT”一下。TLC,QLC的U盘也一样,长时间放置不用,再用时,可能数据就打不开了。
我们知道修复马牌主控的固态盘有个30分钟大法,原理其实差不多,就是给出时间,让ssd内部做一些充电,搬运电子,垃圾回收等等的操作,然后就会满血复活了。
关于SM2258xt主控的全盘SLC cache的见解,本人就发表这些。如果你的应用场景比较特殊,写入量巨大,或者长时间持续写入,那可能就需要MLC或者SLC的固态了。
欢迎大家参与讨论!
刚刚想到一个骚操作,58xt贴IM3D颗粒,可以只开一半容量或三分之一容量,只用SLC cache,当SLC固态盘用,不知道有没有大佬这么奢侈地用过:lol:
后续:https://www.mydigit.cn/forum.php?mod=viewthread&tid=90207
补充内容 (2019-11-5 09:49):
本人对58xt SLC cache的看法以及后面的测试,都是基于58xt本身,并没有和其它主控做横向对比。个人也知道46en配MLC更稳,58H配3D颗粒更牛。
补充内容 (2019-11-5 09:56):
但在目前的形势下,3D颗粒及TLC,QLC是大势所驱,58xt,AS2258,PS3109等这些无缓存主控+TLC的廉价方案也必定会成为走量的产品
补充内容 (2019-11-5 10:02):
在物料成本有限的情况下,为了达到更好的使用体验,也就只能在算法上面下功夫。所以,SLC既是无奈之举,也是最大限度地利用闪存性能的良策。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|