Buddy-Tree Allocation for Storage Fragmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Persistent storage devices face fragmentation issues due to scattered allocation units, leading to underutilization despite available free space, as traditional methods like fixed-sized pages or wholesale de-fragmentation are costly and resource-intensive, especially in high-performance environments.
Innovation Solution
The implementation of a Buddy-Tree algorithm for allocating contiguous allocation units, which relocates smaller data chunks to free up space for new data chunks, reducing fragmentation and minimizing the need for periodic de-fragmentation by performing it on-demand.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional allocation methods are used, then storage devices can store data, but fragmentation occurs leading to underutilization of storage space
Solution Approach 1:
The patent implements dynamic allocation units that can change size based on the data they contain, rather than using fixed-sized allocation units. This allows the storage system to adapt to varying data sizes and maintain better space utilization. The dynamic nature enables allocation units to be resized and repositioned to eliminate fragmentation without requiring wholesale defragmentation operations.
Solution Approach 2:
The storage device is divided into multiple allocation units that can be independently managed. Each allocation unit can be separately allocated, moved, or resized. This segmentation allows the system to handle fragmentation at the individual allocation unit level rather than requiring system-wide defragmentation, improving both efficiency and flexibility.
2Stability of the object's composition
If wholesale de-fragmentation is performed, then fragmentation is reduced, but resource utilization is significantly impacted and the device is taken out of service
Solution Approach 1:
The system performs preliminary actions by maintaining allocation units in an optimized state through incremental adjustments during normal operation. Rather than waiting for fragmentation to accumulate and then performing a massive defragmentation operation, the system proactively manages allocation unit positions and sizes to prevent severe fragmentation, thereby maintaining device availability while still achieving contiguity when needed.
Solution Approach 2:
The patent implements periodic defragmentation operations that are less intensive than traditional wholesale defragmentation. By performing smaller, more frequent adjustments to allocation units rather than one large operation, the system maintains free space contiguity while minimizing impact on device availability and performance.
3Device complexity
If fixed-sized pages are used for allocation, then allocation is simplified, but contiguous space cannot be guaranteed when essential
Solution Approach 1:
The patent changes the size parameter of allocation units dynamically based on the actual data size and allocation needs. Instead of using fixed-sized pages, the system adjusts allocation unit sizes to match the data being stored, and can further adjust positions to ensure contiguity when required. This parameter flexibility resolves the contradiction between simple allocation and guaranteed contiguity.
Data Source
AI summary
This disclosure describes solutions for reducing the amount of fragmentation on a computer memory device, such as a hard disk, random access memory device, and/or the like. In an aspect, this disclosure describes systems, methods and software for allocating storage space for variable-sized data chunks in a fashion that reduces or eliminates the need for periodic de-fragmentation of the memory device. In another aspect, this disclosure describes solutions that provide for the dynamic re-allocation of existing data blocks on the memory device to provide contiguous available space that can be allocated for new data blocks.


