Buddy-Tree Allocation for Storage Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage space utilizationVSAvoidcontiguity of free space
Core Design Contradiction:
Quantity of substanceVSStability of the object's composition

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvecontiguity of free spaceVSAvoiddevice availability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If fixed-sized pages are used for allocation, then allocation is simplified, but contiguous space cannot be guaranteed when essential

Engineering Contradiction:
Improveallocation algorithm complexityVSAvoidcontiguity of allocated space
Core Design Contradiction:
Device complexityVSStability of the object's composition

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8140806B2Eliminating fragmentation with buddy-tree allocation
Publication Date: 2012.03.20 ORACLE INT CORP
  • US8140806B2 patent drawing
  • US8140806B2 patent drawing
  • US8140806B2 patent drawing

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.