一种存储系统中数据管理方法和固态硬盘技术方案

技术编号:30702733 阅读:24 留言:0更新日期:2021-11-06 09:41
本申请实施例公开了一种存储系统中数据管理方法和固态硬盘。所述存储系统用于存储结构化数据,所述方法包括:将待写入的第一数据拆分成相同大小的i个数据块,其中i为大于或等于1的整数;为每个数据块记录写入操作所使用的物理地址,得到i条地址数据;根据所述i条地址数据,生成所述第一数据的第一地址数据集;在预设的映射表中记录所述第一数据的第一key值和第一地址数据集的映射关系;利用所述映射表对存储系统中的数据进行管理。表对存储系统中的数据进行管理。表对存储系统中的数据进行管理。

【技术实现步骤摘要】
一种存储系统中数据管理方法和固态硬盘


[0001]本申请实施例涉及信息处理领域,尤指一种存储系统中数据管理方法和固态硬盘。

技术介绍

[0002]KV(key

value,键值)存储将当今CPU的存储工作负载转移到存储控制器中,从而大大提高了软件和硬件的效率,这为新一代高性能和可扩展的存储架构铺平了道路。由于KV存储技术是将对象数据转换为具有结构化数据块大小的数据片段,当某些数据发生变化时,会将整个结构化数据块删除并且重新编程,这样的做法会大大加快现有存储介质的磨损,并且影响了小容量KV存储设备的存储性能。

技术实现思路

[0003]为了解决上述任一技术问题,本申请实施例提供了一种存储系统中数据管理方法和固态硬盘。
[0004]为了达到本申请实施例目的,本申请实施例提供了一种存储系统中数据管理方法,所述存储系统用于存储结构化数据,所述方法包括:
[0005]将待写入的第一数据拆分成相同大小的i个数据块,其中i为大于或等于1的整数;
[0006]为每个数据块记录写入操作所使用的物理地址,得到i条地址数据;
[0007]根据所述i条地址数据,生成所述第一数据的第一地址数据集;
[0008]在预设的映射表中记录所述第一数据的第一key值和第一地址数据集的映射关系;
[0009]利用所述映射表对存储系统中的数据进行管理。
[0010]一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上文所述的方法。<br/>[0011]一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上文所述的方法。
[0012]一种固态硬盘,包括上文所述的电子装置。
[0013]上述技术方案中的一个技术方案具有如下优点或有益效果:
[0014]在存储系统存储结构化数据时,通过将待写入的数据的key值对应的value值设置为i个数据块的i条地址数据,实现对数据中每个数据块的独立管理,与现有技术中对key指向的value所包含的整个结构化数据相比,管理颗粒度进一步细化,为实现结构化数据的局部更新提供基础,达到提高KV存储系统的存储性能的目的,有效避免写入放大WA过大问题的发生。
[0015]本申请实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
[0016]附图用来提供对本申请实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请实施例的实施例一起用于解释本申请实施例的技术方案,并不构成对本申请实施例技术方案的限制。
[0017]图1为本申请实施例提供的存储系统中数据管理方法的流程图;
[0018]图2为本申请实施例提供的映射表的创建方式的示意图;
[0019]图3为本申请实施例提供的映射表的存储方式的示意图;
[0020]图4为本申请实施例提供的映射表的恢复方式的示意图;
[0021]图5为本申请实施例提供的映射表的更新方式的示意图。
具体实施方式
[0022]为使本申请实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请实施例中的实施例及实施例中的特征可以相互任意组合。
[0023]为了解决KV存储的存储性能低以及现有技术对nand flash造成写入放大(Write Amplification,WA)较大的问题,本申请实施例提供一种新型的key array映射表,使用该key array映射表进行存储系统中数据的管理。
[0024]图1为本申请实施例提供的存储系统中数据管理方法的流程图。如图1所示,所述存储系统用于存储结构化数据,所述方法包括:
[0025]步骤101、将待写入的第一数据拆分成相同大小的i个数据块,其中i为大于或等于1的整数;
[0026]步骤102、为每个数据块记录写入操作所使用的物理地址,得到i条地址数据;
[0027]其中,该地址数据可以采用数组形式对物理地址进行记录;
[0028]步骤103、根据所述i条地址数据,生成所述第一数据的第一地址数据集;
[0029]步骤104、在预设的映射表中记录所述第一数据的第一key值和第一地址数据集的映射关系;
[0030]步骤105、利用所述映射表对存储系统中的数据进行管理。
[0031]本申请实施例提供的方法,在存储系统存储结构化数据时,通过将待写入的数据的key值对应的value值设置为i个数据块的i条地址数据,实现对数据中每个数据块的独立管理,与现有技术中对key指向的value所包含的整个结构化数据相比,管理颗粒度进一步细化,为实现结构化数据的局部更新提供基础,达到提高KV存储系统的存储性能的目的,有效避免WA过大问题的发生。
[0032]图2为本申请实施例提供的映射表的创建方式的示意图。如图2所示,以标准值的大小可以为4k为例进行说明,key array映射表的创建先由hash engine产生key值,再将主机端写入的结构化数据资料块拆分成一个个4K数据域的大小,并且将所有的4k数据对应的物理地址关联成数组,最后关联key值与array数组,形成key

array映射关系,所有的key array pair组成了key array映射表。
[0033]下面以某一个待写入的结构化数据为例对上述流程进行详细说明,包括:
[0034]步骤A、确定待写入的结构化数据的key值:
[0035]对主机端下发的访问命令中key进行hash,得到哈希值,即映射表中的key,可以得到该结构化数据的唯一的哈希值,作为结构化数据的key值,该key值用以记录和表征本次主机端访问的结构化数据资料的逻辑地址。
[0036]步骤B、确定待写入的结构化数据的数组集,作为KV存储系统中结构化数据的value值:
[0037]步骤B01、将主机端写入的结构化数据拆分成一个个4k数据域的大小的数据块;
[0038]对于不满4k的情形,可以增加dummy数据来补满4k;
[0039]例如,拆分得到的数据块为D0、D1、D2、
……
、Di、
……
;其中i为大于等于0的整数。
[0040]步骤B02、在顺序写入拆分得到的每个数据块时,记录拆分得到的每个数据块写入的物理地址,每个4k数据的物理地址构造成数组,
[0041]其中,每个数组记录对应4k数据的全部物理地址;
[0042]例如,数据块的数组可以为array[0]、array[1]、array[2]、
……
、array[i]、
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储系统中数据管理方法,其特征在于,所述存储系统用于存储结构化数据,所述方法包括:将待写入的第一数据拆分成相同大小的i个数据块,其中i为大于或等于1的整数;为每个数据块记录写入操作所使用的物理地址,得到i条地址数据;根据所述i条地址数据,生成所述第一数据的第一地址数据集;在预设的映射表中记录所述第一数据的第一key值和第一地址数据集的映射关系;利用所述映射表对存储系统中的数据进行管理。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在写入所述第一数据的物理块中,为每个数据块记录时间戳和映射信息,其中,第i个数据块的时间戳表示第i数据块的写入顺序,第i个数据块的映射信息包括第一key值和第i条地址数据。3.根据权利要求2所述的方法,其特征在于,所述写入时间和映射信息记录在每个数据块的元数据中。4.根据权利要求3所述的方法,其特征在于:所述映射表被划分为N份映射子表,其中每份映射子表记录一个物理块中存储的数据的映射关系;在第n个物理块中写入第i个数据块的同时,在第i个数据块的元数据中写入第i个数据块的时间戳和映射信息;其中n和N均为正整数,且n≤N,其中N为存储系统中物理块的总数。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:在存储系统发生映射表丢失后,根据N个物理块中时间戳,确定丢失前最后一次写入的目标物理块;获取所述目标物理块以及所述目标...

【专利技术属性】
技术研发人员:李伟袁伟
申请(专利权)人:合肥大唐存储科技有限公司
类型:发明
国别省市:

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

1