自动化是实现SSD的方式中最常用的方法。其中,一种是通过自动分层技术;另一种是通过高速缓存实现。虽然这两种方式都应用在磁盘活性比较高层,访问数据量大,但是这两种方法在技术层面有很大差异。
一般来说,自动分层和高速缓存常常会让人混淆。因每个供应商的技术不同,由此会产生不同形式的自动分层,但它们通常被看作是一个稳定、高速的存放数据的存储层。同时,它也可以被看作是把一个不太活跃的数据移动到一个容量高,低成本,更有效的存储层的方式。
在设法应用这两种方法时,我们现在所面临的挑战是:它们使用的固态原理看起来很相似。在过去,高速缓存通常被认为是一个非常小的内存区域,用来给一 段时间内的磁盘存取加速。通常是在几分钟内仅仅保存最近一次的访问数据。显然,高速缓存丢失数据的几率比较高,而这就意味着从硬盘检索数据的性能下降。这 就导致一个服务器或者是一个特定的应用服务器只能拥有一个非常紧凑的硬件布局。
今天,随着基于闪存的SSD成本的下降,我们可以创建一个非常大的高速缓存,让数据保存很长一段时间。同时,这也降低了缓存丢失的几率。也就是说, 这些数据可以在高速缓存中保存几个小时甚至是一天的时间–如果这些闪存在高速缓存中的容量足够大。闪存让大容量高速缓存正在跨服务器以及应用程序的部署 上有了更广泛的选择方式。
高速缓存和自动分层之间的一个最大的区别就是:在缓存中数据始终是一个硬盘上数据的第二副本,而自动分层是硬盘中数据的真实移动。高速缓存很少产生数据丢失的故障,有的只是性能上的损失,因为一切都需要由机械驱动,直到缓存被替代。
由于SSD层拥有潜在的唯一一份数据的自动分级系统,通过使用一种设置在系统冗余配置中的类似像多磁盘机阵列(RAID-LIKE)一样的SSD层来保护数据只是被复制,且并不允许发生SSD层的故障。即,将SSD层通过使用一个RAID一样的数据保护方案。
以磁盘奇偶校验位计算为例,通常这可能会影响性能,并且任何磁盘的奇偶校验位计算法都需要额外的磁盘容量。这就意味着必须要购买额外的SSD来支持多磁盘机阵列,这样就导致了价格已经非常高昂的SSD技术会更加昂贵。
在一般的情况下,这两种技术的读取性能应该是相同的。通常读取性能效率将取决于提高高速缓存设备的效能以及定制性。
我们的目的应该是:确保正确的数据在正确的时间及时地出现在高速缓存中。我们认为,现在是改善这一技术最好的机会。高速缓存和自动分层技术在成为缓存时需要变得更智能。