数据搬移处理方法技术

技术编号:39836764 阅读:14 留言:0更新日期:2023-12-29 16:21
本申请实施例公开了一种数据搬移处理方法

【技术实现步骤摘要】
数据搬移处理方法、装置、电子设备和存储介质


[0001]本申请涉及存储器
,具体涉及一种数据搬移处理方法

装置

电子设备和存储介质


技术介绍

[0002]固态硬盘
(Solid State Disk

SSD)
常用于电子设备中,对数据进行存储

为节省
SSD
的存储空间,当前的做法是对写入
SSD
的数据进行压缩处理,包括基于中央处理器
(Central Processing Unit

CPU)
的软件压缩方法,以及,透明压缩方法

在向
SSD
写入数据时,基于
CPU
的软件压缩方法,会先经由
CPU
对该数据进行压缩,得到该数据对应的压缩数据,再将压缩数据写入
SSD
的闪存颗粒中,压缩处理是在
CPU
中实现的;透明压缩方法则是通过
SSD
对该数据进行压缩,得到压缩数据,再将该压缩数据存到
SSD
的闪存颗粒中,压缩处理是在
SSD
中实现的

[0003]在向
SSD
的块中写入数据时,若该块中没有多余的空闲页,则需要先将该块中的有效数据搬移到另一个块中,然后擦除该块,于是,写入数据量将增加,此现象称为写放大现象

写放大的计算公式可以表征为:实际写入数据量
/
操作系统写入数据量

例如,操作系统向
SSD
的块
t
中写入大小为
4KB
的数据
M
,若该块
t
中没有多余的页,则需要先将块
t
中的有效数据搬移到另一个块
u
中,若有效数据为页
1、
页4以及页5中的数据,那么,需要将页
1、
页4以及页5中的数据搬移到块
u
中,然后擦除块
t
,最后,将数据
M
写入块
t
中,由此可见,实际写入了4个页,即实际写入数据量为4×
4KB

16KB
,操作系统写入数据量为
4KB
,于是,写放大=
4。
[0004]基于
CPU
的软件压缩,会占用大量的
CPU
资源,而现有的透明压缩方法,可以避免占用
CPU
资源,但是,现有的透明压缩方法,压缩粒度比较固定,为一个块大小,例如,为
4K
大小,压缩数据仍然会占用较大的存储空间,导致
SSD
仍然存在较大的写放大


技术实现思路

[0005]本申请实施例提供一种数据搬移处理方法

装置

电子设备和存储介质,可以降低数据对存储空间的占用,减小固态硬盘的写放大

[0006]本申请实施例提供一种数据搬移处理方法,包括:
[0007]确定待搬移数据;
[0008]确定所述待搬移数据对应的压缩粒度;
[0009]在所述压缩粒度满足预设条件时,确定目标压缩粒度,所述目标压缩粒度大于所述压缩粒度;
[0010]在当前已有的多个逻辑地址中,确定所述目标压缩粒度数量的逻辑地址,作为目标逻辑地址,所述目标逻辑地址中包括所述待搬移数据对应的逻辑地址;
[0011]对待压缩数据进行压缩处理,得到压缩数据,所述待压缩数据为存储块中所述目标逻辑地址对应的数据;
[0012]对所述压缩数据进行存储处理

[0013]相应的,本申请实施例提供一种数据搬移处理装置,包括:
[0014]第一确定单元,用于确定待搬移数据;
[0015]第二确定单元,用于确定所述待搬移数据对应的压缩粒度;
[0016]粒度确定单元,用于在所述压缩粒度满足预设条件时,确定目标压缩粒度,所述目标压缩粒度大于所述压缩粒度;
[0017]地址确定单元,用于在当前已有的多个逻辑地址中,确定所述目标压缩粒度数量的逻辑地址,作为目标逻辑地址,所述目标逻辑地址中包括所述待搬移数据对应的逻辑地址;
[0018]压缩处理单元,用于对待压缩数据进行压缩处理,得到压缩数据,所述待压缩数据为存储块中所述目标逻辑地址对应的数据;
[0019]存储处理单元,用于对所述压缩数据进行存储处理

[0020]在一些实施例中,所述第二确定单元,具体用于:
[0021]根据所述待搬移数据对应的逻辑地址,查询压缩粒度表,得到所述待搬移数据对应的压缩粒度;
[0022]所述数据搬移处理装置,还包括:更新单元;
[0023]所述更新单元,用于根据所述目标压缩粒度和所述目标逻辑地址,更新所述压缩粒度表

[0024]在一些实施例中,所述第一确定单元,具体用于:
[0025]确定待擦除存储块;
[0026]根据所述待擦除存储块中的有效数据,得到所述待搬移数据,所述有效数据为地址映射表中的逻辑地址对应的数据,所述地址映射表记录了逻辑地址和物理地址之间的映射关系

[0027]在一些实施例中,所述待搬移数据对应一次写操作,所述粒度确定单元,具体用于:
[0028]在所述压缩粒度小于所述一次写操作对应的地址总量时,将所述地址总量作为目标压缩粒度,所述地址总量为逻辑地址的总数量

[0029]在一些实施例中,所述目标逻辑地址为所述一次写操作对应的全部逻辑地址,所述压缩处理单元,具体用于:
[0030]在所述压缩粒度大于或等于预设压缩粒度时,对所述待搬移数据进行解压处理,得到所述待搬移数据对应的解压数据;
[0031]获取其他待搬移数据,所述其他待搬移数据为其他逻辑地址对应的待搬移数据,所述其他逻辑地址为所述目标逻辑地址中除去所述待搬移数据对应的逻辑地址;
[0032]在所述其他待搬移数据对应的压缩粒度大于或等于所述预设压缩粒度时,对所述其他待搬移数据进行解压处理,得到所述其他待搬移数据对应的解压数据;
[0033]将所述待搬移数据对应的解压数据和所述其他待搬移数据对应的解压数据进行拼接,得到拼接数据;
[0034]对所述拼接数据进行压缩处理,得到压缩数据

[0035]在一些实施例中,所述粒度确定单元,具体用于:
[0036]当存在所述待搬移数据对应的场景压缩粒度,并且,所述压缩粒度小于所述场景压缩粒度时,将所述场景压缩粒度作为目标压缩粒度

[0037]本申请实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有多条指令;所述处理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据搬移处理方法,其特征在于,包括:确定待搬移数据;确定所述待搬移数据对应的压缩粒度;在所述压缩粒度满足预设条件时,确定目标压缩粒度,所述目标压缩粒度大于所述压缩粒度;在当前已有的多个逻辑地址中,确定所述目标压缩粒度数量的逻辑地址,作为目标逻辑地址,所述目标逻辑地址中包括所述待搬移数据对应的逻辑地址;对待压缩数据进行压缩处理,得到压缩数据,所述待压缩数据为存储块中所述目标逻辑地址对应的数据;对所述压缩数据进行存储处理
。2.
根据权利要求1所述的方法,其特征在于,所述确定所述待搬移数据对应的压缩粒度,包括:根据所述待搬移数据对应的逻辑地址,查询压缩粒度表,得到所述待搬移数据对应的压缩粒度;所述方法,还包括:根据所述目标压缩粒度和所述目标逻辑地址,更新所述压缩粒度表
。3.
根据权利要求1所述的方法,其特征在于,所述确定待搬移数据,包括:确定待擦除存储块;根据所述待擦除存储块中的有效数据,得到所述待搬移数据,所述有效数据为地址映射表中的逻辑地址对应的数据,所述地址映射表记录了逻辑地址和物理地址之间的映射关系
。4.
根据权利要求1所述的方法,其特征在于,所述待搬移数据对应一次写操作,所述在所述压缩粒度满足预设条件时,确定目标压缩粒度,包括:在所述压缩粒度小于所述一次写操作对应的地址总量时,将所述地址总量作为目标压缩粒度,所述地址总量为逻辑地址的总数量
。5.
根据权利要求4所述的方法,其特征在于,所述目标逻辑地址为所述一次写操作对应的全部逻辑地址,所述对待压缩数据进行压缩处理,得到压缩数据,包括:在所述压缩粒度大于或等于预设压缩粒度时,对所述待搬移数据进行解压处理,得到所述待搬移数据对应的解压数据;获取其他待搬移数据,所述其他待搬移数据为其他逻辑地址对应的待搬移数据,所述其他逻辑地址为所述目标逻辑地址中除去所述待搬移数据对应的逻辑地址;在所...

【专利技术属性】
技术研发人员:任坤胜魏全能陈烽英
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1