Patentable/Patents/US-10831732
US-10831732

Bitmap-based storage space management system and methods thereof

PublishedNovember 10, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A bitmap-based storage space management system and methods thereof are provided, which realize divisible storage blocks that a small block is distributed when storing a small data object and a large block is distributed when storing a large data object. Through a two layer structure of index bitmaps and state bitmaps, a management of a storage space is realized. The index bitmaps comprise a main resource index bitmap (11), a large block index bitmap (12), a sub-resource index bitmap (13) and a small block index bitmap (14). The state bitmaps comprise a resource state bitmap (21) and a distribution state bitmap (22). Through the resource and distribution state bitmaps, the storage space is described respectively as an unoccupied divisible state, an occupied divisible state and an occupied indivisible state. In an above storage space structure, large block distribution, small block distribution, large block release and small block release are realized.

Patent Claims
7 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A bitmap-based storage space management system, comprising: an index bitmap configuration module, for configuring index bitmaps at an upper layer, wherein the index bitmaps comprise a main resource index bitmap, a large block index bitmap, a sub-resource index bitmap and a small block index bitmap; and a state bitmap configuration module, for configuring state bitmaps at a lower layer, wherein the state bitmaps comprise a resource state bitmap and a distribution state bitmap which are paratactic; a resource state bit of the resource state bitmap and a distribution state bit at a corresponding position of the distribution state bitmap correspond to a same storage block in a storage space; a plurality of resource state bits constitute a resource state bitmap unit; a plurality of distribution state bits constitute a distribution state bitmap unit; one resource state bitmap unit and one corresponding distribution state bitmap unit constitute a state bitmap unit; a binary value of each bit in the resource state bitmap indicates whether a corresponding storage block is occupied, and a binary value of each bit in the distribution state bitmap indicates whether the corresponding storage block is able to be further divided; wherein: each index bit of the index bitmaps corresponds to one state bitmap unit; based on a binary value of each index bit, whether the index bit is valid is indicated; the main resource index bitmap is for indexing a state bitmap unit which comprises an idle storage block and is not used in large block distribution or small block distribution; the sub-resource index bitmap is for indexing a state bitmap unit which is used in the small block distribution without all resource state bits being occupied; the large block index bitmap is for indexing a state bitmap unit able to be used in the large block distribution; and the small block index bitmap is for indexing a state bitmap unit able to be used in the small block distribution; the resource state bitmap and the distribution state bitmap of the state bitmap configuration module configure a state of each storage block in the storage space as an unoccupied divisible state, an occupied divisible state or an occupied indivisible state; when distributing a large block, the state bitmap configuration module modifies corresponding state bits of the storage block in the resource state bitmap and the distribution state bitmap at a same time, so as to configure the state of the storage block as the occupied indivisible state; when distributing small blocks, at a first operation, the corresponding state bits of the storage block in the resource state bitmap and the distribution state bitmap are modified, so as to configure the state of the storage block as the occupied divisible state; until a whole storage block is divided into the small storage blocks, the corresponding state bits of the storage block in the resource state bitmap and the distribution state bitmap are modified, so as to configure the state of the storage block as the occupied indivisible state.

2

2. The bitmap-based storage space management system, as recited in claim 1 , wherein the index bitmap configuration module configures index bitmaps of multiple layers.

3

3. The bitmap-based storage space management system, as recited in claim 1 , wherein: a storage block corresponding to each index bitmap of the index bitmap configuration module and each state bitmap of the state bitmap configuration module are divided into a plurality of small blocks, and correlated small blocks of each bitmap are collected together to be managed.

4

4. The bitmap-based storage space management system, as recited in claim 1 , wherein: when implementing large block distribution, according to a priority sequence of the large block index bitmap, the main resource index bitmap and the sub-resource index bitmap, the bitmap-based storage space management system finds a valid index bit of a state bitmap unit able to be used in the large block distribution; responsive to finding the valid index bit in the large block index bitmap, a corresponding index bit in the main resource index bitmap is ensured to be invalid; responsive to finding the valid index bit in the main resource index bitmap, a corresponding index bit in the large block index bitmap is set to be valid, and simultaneously the index bit in the main resource index bitmap is set to be invalid; responsive to finding the valid index bit in the sub-resource index bitmap, the bitmap-based storage space management system finds a residual storage block able to be used in the large block distribution in a state bitmap unit used in the small block distribution; after finding the valid index bit, the bitmap-based storage space management system finds a distributable storage block in a corresponding resource state bitmap unit, and a logical address of the distributable storage block is returned back; and simultaneously, corresponding state bits of the distributed storage block in the resource state bitmap and the distribution state bitmap are set to be invalid; and responsive to all state bits of a current resource state bitmap unit are invalid, corresponding index bits of the current resource state bitmap unit in the index bitmaps are set to be invalid, simultaneously the bitmap-based storage space management system checks whether a distribution state bitmap unit corresponding to the resource state bitmap unit still comprises a valid state bit, and sets a state of a corresponding index bit in the small block index bitmap.

5

5. The bitmap-based storage space management system, as recited in claim 1 , wherein: when implementing small block distribution, according to a priority sequence of the small block index bitmap, the main resource index bitmap and the large block index bitmap, the bitmap-based storage space management system finds a valid index bit of a state bitmap unit able to be used in the small block distribution; responsive to finding the valid index bit in the small block index bitmap, the bitmap-based storage space management system directly executes a next step; responsive to finding the valid index bit in the main resource index bitmap, corresponding index bits in the small block index bitmap and the sub-resource index bitmap are set to be valid, simultaneously corresponding index bits in the main resource index bitmap and the large block index bitmap are set to be invalid, and then the bitmap-based storage space management system executes the next step; responsive to finding the valid index bit in the large block index bitmap, the bitmap-based storage space management system directly executes the next step; after finding the valid index bit, in a distribution state bitmap unit corresponding to the valid index bit, the bitmap-based storage space management system finds a storage block able to be used in the small block distribution; a small block is divided from the storage block able to be used in the small block distribution for implementing the small block distribution, and a state bit of a resource state bitmap unit corresponding to the storage block used in the small block distribution is ensured to be invalid; responsive to a whole storage block is divided and distributed, a corresponding state bit in the distribution state bitmap unit is set to be invalid; and responsive to all state bits of the distribution state bitmap unit are invalid, corresponding index bits of the distribution state bitmap unit in the index bitmaps are set to be invalid.

6

6. The bitmap-based storage space management system, as recited in claim 1 , wherein: when implementing large block release, corresponding state bits of the storage block in a resource state bitmap unit and a distribution state bitmap unit are set to be valid; responsive to only one state bit in the distribution state bitmap unit is valid, a state of a corresponding index bit in the main resource index bitmap is updated; responsive to all state bits in the state bitmap unit are valid, corresponding index bits in the main resource index bitmap, the large block index bitmap, the sub-resource index bitmap and the small block index bitmap are recovered to an initial state; and responsive to the state bitmap unit is still not be completely released, the bitmap-based storage space management system checks a corresponding index bit in the small block index bitmap, and determines whether the state bitmap unit is in the small block index bitmap; responsive to the state bitmap unit is in the small block index bitmap, a corresponding index bit of the state bitmap unit in the sub-resource index bitmap is ensured to be valid.

7

7. The bitmap-based storage space management system, as recited in claim 1 , wherein: when implementing small block release, the bitmap-based storage space management system checks whether a small block to be released is a first small block in a whole storage block; responsive to the small block is the first small block in the whole storage block, a corresponding state bit in a distribution state bitmap unit is set to be valid; responsive to only one state bit in the distribution state bitmap unit is valid, a corresponding index bit of the distribution state bitmap unit in the small block index bitmap is set to be valid; responsive to all small blocks of the storage block are released, a corresponding state bit in a resource state bitmap unit is set to be valid; when all state bits in the resource state bitmap unit and the distribution state bitmap unit are valid, corresponding index bits in the main resource index bitmap, the large block index bitmap, the sub-resource index bitmap and the small block index bitmap are recovered to an initial state; and responsive to the small blocks of the storage block are not all released, the bitmap-based storage space management system checks a corresponding index bit in the small block index bitmap, so as to determine whether the state bitmap unit is in the small block index bitmap; responsive to the state bitmap unit is in the small block index bitmap, a corresponding index bit of the state bitmap unit in the sub-resource index bitmap is ensured to be valid.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

February 29, 2016

Publication Date

November 10, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Bitmap-based storage space management system and methods thereof” (US-10831732). https://patentable.app/patents/US-10831732

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.