File System Allocation Groups for Disk Power Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems struggle to optimize power consumption in large-scale storage systems with multiple disks, as they often keep all disks active, leading to inefficiencies in power management, increased latency, and premature drive failure, especially in MAID architectures.
Innovation Solution
A method that divides the storage system into allocation groups, allowing disks to power down when not in use, by dynamically sizing groups based on I/O load and using a virtual pool to manage data allocation, optimizing power efficiency and adapting to concurrent I/O requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a global allocator algorithm is used to spread data uniformly across all available disks, then I/O load is balanced across all devices, but power consumption increases because all disks must remain active
Solution Approach 1:
The storage system is divided into multiple allocation groups, each containing one or more disk drives. The allocator operates independently within each group, allowing some groups to be deactivated when not needed. This segmentation enables selective power management while maintaining I/O balance across active groups.
Solution Approach 2:
The number of active allocation groups is dynamically adjusted based on I/O load conditions. When I/O demand is low, fewer groups remain active to reduce power consumption. When demand increases, additional groups are activated. This dynamic adaptation resolves the contradiction between maintaining productivity and reducing energy use.
2Speed
If all disk drives are kept active to ensure data availability, then access latency is reduced, but power consumption and risk of premature drive failure increase
Solution Approach 1:
The system pre-loads or caches frequently accessed data in active allocation groups before it is actually needed. This allows disks in inactive groups to remain powered down while still providing fast access to commonly used data through the active groups, reducing the need to spin up disks on demand.
Solution Approach 2:
The allocation group structure acts as an intermediary layer between the file system and individual disk drives. This abstraction allows the system to manage data access across multiple groups, providing fast access through active groups while allowing inactive groups to remain powered down, thus resolving the conflict between access speed and power consumption.
3Quantity of substance
If data is spread uniformly across all disks, then storage capacity is maximized, but the complexity of managing active/inactive states increases
Solution Approach 1:
Multiple disk drives are merged into allocation groups that are managed as single units. The allocator treats each allocation group as a unified resource, simplifying the management of active and inactive states. This merging reduces complexity compared to managing each disk individually while still enabling power optimization at the group level.
Solution Approach 2:
The allocation group structure serves multiple functions: it enables power management by allowing groups to be deactivated, maintains storage capacity utilization through distributed allocation, and simplifies management by providing a unified interface. This multi-functionality resolves the contradiction between maximizing storage use and managing power states.
Data Source
AI summary
The present invention provides a method for the allocation of data on physical media by a file system which optimizes power consumption. The present invention improves power efficiency of computing devices using file systems by allocating data in a way that allows devices to power down when they are not in use. This is carried out by using an allocation group method to divide the storage system into groups of one or more disk drives. The allocator fills the first group entirely before moving to the second group. The allocator globally allocates blocks within each group. Groups are typically sized to meet the average I/O bandwidth requirement of the application. The method also dynamically increases the number of active allocation groups based on I/O load. This is done by computing the average number of write requests per time period.

