Dynamic Allocation Block Size Tuning for Storage I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional file systems allocate disk space in uniform-sized blocks, leading to performance overhead and inefficiency due to fixed block sizes, which do not adapt to varying file access patterns and application requirements, necessitating manual configuration and potentially impacting I/O performance.

Innovation Solution

A method to dynamically adjust allocation block sizes based on file access history, content type, application type, and usage patterns, optimizing I/O performance without user intervention by using a block management module that adapts block sizes for each file individually.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a large allocation block size (e.g., 128K) is used, then storage space utilization is improved, but I/O performance deteriorates due to reading and writing unnecessary data

Engineering Contradiction:
Improvestorage space utilizationVSAvoidI/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic allocation block sizing where the block size is not fixed but adapts based on file access patterns and characteristics. The system monitors usage history and adjusts block sizes dynamically, allowing small blocks for frequently accessed small files and large blocks for contiguous sequential access patterns, thus resolving the contradiction between storage efficiency and I/O performance

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of allocation block size based on file attributes and access patterns. By analyzing usage history and file characteristics, the system selects appropriate block sizes (e.g., 4K for database records, 128K for media files), optimizing both storage utilization and I/O performance for different file types

Inventive Principle:
Principle #35Parameter changes

2Productivity

If a small allocation block size (e.g., 4K) is used, then I/O performance is improved for small files, but metadata overhead increases significantly

Engineering Contradiction:
ImproveI/O performance for small filesVSAvoidmetadata overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies different allocation block sizes to different files or file portions based on their specific characteristics and access patterns. Instead of using a uniformly small block size for all files, the system assigns appropriate block sizes locally to each file, reducing metadata overhead while maintaining performance benefits for small files where needed

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If a uniform allocation block size is used for the entire file system, then implementation simplicity is maintained, but adaptability to different application requirements deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidadaptability to application requirements
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system transitions from static uniform block sizing to dynamic adaptive block sizing. By monitoring file access patterns and characteristics in real-time, the system automatically adjusts allocation block sizes to match different application requirements without requiring manual configuration or complex pre-configuration, maintaining ease of use while improving adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The file system performs self-configuration by automatically analyzing usage patterns and selecting appropriate block sizes without user intervention. The system monitors its own performance and adapts block sizes autonomously, eliminating the need for manual tuning while providing application-specific optimization

Inventive Principle:
Principle #25Self-service

4Productivity

If aggressive fixed target block size allocation is used, then allocation efficiency is improved, but performance for varying access patterns deteriorates

Engineering Contradiction:
Improveallocation efficiencyVSAvoidperformance for varying access patterns
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system changes allocation block sizes based on detected access patterns and file characteristics. Instead of aggressively committing to a fixed target block size, the system maintains flexibility to adjust block sizes according to actual usage, optimizing allocation efficiency while adapting to varying access patterns through continuous monitoring and parameter adjustment

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8972690B2Methods and apparatuses for usage based allocation block size tuning
Publication Date: 2015.03.03 APPLE INC
  • US8972690B2 patent drawing
  • US8972690B2 patent drawing
  • US8972690B2 patent drawing

AI summary

Methods and apparatuses that maintain an access history of a file allocated with allocation blocks in storage devices are described. In response to receiving a usage request to allocate additional space for the file, an allocation block size may be adjusted or adapted based on the access history. The storage devices may be allocated with one or more allocation blocks using the adapted allocation block size to provide requested space for the file.