本发明涉及数据存储,尤其涉及一种基于逻辑卷的闪存阵列去重存储方法、装置、设备和介质。
背景技术:
1、随着固态驱动器和非易失性存储器的发展,以及固态硬盘的成本降低,闪存阵列在存储系统中占比越来越高。在线去重特性作为闪存阵列的重要特性,不仅节省了闪存阵列的物理空间,还避免了由于数据写入导致固态硬盘寿命磨损的问题。其中,在线去重特性是指在数据进入闪存阵列之前,从数据中删除冗余部分。
2、在实际应用中,经常会出现一个情况,当多份同样的数据写入同一个闪存阵列中时,若闪存阵列的去重块大小为4k,去重率会很高;若同一个闪存阵列的去重块大小为8k或16k时,去重率会下降的非常低。其根源是数据块的对齐问题,因为上层应用下发的数据的首地址未与原重复数据的首地址对齐,导致定长切分后的数据块并不是重复的数据块。
3、针对数据块对齐问题,目前一般是使用特定软件检查存储设备物理块对齐情况,并对上层应用(如文件系统等)进行重新配置,比如分区的对齐地址、文件系统逻辑块的大小。由于闪存阵列与文件系统之间经过了物理空间的虚拟化及块设备注册等,导致仅配置上层应用可能达不到目的。
技术实现思路
1、本发明提供了一种基于逻辑卷的闪存阵列去重存储方法、装置、设备和介质,在创建逻辑卷时引入对应闪存阵列的去重块信息,解决了数据块对齐问题,能够有效提升闪存阵列的去重率,减少物理空间占用。
2、根据本发明的一方面,提供了一种基于逻辑卷的闪存阵列去重存储方法,所述方法包括:
3、确定与逻辑卷对应的闪存阵列的资源信息;其中,所述资源信息包括空闲阵列地址信息以及去重块大小;
4、根据所述去重块大小对所述空闲阵列地址信息进行对齐,得到对齐空闲阵列地址信息;
5、基于所述对齐空闲阵列地址信息在对应的闪存阵列上进行去重存储。
6、根据本发明的另一方面,提供了一种基于逻辑卷的闪存阵列去重存储装置,包括:
7、闪存阵列资源确定模块,用于确定与逻辑卷对应的闪存阵列的资源信息;其中,所述资源信息包括空闲阵列地址信息以及去重块大小;
8、空闲阵列地址对齐模块,用于根据所述去重块大小对所述空闲阵列地址信息进行对齐,得到对齐空闲阵列地址信息;
9、闪存阵列去重存储模块,用于基于所述对齐空闲阵列地址信息在对应的闪存阵列上进行去重存储。
10、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
11、至少一个处理器;以及
12、与所述至少一个处理器通信连接的存储器;其中,
13、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的基于逻辑卷的闪存阵列去重存储方法。
14、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的基于逻辑卷的闪存阵列去重存储方法。
15、本发明实施例的技术方案,确定与逻辑卷对应的闪存阵列的资源信息;其中,资源信息包括空闲阵列地址信息以及去重块大小;根据去重块大小对空闲阵列地址信息进行对齐,得到对齐空闲阵列地址信息;基于对齐空闲阵列地址信息在对应的闪存阵列上进行去重存储。本技术方案,通过在创建逻辑卷时引入对应闪存阵列的去重块信息,解决了去重块对齐问题,避免了多个逻辑卷之间数据拷贝,可能因为没有对齐导致的数据不能识别为重复,使得去重率下降的问题,从而有效提升闪存阵列的去重率,减少物理空间占用。
16、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种基于逻辑卷的闪存阵列去重存储方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,与逻辑卷对应的闪存阵列的数量为1;
3.根据权利要求1所述的方法,其特征在于,与逻辑卷对应的闪存阵列的数量为至少两个;
4.根据权利要求2或3所述的方法,其特征在于,根据块划分结果与所述空闲阵列地址信息确定对齐后的起始地址和结束地址,包括:
5.根据权利要求1所述的方法,其特征在于,基于所述对齐空闲阵列地址信息在对应的闪存阵列上进行去重存储之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,从所述候选扩容闪存阵列中选择候选去重块大小和已有闪存阵列的去重块大小相同的候选扩容闪存阵列作为目标扩容闪存阵列,或,基于去重块大小最小公倍数约束条件从所述候选扩容闪存阵列中选择目标扩容闪存阵列之后,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,基于所述对齐空闲阵列地址信息在对应的闪存阵列上进行去重存储之前,所述方法还包括:
8.一种基于逻辑卷的闪存阵列去重存储装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的基于逻辑卷的闪存阵列去重存储方法。