SSD硬盘速度优化方案

描述

SSD缓存是一种将常用数据存储到快速缓存的计算技术。这可以提高每秒输入输出量(IOPS)性能,并减少延迟。

那么什么是SSD缓存?SSD缓存是一种计算和存储技术,可将常用和最新数据存储到快速SSD缓存中。这通过提高IOPS性能和减少延迟来解决与HDD硬盘相关的I/O问题,从而显著缩短加载时间和执行。缓存适用于读取和写入,尤其有利于读取密集型应用程序。

高速缓存对硬盘来说并不陌生。Windows和Linux等操作系统附带本机缓存软件。HDD硬盘阵列缓存软件存在并提高了整体性能,但配置昂贵且复杂。

缓存如何工作?

SSD缓存也称为闪存缓存。虽然闪存和SSD硬盘不是一回事,但大多数SSD硬盘都是NAND闪存。在此体系结构中,缓存程序将不满足缓存要求的数据导向HDD硬盘,并将高I/O数据临时存储到NAND闪存芯片。

这个临时存储或缓存通过使数据副本更靠近处理器来加速读取和写入请求。高速缓存可以包括SSD硬盘或SSD内的一小部分存储器单元。许多SSD硬盘已经带有缓存存储区,可能是NAND和/或DRAM。

SSD缓存通过存储随时需要的数据来提高性能,从而使其更快速地可用。

SSD缓存的类型

为了全面了解SSD缓存的工作原理,以下了解一下各种类型的SSD缓存。这些不同类型的SSD缓存包括读取缓存SSD缓存、直写SSD缓存、回写SSD缓存、绕写SSD缓存。

•读取SSD缓存:将数据副本存储在快速SSD存储单元中;通常是NAND和/或DRAM。缓存软件使用缓存的读取数据来填充缓存。来自不同制造商的读取缓存可以使用算法变体,例如在SSD上耦合DRAM和NAND存储器单元以产生甚至更快的缓存性能。

•写入SSD缓存类型:

直写SSD缓存同时写入缓存和主存储。缓存可以加快数据检索速度,而主存储写入可以安全地保留数据,即使系统中断会影响缓存。直写SSD缓存不需要为缓存数据提供额外的数据保护,但会增加写入延迟。

回写SSD缓存确认将块写入SSD缓存,并且在将块写入主存储器之前可以使用该数据。该方法的延迟低于直写,但如果缓存在数据写入主存储之前丢失数据,则该数据将丢失。用于回写SSD高速缓存的典型数据保护解决方案是冗余SSD或镜像。

绕写SSD缓存首先将数据写入主存储,而不是写入缓存。这为SSD缓存提供了分析数据请求和识别最常用和最近使用的数据的时间。SSD缓存可以有效地缓存高优先级数据请求,而不会将不经常访问的数据淹没在缓存中。

优化硬盘性能

SSD缓存通过保持频繁访问的数据立即可用来提高存储性能。当主机发出数据请求时,缓存软件将首先分析SSD缓存以查看数据是否已驻留在那里。

如果没有,缓存软件将使用算法来预测数据访问的模式。该算法识别最少和最常用的数据,以及最少和最近的数据访问,使其能够将高优先级活动数据的副本放入快速高速缓冲存储器中。

并非每个应用程序都通过SSD缓存得到改进。任何主要发布顺序读取和写入的应用程序(如视频流)都不需要随机I/O缓存。并且没有预测模式的数据(例如随机数据读取)不会受益于SSD缓存,因为没有数据模式可以可靠地预测。

SSD缓存位置

SSD缓存可能出现在使用SSD硬盘的任何类型的设备中:

•个人计算机(Windows和Linux操作系统都提供基本缓存)

•外部存储阵列

•SSD存储控制器

•具有直接连接混合存储的服务器—但意识到服务器缓存不仅限于SSD;eMMC是支持缓存的嵌入式闪存。

SSD缓存用例:虚拟化基础设施

SSD缓存可以显著提高企业应用程序和大型虚拟化网络的性能并降低延迟。

例如,SSD缓存可加速I/O性能,虚拟化环境可生成大量随机I/O。这是因为虚拟化环境将许多不同的服务器功能和应用程序结合在一起。这包括具有数百到数千个虚拟桌面的VDI,或具有数十个不同应用程序服务器和数百个动态虚拟机的虚拟化计算网络。

所有这些虚拟化实体共享相同的底层存储介质(主要是HDD硬盘),因为用所有闪存阵列替换HDD阵列以支持虚拟化环境并不划算。全闪存阵列(AFA)支持极高数量的I/O,但即使是更大的虚拟化环境也不会自动生成全闪存阵列(AFA)现在或将来能够支持的几乎相同数量的I/O。

这种架构不能证明全闪存阵列的高成本。但在构成虚拟化网络的HDD硬盘或混合阵列中,SSD缓存使硬盘能够支持高I/O需求,即使是对于密集的虚拟化工作负载也是如此。

与基于网络阵列的存储相反,基于服务器的SSD硬盘也可用于虚拟化网络。在这些情况下,主机服务器在其直连存储中使用SSD缓存来为多个虚拟机提供服务。由于SSD缓存在物理上接近I/O位置,因此延迟会进一步降低。缺点是服务器出现故障,缓存的数据可能是不可访问的,甚至可能是不可恢复的,这取决于写缓存的类型。但是,如果IT备份/快照/复制缓存的数据并快速恢复到另一台服务器,这不是一个巨大的缺点。

最佳的SSD缓存软件

“最佳”在SSD缓存中是一个复杂的概念,因为有许多技术可以提供缓存软件命令。其中包括VMware和Hyper-V、特定应用程序、第三方软件、Windows和Linux、SSD存储控制器和存储阵列。例如:

•Intel:用于混合缓存的智能响应技术。智能响应技术是Intel公司快速存储技术的一项功能,可提高混合阵列的性能和耐用性。智能响应技术将最常用数据和应用程序的I/O块缓存到SSD硬盘中,并将HDD硬盘用于大容量存储。

•Intel:RAID缓存控制器。Intel公司还生产RAIDSSD缓存控制器,该控制器使用智能缓存算法识别经常访问的数据,并将其引导至快速闪存。

•QNAP:网络附属存储(NAS)上的本机SSD缓存。QNAP公司声称其缓存功能可将QNAP网络附加存储上的IOP性能提升多达10倍,并将延迟降低三倍。QNAP为数据库和虚拟化环境推出了具有SSD缓存功能的网络附属存储(NAS)。

•NetApp:基于阵列的SSD缓存。SSD缓存功能可提高NetApp阵列的读取性能,因此主要用于存储读取密集型应用程序的阵列。NetApp公司在其SSD上使用主要和二级缓存位置:主缓存是基于SSD控制器的DRAM,而NAND闪存单元是其二级缓存。一旦数据存储在SSD高速缓存中,后续读取将在高速缓存上执行,而不是在主存储中执行。高性能SSD缓存可改善应用程序I/O和响应时间,并可在不同工作负载下提升性能。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分