使用ssd进行写缓存的问题以及如何避免这些问题
Marc Staimer着眼于使用SSD进行写缓存,并解释了为什么大多数存储SSD缓存是透写而不是回写。
想知道为什么大多数存储SSD写缓存是透写而不是回写吗?除了回写之外,它们是相似的……
继续阅读本文
享受这篇文章以及我们所有的内容,包括电子指南,新闻,提示和更多。
Cache加速读和写,而write-through只加速读。那么为什么大多数SSD缓存不能回写呢?这是一个价值64000美元的问题。
透写缓存只能加速或加速读——它对写没有任何作用,而是直接将写放在上面hdd,因此有了“write-through”这个术语。它将数据转移到固态硬盘hdd的缓存集中于数据的年龄、访问频率、上次访问后的时间、来自不同来源的访问请求等策略。使用聪明的算法有助于确定哪些数据是热门的,应该或不应该在固态硬盘缓存.在管理员有意从缓存中删除数据之前,数据也可以固定在缓存中(任意放置在那里,它不会移出)。
回写缓存将加快或加速写和读。写操作直接写入SSD缓存,完成写操作后返回确认。的缓存数据然后复制到hdd。缓存的数据会基于与透写缓存相似的策略(时间、访问频率、上次访问的时间等)留在缓存中,当策略阈值满足时,缓存的数据就会从缓存中删除。
看起来SSD回写缓存应该是一个不用动脑的事情,除了它不是,而且更多的是例外而不是规则。要理解其中的原因需要一些背景知识。
hdd在顺序数据写入方面做得很好。它们的顺序写性能与ssd匹配,在某些情况下还要好一些。ssd在随机写时具有巨大的性能优势IOPS(基本虚拟服务器和虚拟桌面).但这意味着它只增强了一些写操作,而不是所有写操作,从而降低了写缓存的价值。
今天的ssd是基于flash技术的。NAND闪存芯片,一种生命周期有限的技术。位被写入单元格。(SLC是每个单元1位,多层陶瓷和eMLC为每个单元2位。)当要擦除或覆盖数据时,必须销毁一层材料。erase的数量是有限的每个单元的写周期(又名写周期)。SLC的数量最多,约为100,000,其次是eMLC,约为40,000,MLC少于10,000。回写缓存极大地增加了ssd上的写次数,加速并减少了相对昂贵资产的生命周期。
解决SSD写缓存问题
要获得回写缓存的好处而不让SSD过早损耗,一种方法是使用动态随机存取记忆体和/或NVRAM.DRAM和NVRAM比最快的SSD快20倍,写响应时间也快20倍。它需要一些基于服务器的缓存软件和一些混合存储系统上可用的复杂软件。DRAM/NVRAM是回写缓存的目标,获取写的所有权和确认。然后立即将数据转移到hdd。ssd盘用于透写缓存,基于策略的热数据从hdd拉入ssd盘。这种标记团队方法提供了两方面的优点。
这个解决方案的问题是DRAM的波动性。换句话说,如果在数据耗尽到hdd之前发生意外断电,如何保护DRAM中的数据?这个问题可以通过使用带有超级电容的NVRAM来解决,它为NVRAM漏到hdd或ssd提供了时间。它也可以解决与电池备份到DRAM,提供时间的DRAM外流到hdd或ssd。
ssd使写缓存变得更划算。回写缓存和透写缓存都是提高用户和应用程序读性能的很好的方法。回写缓存也可以提高写性能,但其代价是大大减少SSD的寿命。集成DRAM和/或NVRAM可以克服这个问题,甚至进一步提高写性能。
关于作者:
Marc Staimer是俄勒冈州比弗顿Dragon Slayer Consulting的创始人、高级分析师和CDS(电子邮件保护).