Storage Abstraction Layer for Heterogeneous Aggregate Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems struggle to create aggregates from multiple heterogeneous storage devices and media due to their differing characteristics and behaviors, such as latency, size, and efficiency of storage operations, which the file system is unable to natively manage.
Innovation Solution
A storage abstraction layer is introduced as an indirection layer below the file system, capable of generating aggregates from heterogeneous storage types by determining where to store data, moving it between providers, and performing garbage collection on an individual basis, while preserving storage efficiency and compatibility with new storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a storage file system is used to manage storage devices, then data storage and retrieval is enabled, but the system cannot natively create aggregates from multiple heterogeneous storage devices and media due to their different characteristics and behaviors
Solution Approach 1:
The patent introduces a storage abstraction layer as an intermediary component between the file system and heterogeneous storage devices. This abstraction layer provides a unified interface that translates file system operations into device-specific operations, enabling the file system to work with multiple types of storage devices (HDD, SSD, NVM) without needing to understand their individual characteristics. The abstraction layer handles device-specific behaviors such as garbage collection, latency variations, and I/O access size differences, allowing the file system to create aggregates from heterogeneous devices while maintaining compatibility and performance.
2Productivity
If different classes of storage devices are used in a multi-tiered storage arrangement, then storage capacity and performance are improved, but the storage file system is unable to natively manage these heterogeneous devices
Solution Approach 1:
The patent segments the storage management system into distinct layers: the file system layer and the storage abstraction layer. This segmentation allows each layer to perform its specialized function independently. The storage abstraction layer is further segmented into device-specific sub-layers that handle individual device characteristics (garbage collection for SSDs, latency management for HDDs, I/O access optimization for NVM). This segmented architecture enables the system to manage heterogeneous storage devices efficiently while maintaining file system compatibility.
Solution Approach 2:
The storage abstraction layer provides universal functionality that works across all types of storage devices. It implements a common interface and operation set that can be applied to HDDs, SSDs, NVM, and other storage media regardless of their specific characteristics. The abstraction layer adapts universal storage operations to device-specific requirements, enabling multi-tiered storage arrangements with different device classes while maintaining consistent management and performance optimization.
3Adaptability or versatility
If a storage abstraction layer is introduced to manage heterogeneous storage devices, then adaptability and management capability are improved, but the system complexity increases
Solution Approach 1:
The storage abstraction layer serves as an intermediary that shields the file system from the complexity of heterogeneous storage devices. It provides a simplified, unified interface while handling device-specific complexities internally. The abstraction layer manages device characteristics such as garbage collection, latency, and I/O access size through standardized mechanisms, reducing the apparent complexity for upper-layer components while maintaining full adaptability to various device types.
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.


