定义

固态硬盘的缓存

SSD缓存,又称flash缓存,是对数据的临时存储NAND闪存固态硬盘中的芯片(固态硬盘),以提高数据请求的速度。

在一个常见的场景中,一台计算机系统在SSD中存储最活跃数据的临时副本缓存以及硬盘驱动器上数据的永久副本(硬盘驱动器).闪存缓存通常与较慢的hdd一起使用,以提高数据访问时间。

缓存可用于数据读写。SSD读取缓存的目标企业IT环境是在先前请求的数据通过网络时存储它,以便在需要时可以快速检索。将以前请求的信息放置在临时存储或缓存中,可以减少对企业的需求带宽并加速对最活跃数据的访问。SSD缓存也可以是在顶层存储数据的一种经济有效的替代方案闪存.SSD写缓存的目的是临时存储数据,直到速度变慢持久存储Media有足够的资源完成写操作。使用SSD写cache可以提升系统整体性能。

Demartek总裁Dennis Martin解释了使用固态存储作为热数据缓存的好处。

形成的因素基于闪存的缓存选项包括SAS,串行ATA或非易失性内存表达式(NVMe固态硬盘;PCI Express (作为PCIe)卡;或双列式内存模块(DIMM)安装在服务器内存套接字。

SSD缓存软件应用程序,配合SSD缓存驱动器硬件,可以帮助提高应用程序和虚拟机的性能(虚拟机),包括VMware vSphere微软hyper - v.它们还可以扩展Linux和Windows的基本操作系统(OS)缓存特性。SSD缓存软件支持存储、操作系统、虚拟机、应用和第三方厂商。

SSD缓存的工作原理

宿主软件或存储器控制器确定要缓存的数据。SSD缓存从动态随机存取记忆体-,非易失DRAM (NVRAM)和内存在计算机系统中实现的基于缓存。当发出数据请求时,在每一个基于DRAM、NVRAM或ram的缓存未命中时,系统都会查询SSD缓存主存储器如果基于DRAM、NVRAM、RAM和ssd的高速缓存没有数据的副本,则系统不支持。

SSD缓存的有效性取决于缓存的能力缓存算法预测数据访问模式。有了高效的高速缓存算法,很大比例的I / O可以从SSD缓存服务。SSD缓存算法的例子包括:

  • 最经常使用的。跟踪数据被访问的频率;计数最低的条目首先从缓存中删除。
  • 最近最少使用。在靠近缓存顶部的位置保留最近使用的数据;当缓存满时,最近访问较少的数据将被删除。

SSD缓存类型

系统厂商使用不同类型的SSD缓存,例如:

直写式固态硬盘缓存。系统将数据写入SSD cache,同时写入主存。待主机确认cache和主存写操作都完成后,SSD cache中才会有数据。直写式对于制造商来说,SSD缓存的实现成本更低,因为它不需要缓存数据保护.缺点是延迟与初始写操作相关联。

回写式固态硬盘缓存。主机确认数据I/O写入主存之前,先写入SSD cache。数据写入主存前,SSD cache中有可用数据。其优点是读写操作的延迟都很低。其主要缺点是SSD缓存失效时存在数据丢失的风险。供应商使用回写式缓存通常实现诸如冗余ssd,镜像到另一个主机或控制器,或电池支持的RAM。

Write-around SSD缓存。数据直接写入主存,不经过SSD cache。SSD cache需要一段预热时间,因为存储系统会响应数据请求并填充缓存。来自主存储的初始数据请求的响应时间将比来自SSD缓存的相同数据的后续请求慢。Write-around缓存降低了不经常访问的数据溢出缓存的可能性。

固态硬盘缓存位置

SSD缓存可以通过外部实现存储阵列,一个服务器,一个设备或便携式计算设备,如台式机或笔记本电脑。

存储阵列供应商经常使用基于NAND闪存的高速缓存来增强更快、更昂贵的基于DRAM或nvram的高速缓存。SSD缓存对于高性能缓存机制来说是次要的,可以提高对访问频率较低的数据的访问。

专门的闪存缓存设备被设计为向现有存储系统添加缓存功能。当插入应用程序和存储系统之间时,闪存缓存设备使用内置逻辑来确定哪些数据应该放在其ssd中。当接收到一个数据请求时,如果数据驻留在闪存缓存设备的ssd上,那么闪存缓存设备可以完成它。物理和软件虚拟设备可以在本地数据中心或

对于便携式计算设备,英特尔提供了智能响应技术,将最常用的数据和应用程序存储在SSD缓存中。SSD缓存可以是固态混合动力驱动或者是与低成本、高容量硬盘一起使用的单独驱动器。英特尔技术旨在区分高价值数据(如应用程序、用户和引导数据)和与后台任务相关的低价值数据。

SSD缓存vs.存储分级

手册或自动存储分层将数据块在更慢和更快之间移动存储介质满足性能、空间和成本目标。

SSD缓存vs.分层
此图解释了SSD缓存和分级中的数据流差异。

相比之下,SSD缓存只在高性能闪存驱动器上维护数据的副本,而主要版本存储在较便宜或较慢的介质上,如hdd或低成本闪存。

SSD缓存软件或存储控制器决定缓存哪些数据。使用SSD缓存,当缓存满时,系统不需要移动不活动的数据;它可以简单地使它无效。

因为在任何给定时间,通常只有一小部分数据是活动的,SSD缓存可以是一种提高应用程序性能的经济有效的方法,而不是将所有数据存储在闪存上。但是,I/ o密集型的工作负载,如金融交易应用程序和高性能数据库,可能受益于数据放置上更快存储层以避免缓存丢失的风险。

这是最近更新的2017年2月

继续阅读关于SSD caching

深入挖掘固态存储

搜索灾难复苏
搜索数据备份
搜索聚合基础设施
关闭
Baidu