Composite Storage Aggregates via Abstraction Layer Mediation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems struggle to create aggregates from multiple heterogeneous storage devices and media due to their different characteristics and behaviors, such as latency, size, and efficiency of storage operations, which the file system is unable to manage natively.
Innovation Solution
A storage abstraction layer is introduced below the file system layer to manage and generate aggregates from heterogeneous storage types, determining where to store data, moving it between providers, and performing garbage collection independently for each provider, while preserving storage efficiency through deduplication, encryption, and compression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a storage file system is used to manage heterogeneous storage devices, then data storage capability is provided, but the system cannot natively create aggregates from multiple heterogeneous storage devices and media due to different characteristics and behaviors
Solution Approach 1:
A storage abstraction layer is introduced as an intermediary component between the file system and heterogeneous storage devices. This abstraction layer manages the complexity of different storage device characteristics (latency, size, garbage collection, I/O efficiency) and presents a unified interface to the file system, enabling aggregate creation from heterogeneous devices without modifying the file system itself.
Solution Approach 2:
The storage system is segmented into distinct layers: the file system layer and the storage abstraction layer. This segmentation allows the abstraction layer to independently handle the complexity of heterogeneous storage devices while keeping the file system simple and unchanged.
2Productivity
If different classes of storage devices and media are used, then storage capacity and performance characteristics are improved, but the storage file system is unable to natively manage them due to different latency, size, and operation efficiency characteristics
Solution Approach 1:
The storage abstraction layer serves as a mediator that translates file system operations into device-specific operations for each heterogeneous storage device. It handles differences in latency, size, and operation efficiency by implementing provider-specific management logic within the abstraction layer, making heterogeneous devices easy to manage uniformly.
Solution Approach 2:
Each storage provider is assigned local quality characteristics (latency, size, garbage collection behavior, I/O efficiency) that are specific to that provider. The storage abstraction layer uses these local qualities to optimize data placement and operations for each device type while maintaining a uniform interface.
3Adaptability or versatility
If a storage abstraction layer is introduced to manage heterogeneous storage devices, then the ability to create aggregates from multiple storage providers is enabled, but an additional layer of complexity is added below the file system
Solution Approach 1:
The storage system is segmented into the file system layer and the storage abstraction layer, allowing the abstraction layer to encapsulate all complexity of heterogeneous device management. This segmentation enables new devices to be integrated by simply adding them to the abstraction layer without affecting the file system.
Solution Approach 2:
The storage abstraction layer is designed as a universal interface that can manage multiple types of storage providers (local storage, remote storage, cloud storage) through a single unified structure. This multi-functionality allows the layer to handle diverse storage technologies while presenting a consistent interface.
Data Source
AI summary
Techniques are provided for providing a storage abstraction layer for a composite aggregate architecture. A storage abstraction layer is utilized as an indirection layer between a file system and a storage environment. The storage abstraction layer obtains characteristic of a plurality of storage providers that provide access to heterogeneous types of storage of the storage environment (e.g., solid state storage, high availability storage, object storage, hard disk drive storage, etc.). The storage abstraction layer generates storage bins to manage storage of each storage provider. The storage abstraction layer generates a storage aggregate from the heterogeneous types of storage as a single storage container. The storage aggregate is exposed to the file system as the single storage container that abstracts away from the file system the management and physical storage details of data of the storage aggregate.


