Hierarchical Bitmap Storage Allocation for Contiguous Address Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage management systems face inefficiencies in tracking and allocating storage space, particularly in managing large and dynamic storage systems, where existing techniques struggle to efficiently locate and allocate contiguous blocks of storage addresses.

Innovation Solution

A method utilizing a hierarchical multilevel bitmap data structure to represent physical storage space, where each bit in the lowest level corresponds to a physical address, and higher-level bits indicate the availability of consecutive data blocks or chunks, allowing for efficient allocation and updating of storage space based on the needs of logical groups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a single large bitmap is used to track storage space, then complete coverage of storage addresses is achieved, but searching and allocation efficiency deteriorates

Engineering Contradiction:
Improvestorage space tracking accuracyVSAvoidallocation search time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the storage space tracking into multiple hierarchical bitmap levels. The first level bitmap tracks storage chunks at a coarse granularity, while the second level bitmap tracks individual physical addresses within each chunk. This segmentation allows the system to search only relevant portions of the bitmap structure rather than scanning an entire large bitmap, significantly reducing allocation search time while maintaining complete tracking accuracy.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If fine-grained tracking of individual physical addresses is implemented, then allocation precision is improved, but data structure complexity increases

Engineering Contradiction:
Improveaddress allocation precisionVSAvoidbitmap data structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces a hierarchical dimension to the bitmap structure, organizing tracking data across multiple levels rather than using a single flat structure. The first level bitmap provides chunk-level tracking, and the second level bitmap provides address-level tracking within each chunk. This dimensional organization allows fine-grained precision while managing complexity through hierarchical abstraction, where each level operates independently with its own bitmap structure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Quantity of substance

If storage system size increases to accommodate growing data needs, then storage capacity is improved, but management efficiency deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidstorage management efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The hierarchical bitmap structure naturally scales with storage capacity by dividing the address space into chunks. As storage capacity increases, the system adds more chunks at the first level and corresponding address ranges at the second level, rather than expanding a single monolithic bitmap. This segmentation maintains management efficiency by allowing operations to be performed on smaller, manageable bitmap segments rather than the entire address space.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10482012B1Storage system and method of operating thereof
Publication Date: 2019.11.19 STORONE
  • US10482012B1 patent drawing
  • US10482012B1 patent drawing
  • US10482012B1 patent drawing

AI summary

Disclosing a storage system, method of operating thereof and data structures usable for the operating. The method includes: accommodating a plurality of data structures informative of location of allocation chunks, each allocation chunk characterized by a predefined number K of available consecutive physical addresses; wherein the predefined number K is equal for all allocation chunks indicated by the same data structure and wherein there are at least two data structures informative of location of allocation chunks with a different predefined number K; identifying, prior to writing a data chunk, a data structure associated with respective logical group and informative of location of allocation chunks with the predefined number K equal to number M of consecutive physical addresses required for storing the data chunk; and allocating for the data chunk M consecutive physical addresses in accordance with the location of the allocation chunk, the location obtained from the identified data structure.