一种基于地址重定向的数据存储方法和装置制造方法及图纸

技术编号:35740807 阅读:12 留言:0更新日期:2022-11-26 18:44
本发明专利技术公开了一种基于地址重定向的数据存储方法和装置,方法包括接收写入请求,提取写入请求中的数据块标识、数据偏移和数据长度,并根据数据长度判定本次为大块写或小块写,根据数据块标识和数据偏移查询元数据数据库,判定本次为新写操作或覆盖写操作;获取HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟,判定HDD设备的负载情况;根据HDD设备的负载情况写入数据;将数据分布信息和地址空间使用信息持久化到元数据数据库,完成数据存储。本发明专利技术利用磁盘的特性和当前的负载情况,在SSD设备和HDD设备之间进行IO调度,并且结合存储系统的地址重定向和小块写聚合特性提升存储系统的性能。储系统的性能。储系统的性能。

【技术实现步骤摘要】
一种基于地址重定向的数据存储方法和装置


[0001]本专利技术属于数据存储
,具体涉及一种基于地址重定向的数据存储方法和装置。

技术介绍

[0002]在数据存储领域,存储系统通常包括机械硬盘(HDD)和固态硬盘(SSD)。其中SSD读写速度较快,但是成本较高且容量小,HDD容量大且成本较低,但是读写速度较慢。因此通常采用一定的组合方式,发挥SSD高速和HDD大容量特点,提供高性价比的存储系统。
[0003]现有技术中,通常在HDD上使用SSD构建一层缓存,并提供多种缓存策略,进而利用SSD的高速特性提高HDD的IO速度。在大多缓存方案(例如Bache、Ceph)中,支持SSD和HDD之间的多种缓存策略,常用的策略有:writeback(回写策略)将所有的数据先写入SSD,然后等待系统将数据回写HDD;writethrough(直写策略)将数据同时写入SSD和HDD;writearoud将数据直接写入HDD。在其他一些缓存方案中,采用算法根据数据访问频率、数据访问时间等参数检测访问热点,将热点度超过阈值的数据存放在SSD中,将热点度低于阈值的数据存放在HDD中。
[0004]但是以上方案没有充分利用两种磁盘的优势并且规避他们的劣势:第一,受限于擦除次数SSD寿命有限,而在传统的缓存方案中,所有的数据都需要先经过SSD,然后下刷到HDD;第二,大块和小块性能不对称,大块操作的性能远远好于小块操作,而在传统的缓存方案中,随机的小块写操作无论是进入SSD还是从SSD进入HDD时都仍然是随机的小块写,这使得性能受到严重影响;第三,传统的缓存方案,并没有充分考虑当前系统的负载情况,进行IO调度。

技术实现思路

[0005]本专利技术的目的之一在于提供一种基于地址重定向的数据存储方法,利用磁盘的特性和当前的负载情况,在SSD设备和HDD设备之间进行IO调度,并且结合存储系统的地址重定向和小块写聚合特性提升存储系统的性能。
[0006]为实现上述目的,本专利技术所采取的技术方案为:
[0007]一种基于地址重定向的数据存储方法,用于将数据存储至存储对象,所述存储对象为HDD设备和SSD设备的组合,所述基于地址重定向的数据存储方法,包括:
[0008]步骤1、接收写入请求,提取写入请求中的数据块标识、数据偏移和数据长度,并根据数据长度判定本次为大块写或小块写,根据数据块标识和数据偏移查询元数据数据库,判定本次为新写操作或覆盖写操作;
[0009]步骤2、获取HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟,判定HDD设备的负载情况,所述HDD设备的负载情况包括轻度负载、中度负载和重度负载;
[0010]步骤3、根据HDD设备的负载情况写入数据,包括:
[0011]若HDD设备为轻度负载,则将写入请求指定的数据写入HDD设备;
[0012]若HDD设备为中度负载,则当本次为大块写时,将写入请求指定的数据写入HDD设备;当本次为小块写时,将写入请求指定的数据写入SSD设备;
[0013]若HDD设备为重度负载,则将写入请求指定的数据写入SSD设备;
[0014]其中,当数据写入HDD设备时,若本次为新写操作,则直接将数据写入HDD设备,并生成数据分布信息,若本次为覆盖写操作,则基于地址重定向将数据写入HDD设备并生成数据分布信息;对于被覆盖的地址空间,若位于HDD设备中,则直接释放空间,若位于SSD设备中,则标记为无效;
[0015]当数据写入SSD设备时,若本次为新写操作,则选择预先分配的空闲块进行追加,并生成数据分布信息,若本次为覆盖写操作,则基于地址重定向分配的空闲块进行写入并生成数据分布信息;对于被覆盖的地址空间,若位于HDD设备中,则标记为旧数据,若位于SSD设备中,则标记为无效;
[0016]步骤4、将数据分布信息和地址空间使用信息持久化到元数据数据库,完成数据存储。
[0017]以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
[0018]作为优选,所述判定HDD设备的负载情况,包括:
[0019]令带宽大于等于第一设定阈值、IOPS大于等于第二设定阈值、以及延迟大于等于第三设定阈值这三种情况均为第一等级;
[0020]令带宽大于等于第四设定阈值同时小于第一设定阈值、IOPS大于等于第五设定阈值同时小于第二设定阈值、以及延迟大于等于第六设定阈值同时小于第三设定阈值这三种情况均为第二等级;
[0021]令带宽小于第四设定阈值、IOPS小于第五设定阈值、以及延迟小于第六设定阈值这三种情况均为第三等级;
[0022]若HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟中符合的最高等级为第一等级,则HDD设备的负载情况为重度负载;若HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟中符合的最高等级为第二等级,则HDD设备的负载情况为中度负载;若HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟中符合的最高等级为第三等级,则HDD设备的负载情况为轻度负载。
[0023]作为优选,所述基于地址重定向的数据存储方法,还包括:根据SSD设备的容量将SSD设备中的数据下刷至HDD设备,具体包括以下步骤:
[0024]步骤a、获取SSD设备的容量使用量,根据容量使用量判定SSD设备的容量使用情况为少部分被使用、部分被使用或大部分被使用;
[0025]步骤b、根据SSD设备的容量使用情况进行数据下刷,包括:
[0026]若SSD设备的容量使用情况为少部分被使用,则不进行数据下刷;
[0027]若SSD设备的容量使用情况为部分被使用,则根据HDD设备的负载情况进行数据下刷,并生成数据分布信息;
[0028]若SSD设备的容量使用情况为大部分被使用,则对于SSD设备中的空闲块进行数据整理并整块下刷至HDD设备,并生成数据分布信息;
[0029]步骤c、将数据分布信息和地址空间使用信息持久化到元数据数据库,完成数据下刷。
[0030]作为优选,所述根据HDD设备的负载情况进行数据下刷,包括:
[0031]若HDD设备为轻度负载,则对于SDD设备的空闲块中覆盖写操作写入的数据直接下刷至HDD设备中该数据的原有位置,对于SDD设备的空闲块中新写操作写入的数据进行整理并整块下刷至HDD设备;
[0032]若HDD设备为中度负载或重度负载,则对于SSD设备中的空闲块进行数据整理并整块下刷至HDD设备。
[0033]作为优选,所述对于SSD设备中的空闲块进行数据整理,包括:
[0034]1)丢弃空闲块中被标记为无效的数据片段;
[0035]2)对于空闲块中的数据片段,按照数据标识进行合并,将相同数据标识的数据片段根据逻辑地址进行排序拼接。
[0036]本专利技术提供的一种基于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于地址重定向的数据存储方法,用于将数据存储至存储对象,所述存储对象为HDD设备和SSD设备的组合,其特征在于,所述基于地址重定向的数据存储方法,包括:步骤1、接收写入请求,提取写入请求中的数据块标识、数据偏移和数据长度,并根据数据长度判定本次为大块写或小块写,根据数据块标识和数据偏移查询元数据数据库,判定本次为新写操作或覆盖写操作;步骤2、获取HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟,判定HDD设备的负载情况,所述HDD设备的负载情况包括轻度负载、中度负载和重度负载;步骤3、根据HDD设备的负载情况写入数据,包括:若HDD设备为轻度负载,则将写入请求指定的数据写入HDD设备;若HDD设备为中度负载,则当本次为大块写时,将写入请求指定的数据写入HDD设备;当本次为小块写时,将写入请求指定的数据写入SSD设备;若HDD设备为重度负载,则将写入请求指定的数据写入SSD设备;其中,当数据写入HDD设备时,若本次为新写操作,则直接将数据写入HDD设备,并生成数据分布信息,若本次为覆盖写操作,则基于地址重定向将数据写入HDD设备并生成数据分布信息;对于被覆盖的地址空间,若位于HDD设备中,则直接释放空间,若位于SSD设备中,则标记为无效;当数据写入SSD设备时,若本次为新写操作,则选择预先分配的空闲块进行追加,并生成数据分布信息,若本次为覆盖写操作,则基于地址重定向分配的空闲块进行写入并生成数据分布信息;对于被覆盖的地址空间,若位于HDD设备中,则标记为旧数据,若位于SSD设备中,则标记为无效;步骤4、将数据分布信息和地址空间使用信息持久化到元数据数据库,完成数据存储。2.如权利要求1所述的基于地址重定向的数据存储方法,其特征在于,所述判定HDD设备的负载情况,包括:令带宽大于等于第一设定阈值、IOPS大于等于第二设定阈值、以及延迟大于等于第三设定阈值这三种情况均为第一等级;令带宽大于等于第四设定阈值同时小于第一设定阈值、IOPS大于等于第五设定阈值同时小于第二设定阈值、以及延迟大于等于第六设定阈值同时小于第三设定阈值这三种情况均为第二等级;令带宽小于第四设定阈值、IOPS小于第五设定阈值、以及延迟小于第六设定阈值这三种情况均为第三等级;若HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟中符合的最高等级为第一等级,则HDD设备的负载情况为重度负载;若HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟中符合的最高等级为第二等级,则HDD设备的负载情况为中度负载;若HDD设备在当前滑动时间窗口内的带宽、IOPS和延迟中符合的最高等级为第三等级,则HDD设备的负载情况为轻度负载。3.如权利要求1所述的基于地址重定向的数据存储方法,其特征在于,所述基于地址重定向的数据存储方法,还包括:根据SSD设备的容量将SSD设备中的数据下刷至HDD设备,具体包括以下步骤:步骤a、获取SSD设备的容量使用量,根据容量使用量判定SSD设备的容量使用情况为少
部分被使用、部分被使用或大部分被使用;步骤b、根据SSD设备的容量使用情况进行数据下刷,包括:若SSD设备的容量使用情况为少部分被使用,则不进行数据下刷;若SSD设备的容量使用情况为部分被使用,则根据HDD设备的负载情况进行数据下刷,并生成数据分布信息;若SSD设备的容量使用情况为大部分被使用,则对于SSD设备中的空闲块进行数据整理并整块下刷至HDD设备,并生成数据分布信息;步骤c、将数据分布信息和地址空间使用信息持久化到元数据数据库,完成数据下刷。4.如权利要求3所述的基于地址重定向的数据存储方法,其特征在于,所述根据HDD设备的负载情况进行数据下刷,包括:若HDD设备为轻度负载,则对于SDD设备的空闲块中覆盖写操作写入的数据直接下刷至HDD设备中该数据的原有位置,对于SDD设备的空闲块中新写操作写入的数据进行整理并整块下刷至HDD设备;若HDD设备为中度负载或重度负载,则对于SSD设备中的空闲块进行数据整理并整块下刷至HDD设备。5.如权利要求3或4所述的基于地址重定向的数据存储方法,其特征在于,所述对于SSD设备中的空闲块进行数据整理,包括:1)丢弃空闲块中被标记为无效的数据片段;2)对于空闲块中的数据片段,按照数据标识进行合并,将相同数据标识的数据片段根据逻辑地址进行排序拼接。6.一种基于地址重定向的数据存储装置,用于将数据存储至存...

【专利技术属性】
技术研发人员:赵坤郭智杰吴羡肖衍佳刘仪阳
申请(专利权)人:中国电子科技集团公司第五十二研究所
类型:发明
国别省市:

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

1