Storage System Dynamic Balancing Block Sharing SLOs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network storage systems face challenges in adapting to various applications and performance profiles due to tight coupling between file system code and low-level layout code, leading to increased complexity and suboptimal performance, especially with block sharing techniques that affect sequential I/O latency and create data fragmentation.
Innovation Solution
A network storage system architecture that separates high-level file system constructs from low-level storage constructs using a logical extent interface, allowing for dynamic balancing of performance and block sharing based on Service Level Objectives (SLOs), enabling flexible data layouts and efficient management of data placement across heterogeneous storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If block sharing techniques are used to improve storage space efficiency, then storage capacity is improved, but sequential I/O latency worsens due to data fragmentation
Solution Approach 1:
The patent segments data into fixed-size chunks and organizes them into a hierarchical structure with containers, chunks, and blocks. This segmentation allows the system to manage shared and unshared blocks independently, enabling space-efficient block sharing while maintaining sequential I/O performance by keeping related chunks together in the same container.
Solution Approach 2:
The patent introduces a new dimensional organization by creating a hierarchical structure with multiple levels (containers → chunks → blocks) and adding metadata layers. This multi-dimensional organization allows the system to track sharing relationships across different levels, enabling efficient space utilization without sacrificing I/O performance.
2Device complexity
If file system code is tightly coupled with low-level layout code, then system simplicity is maintained, but adaptability to different applications and performance profiles worsens
Solution Approach 1:
The patent segments the file system into distinct functional layers: the virtual file system layer handles high-level file operations, while the layout manager layer handles low-level data placement and sharing. This segmentation allows each layer to be optimized independently, maintaining simplicity within layers while improving overall adaptability through layered architecture.
Solution Approach 2:
The patent introduces a layout manager as an intermediary layer between the virtual file system and physical storage. This intermediary translates high-level file operations into optimized physical layouts, enabling the system to adapt to different applications and performance profiles without complicating the file system code itself.
3Device complexity
If a single data layout is used in conventional network storage systems, then system complexity is reduced, but performance optimization for specific applications worsens
Solution Approach 1:
The patent implements dynamic layout management where the system can adjust data placement strategies based on application requirements and performance profiles. The layout manager can dynamically create different container structures, adjust chunk sizes, and modify sharing relationships to optimize performance for specific workloads while maintaining a single underlying data structure.
Data Source
AI summary
A storage system provides highly flexible data layouts that can be tailored to various different applications and use cases. The system dynamically balances performance with block sharing, based on service level objectives (SLOs). The system defines several types of data containers, including “regions”, “logical extents” and “slabs”. Each region includes one or more logical extents. Allocated to each logical extent is at least part of one or more slabs allocated to the region that includes the extent. Each slab is a set of blocks of storage from one or more physical storage devices. The slabs can be defined from a heterogeneous pool of physical storage. The system also maintains multiple “volumes” above the region layer. Each volume includes one or more logical extents from one or more regions. Layouts of the extents within the regions are not visible to any of the volumes.


