Multi-Volume Filesystem Allocation Policies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current filesystems lack flexibility in allocating files to storage volumes with desired performance, reliability, and cost characteristics, and cannot separately manage file data and metadata with the desired level of flexibility.
Innovation Solution
A system that allows for the assignment of allocation policies at multiple levels of granularity, enabling different files to be allocated to storage units with specific performance, reliability, and cost characteristics, and allowing for separate allocation policies for file data and metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single volume namespace is used, then the filesystem structure is simple, but the flexibility to allocate files to storage units with different performance, reliability, and cost characteristics is limited
Solution Approach 1:
The filesystem is segmented into multiple volume namespaces, each capable of being associated with different storage units having distinct performance, reliability, and cost characteristics. This segmentation enables independent allocation policies for each volume namespace, allowing flexible file placement while maintaining manageable structural organization through hierarchical naming conventions.
Solution Approach 2:
The patent introduces a new dimension to filesystem structure by enabling volume namespaces to be organized in hierarchical levels (e.g., primary, secondary, tertiary). This multi-level dimensionality allows complex allocation strategies to be implemented systematically, where files can be allocated to different volume namespaces at different levels, providing fine-grained control over storage characteristics without overwhelming complexity.
2Adaptability or versatility
If different allocation policies are implemented for different files, then the flexibility to optimize storage characteristics is improved, but the complexity of managing allocation policies increases
Solution Approach 1:
Different allocation policies are applied locally to different volume namespaces based on the specific storage characteristics required by files in each namespace. Each volume namespace can have customized allocation policies tailored to its associated storage units, allowing optimization for performance, reliability, or cost without requiring system-wide policy complexity. Policies are enforced at the volume namespace level, simplifying management through localized control.
3Adaptability or versatility
If file data and metadata are stored together in a single namespace, then the filesystem structure is simple, but the ability to allocate them with different characteristics is limited
Solution Approach 1:
The filesystem structure is segmented to allow separate volume namespaces for file data and metadata, or to enable separate allocation policies within the same namespace. This segmentation permits file data and metadata to be allocated to different storage units with different characteristics - for example, metadata can be allocated to high-reliability storage while file data uses cost-optimized storage - while maintaining clear structural organization through namespace separation.
Data Source
AI summary
A computer accessible medium comprises instructions which, when executed, receive a request to allocate one or more blocks for a file. At least one allocation policy is assigned to the file, wherein the allocation policy specifies one or more storage units on which the blocks are to be allocated. Additionally, if more than one storage unit is specified, the allocation policy includes a control indication indicating a mechanism for selecting among the storage units. The instructions, when executed, may also allocate blocks according to the allocation policy. In another implementation, a computer accessible medium comprises instructions which, when executed receive a request to allocate one or more blocks for a file in a filesystem and allocate blocks according to an allocation policy. Allocation policies are specifiable at two or more levels of granularity in the filesystem.


