用于重写数据的方法、设备和计算机程序产品技术

技术编号:28373312 阅读:24 留言:0更新日期:2021-05-08 00:00
本公开的实施例涉及用于重写数据的方法、设备和计算机程序产品。该方法包括:基于将目标数据重写到存储区中以覆盖原始数据的请求,比较目标数据的第一压缩比和原始数据的第二压缩比;根据第一压缩比高于第二压缩比的确定,根据第一压缩比将第一数据压缩成多个数据片段;将多个数据片段存储在存储区的多个可重写扇区中,该可重写扇区先前被用来存储原始数据的相应片段;以及将至少一个填充数据片段存储在与多个可重写扇区交错的至少一个扇区中或者多个可重写扇区中的空闲部分。这样,可以使得重写数据以连续的方式被存储在存储区中,同时还满足存储设备的写对齐的要求,从而节省了写请求引入的额外的读开销,并提高了存储设备的写性能。

【技术实现步骤摘要】
用于重写数据的方法、设备和计算机程序产品
本公开的实施例总体涉及数据存储领域,具体涉及用于重写数据的方法、设备和计算机程序产品。
技术介绍
为了节省数据在存储设备中所占用的存储空间,在将数据写入存储区之前,可以以一定的压缩比对其进行压缩。当存储区初次被写入以一定的压缩比压缩的数据(例如,输入/输出(I/O)指令)时,数据在存储区内是连续的。后续数据可以被重写入相同的存储区以覆盖原始数据。由于物理存储区可以按照分页管理方案被分成页大小的若干区段,其中页大小是4KB或8KB的最小分配单元。如果后续数据具有比原始数据更高的压缩比,则后续数据在相同存储区内通常是非连续的,并且后续数据与原始数据之间存在间隔。
技术实现思路
本公开的实施例提供了用于重写数据的方法、设备和计算机程序产品。根据本公开的第一方面,提供了一种用于重写数据的方法。该方法包括:基于将目标数据重写到存储区中以覆盖原始数据的请求,比较目标数据的第一压缩比和原始数据的第二压缩比;根据第一压缩比高于第二压缩比的确定,根据第一压缩比将目标数据压缩成多个数据片本文档来自技高网...

【技术保护点】
1.一种用于重写数据的方法,包括:/n基于将目标数据重写到存储区中以覆盖原始数据的请求,比较所述目标数据的第一压缩比和所述原始数据的第二压缩比;/n根据所述第一压缩比高于所述第二压缩比的确定,根据所述第一压缩比将所述目标数据压缩成多个数据片段;/n将所述多个数据片段存储在所述存储区的多个重写区段中,所述重写区段先前被用来存储所述原始数据的相应片段;以及/n将至少一个填充数据片段存储在与所述多个重写区段交错的至少一个空闲区段中和/或所述多个重写区段中的空闲扇区中。/n

【技术特征摘要】
1.一种用于重写数据的方法,包括:
基于将目标数据重写到存储区中以覆盖原始数据的请求,比较所述目标数据的第一压缩比和所述原始数据的第二压缩比;
根据所述第一压缩比高于所述第二压缩比的确定,根据所述第一压缩比将所述目标数据压缩成多个数据片段;
将所述多个数据片段存储在所述存储区的多个重写区段中,所述重写区段先前被用来存储所述原始数据的相应片段;以及
将至少一个填充数据片段存储在与所述多个重写区段交错的至少一个空闲区段中和/或所述多个重写区段中的空闲扇区中。


2.根据权利要求1所述的方法,其中将至少一个填充数据片段存储在与所述多个重写区段交错的至少一个空闲区段中和/或所述多个重写区段中的空闲扇区包括:
确定所述存储区的候选填充区段;
根据所述重写区段中存储所述多个数据片段的扇区的位置,从所确定的所述候选填充区段确定所述空闲区段和所述空闲扇区;以及
将所述填充数据片段存储在所述空闲区段和所述空闲扇区中的至少一项中。


3.根据权利要求2所述的方法,其中确定所述存储区的候选填充区段包括:
生成指示所述存储区的区段可写性的第一位图;
基于所述第一位图,确定所述存储区的不可写区段;以及
将所述存储区的所述不可写区段以外的区段确定为所述候选填充区段。


4.根据权利要求2所述的方法,其中确定所述空闲区段和所述空闲区段包括:
生成指示所述候选填充区段的扇区可重写性的第二位图;
基于所述第二位图,确定所述数据片段被存储的扇区;
将所述重写区段中存储所述数据片段的扇区以外的扇区确定为所述空闲部分;以及
将所述候选填充区段中的所述重写区段以外的区段确定为空闲区段。


5.根据权利要求2所述的方法,其中将所述填充数据片段存储在所述空闲区段和所述空闲扇区中的至少一项中包括:
确定所述空闲区段的数目与所述候选填充区段的数目之间的比;
将所述比与预定阈值进行比较;以及
根据所述比不超过所述预定阈值的确定,将所述填充数据片段存储在所述空闲区段和所述空闲扇区中的至少一项。


6.根据权利要求1所述的方法,其中与所述多个重写区段交错的至少一个空闲区段位于所述多个重写区段中的起始重写区段和末尾重写区段之间。


7.根据权利要求1所述的方法,其中所述存储区基于所述存储区的起始扇区索引和区段长度而被划分成多个区段。


8.根据权利要求1所述的方法,其中所述填充数据片段是与所述数据片段不同的数据片段。


9.根据权利要求1所述的方法,其中将至少一个填充数据片段存储在与所述多个重写区段交错的至少一个空闲区段中或者所述多个重写区段中的空闲扇区包括:将所述至少一个填充数据片段存储在所述多个重写区段中的起始重写区段和末尾重写区段之间的空闲区段中和/或所述多个重写区段中的所述空闲扇区中,使得所述多个数据片段是连续的。


10.一种用于存储数据的设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,...

【专利技术属性】
技术研发人员:张雷虎宫晨
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国;US

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

1