本发明涉及数据存储,特别是涉及一种存储池的空间组织方法、装置、电子设备及介质。
背景技术:
1、由于存储速度和高吞吐量等方面的优势,全闪存储系统得到了广泛的应用。全闪存储系统通常会采用追加写的工作机制,即每当有修改后的新数据写入后,在确定新数据的写盘位置时,不会覆盖其修改之前写入的原位置,而是会选择写入一个新位置,此时其修改前对应的原位置上的数据会失效。由于全闪系统数据追加写的特点,其空间管理也采用响应的动态管理方式,一般会将存储空间划分为若干block(块),而后在数据写入时,分配block承接写盘的数据,block使用完成后再继续分配使用其他block。而对于已经使用完成的block而言,随着时间推移,其内的部分数据会逐渐变为失效的垃圾数据。常态下大部分block基本是同时存在垃圾数据与有效数据,一般不会存在大片空闲block的情况。因此全闪存储系统无法一定性分配出大量空闲block来创建全分配卷。
2、可见,如何调整全闪存储系统中的存储空间,使其能够兼容创建全分配卷的需求,是本领域技术人员需要解决的问题。
技术实现思路
1、本发明实施例的目的是提供一种存储池的空间组织方法、装置、电子设备及介质,可以解决全闪存储系统需要能够兼容创建全分配卷的需求的问题。
2、为解决上述技术问题,本发明实施例提供了一种存储池的空间组织方法,包括:
3、将存储池空间中的存储块划分为常规块和储备块;
4、当存在数据通过追加写的方式写入时,分配常规块以进行所述数据的存储;
5、当存在全分配卷的创建需求时,分配储备块作为所述全分配卷的映射空间;所述全分配卷为在创建时需要预先分配存储地址的卷,预先分配的存储地址与所述全分配卷的卷地址保持固定的映射关系,且分配给所述全分配卷的存储地址仅用于所述全分配卷的数据存储。
6、在一些实施例中,还包括:
7、统计所述存储池空间的常规块中空闲块的数量;所述空闲块为其中没有数据存储的存储块;
8、若所述常规块中空闲块的数量小于预设阈值,则清理所述常规块中的垃圾数据。
9、在一些实施例中,还包括:
10、统计所述存储池空间的常规块中存储的数据的有效率;
11、若所述常规块中数据的有效率大于预设有效率,则选择储备块中的若干个存储块,并将选中的存储块从储备块转换为常规块。
12、在一些实施例中,所述将存储池空间中的存储块划分为常规块和储备块,包括:
13、为存储池空间中的预设数量个存储块赋予第一标识,以将其标记为常规块;
14、赋予所述存储池空间中的其他存储块第二标识,以将其标记为储备块;所述其他存储块为没有赋予所述第一标识的存储块;
15、所述将选中的存储块从储备块转换为常规块,包括:
16、将选中的存储块标识从第一标识修改为第二标识。
17、在一些实施例中,还包括:
18、当存在数据通过追加写的方式写入时,确定所述数据此次写入到存储池空间的池地址;
19、若所述数据为第一次写入,则将所述数据写入前的原地址和池地址之间的映射关系记录到元数据中;
20、若所述数据不为第一次写入,则将所述元数据中所述数据的原地址对应的池地址更新为所述数据本次写入到的池地址;
21、所述统计所述存储池空间的常规块中存储的数据的有效率,包括:
22、扫描所述存储池空间的所有常规块,确定所有所述常规块中的存储数据;
23、对于任一存储数据,在元数据中查找与其所在的池地址对应的映射关系;
24、若元数据中存在对应的映射关系,则判定所述存储数据为有效数据;
25、若元数据中不存在对应的映射关系,则判定所述存储数据为垃圾数据;
26、确定所有常规块中的有效数据的数量以及所有常规块中所有存储数据的数量;
27、计算有效数据的数量和所有存储数据的数量之间的比值,并将所述比值作为所述存储池空间的常规块中存储的数据的有效率。
28、在一些实施例中,所述分配储备块作为所述全分配卷的映射空间之前,还包括:
29、基于所述全分配卷的大小确定所需的存储块的数量;
30、判断所述储备块的数量是否不小于所述全分配卷所需的存储块的数量;
31、若是,则跳转至所述分配储备块作为所述全分配卷的映射空间的步骤;
32、若否,则执行创建失败的提示操作。
33、在一些实施例中,还包括:
34、若所述全分配卷存在扩容需求,则判断所述存储池空间的储备块能否满足所述扩容需求;
35、若是,则分配所述储备块作为所述全分配卷扩容部分的映射空间;
36、若所述全分配卷被删除,则将所述全分配卷对应的已分配的存储块恢复为储备块。
37、为解决上述技术问题,本发明实施例还提供了一种存储池的空间组织装置,包括:
38、空间划分单元,用于将存储池空间中的存储块划分为常规块和储备块;
39、常规存储单元,用于当存在数据通过追加写的方式写入时,分配常规块进行所述数据的存储;
40、全分配卷创建单元,用于当存在全分配卷的创建需求时,分配储备块作为所述全分配卷的映射空间。
41、为解决上述技术问题,本发明实施例还提供了一种电子设备,包括:
42、存储器,用于存储计算机程序;
43、处理器,用于执行所述计算机程序以实现如前述所述的存储池的空间组织方法的步骤。
44、为解决上述技术问题,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所述的存储池的空间组织方法的步骤。
45、由上述技术方案可以看出,本发明预先将存储池空间中的存储块划分为常规块和储备块,通过追加写的方式写入的数据通过分配常规块来实现存储,对全分配卷的创建需求通过分配储备块来实现;本发明的有益效果在于通过将存储池中的存储块划分为常规块和储备块两部分,并始终维持储备空间有足够量的储备块,以此来满足当需要从存储池中建立全分配卷时,有足够量的空闲存储块可以支撑建立全分配卷,从而解决全闪存储系统对于创建全分配卷的需求,能够同时兼容追加写存储数据和创建全分配卷的应用需求。
1.一种存储池的空间组织方法,其特征在于,包括:
2.如权利要求1所述的存储池的空间组织方法,其特征在于,还包括:
3.如权利要求1所述的存储池的空间组织方法,其特征在于,还包括:
4.如权利要求3所述的存储池的空间组织方法,其特征在于,所述将存储池空间中的存储块划分为常规块和储备块,包括:
5.如权利要求3所述的存储池的空间组织方法,其特征在于,还包括:
6.如权利要求1至5任一项所述的存储池的空间组织方法,其特征在于,所述分配储备块作为所述全分配卷的映射空间之前,还包括:
7.如权利要求6所述的存储池的空间组织方法,其特征在于,还包括:
8.一种存储池的空间组织装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的存储池的空间组织方法的步骤。