System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及硬盘,特别是涉及一种硬盘的空间管理方法、一种硬盘的空间管理装置、一种电子设备以及一种计算机可读介质。
技术介绍
1、固态硬盘(ssd)通常会保留15%的预留空间用于ssd盘的gc(garbagecollection,垃圾回收)和坏块的替换,这部分预留空间对用户是不可见的。
2、zns(zone namespace ssd,区域命名空间固态硬盘)是一种特殊的ssd盘,它将预留空间暴露给用户,用户可以直接管理这部分空间。
3、用户在使用zns盘中的预留空间时,需要用户自己进行实现磁盘空间的管理,实现ftl(flash translate layer,闪存芯片地址逻辑转换层)策略和gc功能,使用门槛较高。需要说明的是,ftl策略指的是将用户的逻辑lba(logical block addressing,逻辑块寻址)地址转换为磁盘物理位置,即寻找到待操作的数据的位置。
技术实现思路
1、本专利技术实施例提供一种硬盘的空间管理方法、装置、电子设备以及计算机可读存储介质,以解决用户在使用zns盘中的预留空间时,需要用户自己进行实现磁盘空间的管理,实现ftl(flash translate layer,闪存芯片地址逻辑转换层)策略和gc功能,使用门槛较高的问题。
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、可选地,所述本文档来自技高网...
【技术保护点】
1.一种硬盘的空间管理方法,其特征在于,应用于硬盘,所述硬盘中包括至少一个逻辑存储区域,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述存储使用状态包括空闲状态;在所述逻辑存储区域被清空的状态下,所述逻辑存储区域处于空闲状态;所述方法包括:
3.根据权利要求2所述的方法,其特征在于,所述存储使用状态还包括活跃状态;所述更新所述数据库中所述目标逻辑存储区域的存储使用状态和/或存储数据状态,包括:
4.根据权利要求1所述的方法,其特征在于,所述存储数据状态包括至少一个数据块的清除标识符;所述基于所述数据库,清除所述硬盘中任一所述逻辑存储区域中的垃圾数据块,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述待清除数据块比例信息,判断是否清除所述待清除数据块,包括:
6.根据权利要求5所述的方法,其特征在于,所述清除所述待清除数据块,包括:
7.根据权利要求6所述的方法,其特征在于,所述方法包括:
8.一种硬盘的空间管理装置,其特征在于,应用于硬盘,所述硬盘中包括至少一个逻辑存储
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
10.一个或多个计算机可读介质,其上存储有指令,当由一个或多个理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。
...【技术特征摘要】
1.一种硬盘的空间管理方法,其特征在于,应用于硬盘,所述硬盘中包括至少一个逻辑存储区域,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述存储使用状态包括空闲状态;在所述逻辑存储区域被清空的状态下,所述逻辑存储区域处于空闲状态;所述方法包括:
3.根据权利要求2所述的方法,其特征在于,所述存储使用状态还包括活跃状态;所述更新所述数据库中所述目标逻辑存储区域的存储使用状态和/或存储数据状态,包括:
4.根据权利要求1所述的方法,其特征在于,所述存储数据状态包括至少一个数据块的清除标识符;所述基于所述数据库,清除所述硬盘中任一所述逻辑存储区域中的垃圾数据块,包括:
5.根据权利要求4所述的方法,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。