小鑫话题 | SSD中的DRAM和SLC Cache是什么?

    在去年的一年降价潮中,SSD的价格已经已经变得十分亲民了。所以市场上也有了越来越多种类的SSD。玩家们对SSD的关注不在仅仅看SSD闪存颗粒的类型。最近小鑫发现有些玩家在论坛上讨论SSD中缓存的问题。关于这个问题,小鑫觉得有必要和大家仔细聊一下,因为大部分人还是很容易混淆缓存其中的概念的。

DRAM 缓存 SLC Cache

null

    首先我们先来看一下两个名词。DRAM缓存就是我们上图看到的在固态硬盘中一个独立的DRAM芯片,在SSD工作过程中,DRAM缓存的作用就相当于电脑工作的过程中内存的作用。而SLC Cache一般都是在TLC或者QLC闪存颗粒中,划分出一定的空间用来作为模拟SLC空间。这两者之间在物理上的就有本质的区别了,如果要用通俗易懂的话来讲,那么就是在DRAM缓存中的数据一断电就会消失,而在SLC Cache中的数据,如果没有擦除掉,是可以永久保存的。

    了解完了这几个问题后,接下来我们就来回答一下好奇网友们的问题吧!

Q:既然DRAM缓存作用和内存一样,那么没有DRAM芯片的SSD还可以正常工作?

A:关于这个问题,其实市场上已经有很多不带物理DRAM芯片的SSD。比如东芝TR200,BG4,威刚的SX7000等SSD。但是这里面还是有区别的,一种是像东芝TR200这样的把DRAM缓存集成到主控中去的;另一种就像东芝的RC100,通过HMB机制使用电脑内存来作为SSD缓存的。总的来说,SSD中的DRAM缓存是“理论存在”的,如果SSD中没有外置的缓存芯片,那么要么集成在主控中,要么就是通过HMB机制占用了部分内存作为SSD的缓存。

null

(东芝TR200)

null

(东芝RC100)

Q:那网上大家都说没有外置缓存的SSD比有外置缓存的差,是这样子的吗?

A:一款SSD的构造主要是要看主控,SSD的主控可以决定这款SSD采用哪种缓存方案,所以这个问题就相当于问哪一种主控的SSD比较好。DRAM缓存只是在SSD的读写中起到一个加速的作用,采用哪种方案只能说看哪种更适合该SSD的主控。至今也没有实证(没有对比组)来证明没有外置缓存的SSD比有外置缓存的差。

Q:既然SLC Cache是用来加速SSD的写入的,那么SLC Cache是不是越大越好?

A:理论上是越大越好,但是在实际应用中,如果SLC Cache越大,占用的空间将会越多,在硬盘占用到一定量后,。如果是一块TLC 240g的SSD,如果需要提供5GB的SLC Cache模拟空间,那么就需要占用20GB 的TLC空间。这时你拷入一个10G的文件,那么在5G后就会掉速,直到SLC Cache中的数据写入正常的TLC中,才会恢复SLC的读写速度。如果提供50G SLC Cache空间,那么需要占用200GB的TLC空间,如果硬盘的写入达到100GB了,那么50G的SLC Cache就失效了,之后就只能一直用TLC的读写。 还有一种使用全盘动态SLC模拟的SSD,全盘模拟SLC Cache可以让硬盘不管什么容量的时候都可以使用SLC加速。而缺点就是SSD在一次性跑满剩余空间的一半容量就会开始掉回TLC的速度,必须要等一定的空闲时间才能恢复,所以盘的剩余空间越小就越容易出现掉速的问题。理论上全盘墨迹是比固定的Cache好,实际应用中需要看主控的调控机制和磨损均衡等,否则全盘模拟的写入放大会加剧SSD寿命衰减。

Q:怎么才能知道自己的SSD的SLC Cache有多大?

null

(HD Tune基准写入测试)

A:关于SLC Cache的大小,厂商在发布产品信息的时候一般都不会明确给出明确的Cache容量,所以这时我们就需要用一些SSD测试软件去进行测试。首先要确保以下硬盘内没有数据,然后先将硬盘内的分区删掉。然后使用HD Tune中的基准测试测试连续写入的速度。一般测试可以先使用5G-10G的数据量测试,如果没有明显的降速,再加大数据量测试,直到出现类似以下的掉速曲线,就可以算出该SSD的SLC Cache大小(这里再提醒一下各位玩家如果使用HD tune软件测试Cache容量需要先将SSD的分区删掉)。

   关于SSD的DRAM和SLC Cache的关系和网上讨论的一些热点问题,小鑫已经基本列举在上文,总结一下,SSD中的DRAM缓存机制是必须存在的,但DRAM芯片不一定要存在;SLC Cache理论上是越大越好,但是实际应用还是要根据SSD的容量和主控的技术来定。

   以上就是本期小鑫问答的所有内容,下期我们再和大家聊一些网上大家讨论得比较多的问题。我们下期见!

打开APP阅读更多精彩内容