数据缓存的方法和装置制造方法及图纸

技术编号:35578498 阅读:37 留言:0更新日期:2022-11-12 16:03
提供了一种数据缓存的方法和装置。所述方法包括:获取访问请求对应的数据的缓存价值;基于所述缓存价值是否满足预设条件,确定是从缓存设备访问所述访问请求对应的数据还是从存储设备访问所述访问请求对应的数据。存储设备访问所述访问请求对应的数据。存储设备访问所述访问请求对应的数据。

【技术实现步骤摘要】
数据缓存的方法和装置


[0001]本申请涉及数据存储,更具体地,涉及一种数据缓存的方法和装置。

技术介绍

[0002]目前主要的利用块设备的缓存系统包括Open

CAS(Open CacheAcceleration Software)、DM

Cache(Device Mapper

Cache)和BCache(BlockCache)。这类利用块设备的缓存系统将快速块设备作为缓存设备,慢速块设 备作为后端设备以利用缓存设备的快速读写特性提升存储系统的整体性能。
[0003]相关技术中,缓存系统可使用通写策略、回写策略或绕写策略。
[0004]通写策略中写操作的数据同时写入缓存设备和后端设备,该策略适用于 少量数据写入之后会被频繁读取的场景。
[0005]回写策略中写操作的数据只被写入缓存设备,然后写操作的数据被从缓 存设备异步刷入到后端设备,该策略适用于读写密集场景。
[0006]绕写策略中写操作的数据直接写入后端设备,当该数据被读取时将该数 据写入缓存设备中,该策略适用于数据被写入一次且很少被读取的场景。
[0007]同时,读策略包括首先从缓存设备访问读操作的数据,若缓存设备中未 命中读操作的数据,进而会从后端设备访问读操作的数据。
[0008]在相关缓存系统中,通常会根据上层业务的类型部署相应的读写策略, 策略一旦部署,系统运行时所述策略不能更改,因此系统不能动态应对业务 数据的改变以及复杂的工作负载(workload)。例如,后端设备的数据的缓存 价值可能会随着工作负载的改变而变化,固定的缓存策略导致数据无法合理 地被写入缓存设备,因此,采用初始部署的缓存策略来缓存数据将无法有效 利用存储系统的资源。

技术实现思路

[0009]一个或更多个实施例提供一种数据缓存的方法和装置,其可以根据与访 问请求相应的数据的实际缓存价值动态调整缓存策略以有效利用存储系统资 源,从而提高存储系统的访问性能。
[0010]根据示例实施例的一方面,一种方法包括:获取访问请求对应的数据的 缓存价值;基于所述缓存价值是否满足预设条件,确定是从缓存设备访问所 述访问请求对应的数据还是从存储设备访问所述访问请求对应的数据。根据 本公开的示例性实施例,由于根据与访问请求相应的数据的缓存价值是否满 足预设条件来确定是从缓存设备访问数据还是从存储设备访问数据,因此, 可以将实际具有高缓存价值的数据存入缓存设备,从而降低读写数据的时间 延迟。可选地,所述获取所述访问请求对应的数据的缓存价值的步骤包括: 从所述存储设备的多个逻辑分区中确定所述数据的逻辑地址对应的逻辑分区; 获取所述逻辑分区的数据缓存价值作为所述缓存价值,其中,所述多个逻辑 分区中的每个逻辑分区具有对应的数据缓存价值。
[0011]根据本公开的示例性实施例,由于数据的缓存价值与数据的逻辑地址所 属的逻辑分区(对应的数据)的数据缓存价值具有强相关性,因此,数据的 逻辑地址所属的逻辑分区的数据缓存价值能够较好地反映与访问请求相应的 数据的缓存价值,这样可根据与访问请求相应的数据的实际数据缓存价值来 缓存数据。
[0012]可选地,所述获取所述访问请求对应的数据的缓存价值的步骤包括:基 于所述逻辑分区的历史被访问信息获取所述缓存价值。
[0013]可选地,所述获取访问请求对应的数据的缓存价值的步骤包括:将所述 数据的逻辑地址所属的逻辑分区的历史被访问信息和其它逻辑分区的历史被 访问信息提供给训练后的预测器,并从所述训练后的预测器获取所述数据缓 存价值,其中,所述其它逻辑分区包括与所述数据的逻辑地址所属的逻辑分 区相邻的预设数量的逻辑分区。
[0014]根据本公开的示例性实施例,由于逻辑分区的被访问信息具有时间相关 性和空间相关性,因此,基于数据的逻辑地址所属的逻辑分区以及与该分区 相邻的逻辑分区的历史被访问信息通过训练好的预测器来确定数据的缓存价 值,可以尽可能地反映数据的实际缓存价值,从而可将实际具有高缓存价值 的数据存入缓存设备以降低读写数据的时间延迟。
[0015]可选地,所述访问请求为写请求,以及,其中,所述确定步骤包括:基 于所述缓存价值满足所述预设条件,确定将所述写请求对应的数据写入所述 缓存设备;以及基于所述缓存价值不满足所述预设条件,确定将所述写请求 对应的数据写入所述存储设备。
[0016]根据本公开的示例性实施例,将缓存价值满足预设条件的数据写入缓存 设备,从而使得缓存设备尽可能存储具有高缓存价值的数据以减少缓存污染 (即不将具有低缓存价值的数据存入缓存设备)。
[0017]可选地,所述访问请求为读请求,以及其中,所述确定步骤包括:基于 所述缓存价值满足所述预设条件,确定从所述缓存设备读取所述读请求对应 的数据;以及基于所述缓存价值不满足所述预设条件,确定从所述存储设备 读取所述读请求对应的数据。
[0018]根据本公开的示例性实施例,由于根据数据的缓存价值选择性的将数据 存入缓存设备或者存储设备,因此根据数据的缓存价值的高低来确定是从缓 存设备还是存储设备读取数据,可以提高读取数据的命中率,从而降低读取 数据的时间延迟。
[0019]可选地,所述访问请求是读请求,其中,所述缓存价值满足所述预设条 件,以及其中,所述方法还包括:基于所述读请求对应的数据从所述缓存设 备中未被命中,确定从所述存储设备读取所述读请求对应的数据。
[0020]可选地,所述方法还包括:将从所述缓存设备未被命中的所述读请求对 应的数据写入所述缓存设备中。
[0021]根据本公开的示例性实施例,通过将缓存价值满足预设条件但在缓存设 备中未被读取到的数据存入缓存设备,可以降低下次读取该数据时的时间延 迟(例如,下次直接在缓存设备中可直接读取到该数据)。
[0022]根据示例实施例的一方面,一种装置包括:一个或更多个存储器,存储 指令;以及一个或更多个处理器,被配置为执行所述指令以实现:获取单元, 被配置为:获取访问请求对应的数据的缓存价值;以及确定单元,被配置为: 基于所述缓存价值是否满足预设条件,确定是从缓存设备访问所述访问请求 对应的数据还是从存储设备访问所述访问请求对应
的数据。
[0023]根据本公开的示例性实施例,由于根据与访问请求相应的数据的缓存价 值是否满足预设条件来确定是从缓存设备访问数据还是从存储设备访问数据, 因此,本公开的数据缓存的装置可以将实际具有高缓存价值的数据存入缓存 设备,从而降低读写数据的时间延迟。
[0024]可选地,所述获取单元还被配置为:从所述存储设备的多个逻辑分区中 确定所述数据的逻辑地址对应的逻辑分区;以及获取所述逻辑分区的数据缓 存价值作为所述的数据的所述缓存价值,其中,所述多个逻辑分区中的每个 逻辑分区具有对应的数据缓存价值。
[0025]根据本公开的示例性实施例,由于数据的缓存价值与数据的逻辑地址所 属的逻辑分区(对应的数据)的数据缓存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:获取访问请求对应的数据的缓存价值;以及基于所述缓存价值是否满足预设条件,确定是从缓存设备访问所述访问请求对应的数据还是从存储设备访问所述访问请求对应的数据。2.根据权利要求1所述的方法,其中,所述获取所述访问请求对应的数据的缓存价值的步骤包括:从所述存储设备的多个逻辑分区中确定所述数据的逻辑地址对应的逻辑分区;以及获取所述逻辑分区的数据缓存价值作为所述访问请求对应的数据的缓存价值,其中,所述多个逻辑分区中的每个逻辑分区具有对应的数据缓存价值。3.根据权利要求2所述的方法,其中,所述获取所述访问请求对应的数据的缓存价值的步骤包括:基于所述逻辑分区的历史被访问信息获取所述缓存价值。4.根据权利要求3所述的方法,其中,所述获取访问请求对应的数据的缓存价值的步骤包括:将所述数据的逻辑地址所属的逻辑分区的历史被访问信息和其它逻辑分区的历史被访问信息提供给训练后的预测器,并从所述训练后的预测器获取所述数据缓存价值,其中,所述其它逻辑分区包括与所述数据的逻辑地址所属的逻辑分区相邻的预设数量的逻辑分区。5.根据权利要求1所述的方法,其中,所述访问请求为写请求,以及,其中,所述确定步骤包括:基于所述缓存价值满足所述预设条件,确定将所述写请求对应的数据写入所述缓存设备;以及基于所述缓存价值不满足所述预设条件,确定将所述写请求对应的数据写入所述存储设备。6.根据权利要求1所述的方法,其中,所述访问请求为读请求,以及其中,所述确定步骤包括:基于所述缓存价值满足所述预设条件,确定从所述缓存设备读取所述读请求对应的数据;以及基于所述缓存价值不满足所述预设条件,确定从所述存储设备读取所述读请求对应的数据。7.根据权利要求1所述的方法,其中,所述访问请求是读请求,其中,所述...

【专利技术属性】
技术研发人员:周洋旭董飞姜研
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1