Composite Object Configuration Tree for Distributed Storage Write Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems employing erasure coding face inefficiencies in write operations due to high write amplification from partial stripe writes, which are exacerbated by the need for large amounts of NVRAM or complex management of log-structured file systems.
Innovation Solution
The system configures two types of objects for each erasure coded storage object: a capacity object on the capacity tier using an LFS layout and a metadata object on the performance tier using a mirroring scheme, allowing for coalesced full stripe writes and avoiding the complexities of log-structured metadata management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If erasure coding is used for fault tolerance, then storage overhead is reduced compared to mirroring, but write efficiency deteriorates due to high write amplification from partial stripe writes
Solution Approach 1:
The patent segments the storage system into two distinct tiers: a performance tier using NVRAM for fast writes and a capacity tier using erasure-coded storage for efficient long-term storage. This segmentation allows each tier to be optimized for its specific function, resolving the contradiction between storage efficiency and write performance
Solution Approach 2:
The patent introduces NVRAM as an intermediary layer between the client and the erasure-coded storage. This intermediary buffers partial stripe writes, coalesces them into full stripe writes, and manages the write operations to the capacity tier, thereby eliminating the harmful write amplification effect while preserving the storage efficiency benefits of erasure coding
2Productivity
If NVRAM is used to cache partial stripe writes, then write efficiency improves by enabling full stripe writes, but device cost increases due to the expense of NVRAM
Solution Approach 1:
The patent changes the capacity parameter of the NVRAM device, using a smaller amount of NVRAM compared to traditional approaches. By optimizing the NVRAM size to match the stripe size of the erasure-coded storage, the system achieves full stripe write coalescing without requiring excessive NVRAM capacity, thus reducing cost while maintaining write efficiency
Solution Approach 2:
The patent applies NVRAM selectively and locally - only for buffering write operations related to erasure-coded objects. The system uses local quality by dedicating NVRAM specifically for this purpose while using cheaper storage for other functions, optimizing the overall cost-performance ratio
3Productivity
If log-structured file system is used to coalesce writes, then write efficiency improves through full stripe writes, but system complexity increases due to difficult metadata management
Solution Approach 1:
The patent extracts the write coalescing function from the file system layer and implements it directly in the storage controller. By taking out this function from the complex LFS metadata management context and placing it in the storage layer, the system achieves full stripe write coalescing without inheriting the metadata management complexities of log-structured file systems
Data Source
AI summary
Techniques for combining the metadata and data address spaces of a distributed storage object are provided. In one set of embodiments, a distributed storage system can receive a request to provision a storage object. In response, the distributed storage system can create, in accordance with an erasure coding scheme, one or more capacity components for holding data of the storage object; create, in accordance with a mirroring scheme having an equivalent level of fault tolerance as the erasure coding scheme, one or more metadata components for holding metadata of the storage object; and create a composite object configuration tree for the storage object that includes first and second subtrees, where the first subtree comprises an indication of the mirroring scheme and references to the one or more metadata components, and where the second subtree comprises an indication of the erasure coding scheme and references to the one or more capacity components.


