基于位图的存储空间管理系统及其方法_4

文档序号:8412539阅读:来源:国知局
11的执行并没有先后之分,在本实施例中的这种执行顺序仅仅是一种举例说明。
[0128]步骤S412:判断小块索引位图的对应位是否有效,若有效则执行步骤S413,若无效则本实施例的流程结束。
[0129]步骤S413:设置副资源索引位图的对应位为有效,然后本实施例的流程结束。
[0130]在本步骤中,在小块索引位图中应确保状态位图单元在副资源索引位图中的对应位有效,以便下次能通过副资源索引位图找到这个包含有空闲存储块的状态位图单元。
[0131]本发明中所述的存储可以是内存(RAM)、硬盘、闪存、ROM、光盘(CDR0M&DVD),且不限于这些,凡是能用于记录信号的有无,电平的高低,磁性的正反,光的强弱以及量子状态等都属于这里说的存储的范畴。
[0132]在具体实施中,本领域的技术人员将进一步认识到,结合本文公开的实施例所述的各种示例性的逻辑方框、模块和步骤,在磁盘和闪存这类块存储介质上实现所述的功能时,可将本文实施例中的位图分割成若干小块,并将这些位图之间存在关联的部分集中到块存储介质中的一个单元块里进行管理。这样可以使得对多份位图的修改在存储介质的一个单元块里进行,因此减少了在这类存储介质中对位图进行修改时的1次数,大大提高了性能。对于特定的应用,熟练的技术人员可对本文实施例中的位图采用不同的分块和组合方式来实现所述功能,但是不应将这种实现的决定解释为脱离了本发明的范围。
[0133]提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
【主权项】
1.一种基于位图的存储空间管理系统,包括: 索引位图配置模块,配置位于上层的索引位图,索引位图包括主资源索引位图、大块索引位图、副资源索引位图、以及小块索引位图; 状态位图配置模块,配置位于下层的状态位图,状态位图包括并列的资源状态位图和分配状态位图,其中资源状态位图的一个资源状态位和分配状态位图中的相应位置的一个分配状态位对应着存储空间中的同一个存储块,每多个资源状态位构成一个资源状态位图单元,每多个分配状态位构成一个分配状态位图单元,每一个资源状态位图单元和与之对应的一个分配状态位图单元组成一个状态位图单元,且资源状态位图中的每一位的二进制值指示对应的存储块是否被占用,分配状态位图中的每一位的二进制值指示对应的存储块是否可进一步分割; 其中索引位图中的每一索引位对应一个状态位图单元,通过索引位的二进制值表示是否有效,主资源索引位图用于索引包含空闲块且没有用于大块分配或小块分配的一个状态位图单元,副资源索引位图用于索引小块分配且资源状态位不全为占用状态的一个状态位图单元,大块索引位图用于索引大块分配的一个状态位图单元,小块索引位图用于索引小块分配的一个状态位图单元。
2.根据权利要求1所述的基于位图的存储空间管理系统,其特征在于,索引位图配置模块配置多层级的索引位图。
3.根据权利要求1所述的基于位图的存储空间管理系统,其特征在于,索引位图配置模块中的每个索引位图和状态位图配置模块中的每个状态位图分割成若干小块,并将每个位图相关联部分的小块集合到一起进行管理。
4.根据权利要求1所述的基于位图的存储空间管理系统,其特征在于,状态位图配置模块中的资源状态位图和分配状态位图将存储空间中的存储块配置为未占用可分块状态、已占用可分块状态和已占用不可分块状态,当分配大块时状态位图配置模块同时修改存储块在资源状态位图和分配状态位图中的对应的状态位,以使存储块的状态配置成已占用不可分块状态;当分配小块时,在首次操作中修改存储块在资源状态位图和分配状态位图中的对应的状态位,以使存储块的状态配置成已占用可分块状态,直至存储块被全部分割成小块后,修改存储块在资源状态位图和分配状态位图中的对应的状态位,以使存储块的状态配置成已占用不可分块状态。
5.一种在基于位图的存储空间管理系统中实施大块分配的方法,用于在如权利要求1所述的存储空间管理系统中进行存储块的大块分配,方法包括: 按照大块索引位图、主资源索引位图、副资源索引位图的优先顺序查找可用于大块分配的状态位图单元的有效索引位; 若在大块索引位图中找到有效索引位,则确保主资源索引位图中对应的索引位无效;若在主资源索引位图中找到有效索引位,则将大块索引位图中对应的索引位设置成有效,同时将主资源索引位图中的索引位设置为无效;若在副资源索引位图中找到有效索引位,则在用于小块分配的状态位图单元中查找剩余的用于大块分配的存储块; 在上一步骤找到有效索引位后,在对应的资源状态位图单元中查找可分配的存储块并返回可分配的存储块的逻辑地址,同时将已分配的存储块在资源状态位图和分配状态位图中对应的状态位设置为无效; 若当前的资源状态位图单元的所有状态位都为无效时,则将该资源状态位图单元在索引位图中对应的索引位设置为无效,同时检查该资源状态位图单元对应的分配状态位图单元中是否还包括有效的状态位,并设置小块索引位图对应的索引位的状态。
6.一种在基于位图的存储空间管理系统中实施小块分配的方法,用于在如权利要求1所述的存储空间管理系统中进行块资源的小块分配,方法包括: 按照小块索引位图、主资源索引位图和大块索引位图的优先顺序,查找可进行小块分配的状态位图单元的有效的索引位; 若在小块索引位图中找到有效的索引位则直接进入下一步骤;若在主资源索引位图中查找到有效的索引位,则同时将小块索引位图和副资源索引位图中对应的索引位设置为有效,并将主资源索引位图和大块索引位图中的相应的索引位设置为无效后再进入下一步骤;若在大块索引位图中找到有效的索引位则直接进入下一步骤; 当找到有效的索引位之后,在这一有效的索引位对应的分配状态位图单元中查找可用于小块分配的存储块,从可用于小块分配的存储块中划分出一块进行小块分配,并确保该小块分配的存储块对应的资源状态位图单元的状态位为无效; 若存储块已被全部划分分配,则将分配状态位图单元中对应的状态位设置为无效;若分配状态位图单元中所有的状态位都为无效,则将分配状态位图单元在索引位图中对应的索引位设置为无效。
7.—种在基于位图的存储空间管理系统中实施大块释放的方法,用于在如权利要求1所述的存储空间管理系统中进行块资源的大块释放,方法包括: 将存储块在资源状态位图单元和分配状态位图单元中对应的状态位设置成有效; 若分配状态位图单元仅一位有效则更新主资源索引位图对应的索引位的状态; 若状态位图单元中的所有状态位都有效,则将主资源索引位图、大块索引位图、副资源索引位图、以及小块索引位图中对应的索引位恢复到初始化状态; 若状态位图单元还没有完全释放则检查小块索引位图中对应的索引位,以确认该状态位图单元是否在小块索引位图中,若在小块索引位图中则确保该状态位图单元在副资源索引位图中对应的索引位为有效。
8.—种在基于位图的存储空间管理系统中实施小块释放的方法,用于在如权利要求1所述的存储空间管理系统中进行块资源的小块释放,方法包括: 检查开始释放的小块是否为整个存储块中的第一个小块; 若是整个存储块中的第一个小块,则将分配状态位图单元中相应的状态位设置成有效,若分配状态位图单元仅有一个有效位,则将分配状态位图单元在小块索引位图中的相应的索引位设置成有效; 若一个存储块划分的小块全部被释放,则将资源状态位图单元中对应的状态位设置为有效,当资源状态位图单元和分配状态位图单元中的所有状态位全部为有效时,将主资源索引位图、大块索引位图、副资源索引位图、以及小块索引位图中对应的索引位恢复到初始化状态; 若一个存储块的小块没有全部被释放,则检查小块索引位图中对应的索引位以确认状态位图单元是否在小块索引位图中,若在小块索引位图中则确保状态位图单元在副资源索引位图中对应的索引位有效。
【专利摘要】本发明公开了基于位图的存储空间管理系统及其方法,实现了存储块可分割,在存储小的数据对象时按照小块来分配,存储大的数据对象时按照大块来分配。其技术方案为:通过索引位图和状态位图的两层结构来实现对存储空间的管理,其中索引位图分成主资源索引位图、大块索引位图、副资源索引位图和小块索引位图,状态位图分成资源状态位图和分配状态位图,通过资源状态位图和分配状态位图将存储空间描述成三种状态:未占用可分块、已占用可分块和已占用不可分块。然后,在这种存储空间结构下,实现对存储空间的大块分配、小块分配、大块释放和小块释放。
【IPC分类】G06F17-30
【公开号】CN104731872
【申请号】CN201510097786
【发明人】龙恢, 管志坚
【申请人】长沙新弘软件有限公司
【公开日】2015年6月24日
【申请日】2015年3月5日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1