Foreign LUN Assimilation via Logical Extent Interface
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network storage systems face challenges in adaptability to different 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 the integration of solid-state storage and the need for efficient data management.
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), and supports heterogeneous storage devices, enabling flexible data layouts and efficient data management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If file system code is tightly coupled with low-level layout code, then implementation simplicity is maintained, but system adaptability to different applications and performance profiles deteriorates
Solution Approach 1:
The patent divides the storage system into distinct layers: a high-level file system layer that handles application logic and a low-level layout layer that manages physical storage organization. This segmentation allows each layer to be optimized independently, enabling the file system to adapt to different applications while maintaining simple implementation through standardized interfaces between layers.
Solution Approach 2:
The patent introduces an intermediary interface between the file system code and low-level layout code that acts as a mediator. This interface abstracts the complexity of physical storage details from the file system layer, allowing the file system to remain adaptable to different applications without being bogged down by low-level implementation details.
2Quantity of substance
If block sharing is used to improve space efficiency, then storage space efficiency is improved, but sequential I/O performance deteriorates due to data fragmentation
Solution Approach 1:
The patent implements dynamic control over block sharing based on service level objectives (SLOs). The system can adjust the degree of block sharing in real-time depending on performance requirements, allowing aggressive sharing when space efficiency is prioritized and reduced sharing when sequential I/O performance is critical, thus resolving the contradiction between these two parameters.
Solution Approach 2:
The patent changes the parameter of block sharing from a static configuration to a dynamic setting that can be adjusted based on SLOs. By making the sharing behavior configurable and adaptable, the system can optimize space efficiency when needed while maintaining performance when required, eliminating the fixed trade-off between these parameters.
3Adaptability or versatility
If a single data layout is used, then system simplicity is maintained, but adaptability to different storage-related applications deteriorates
Solution Approach 1:
The patent creates a universal layout interface that can support multiple different data layouts and storage configurations through a single standardized interface. This allows the same file system code to work with various storage devices and applications without requiring complex reconfiguration, as the universal interface abstracts the differences between layouts.
4Adaptability or versatility
If foreign LUNs are integrated into the storage system, then storage system versatility is improved, but system complexity increases
Solution Approach 1:
The patent introduces an intermediary layer for handling foreign LUNs that mediates between the native storage system and external storage devices. This intermediary manages the complexity of integrating foreign LUNs by providing standardized handling mechanisms, allowing the system to accommodate diverse storage devices without increasing overall system complexity.
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 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. A foreign LUN can be assimilated into the system by defining slabs as separate portions of the foreign LUN. Layouts of the extents within the regions are not visible to any of the volumes.


