Object Store Write Amplification Reduction via Key Prepending
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory systems experience significant write amplification when storing data objects and their attributes in tiered data structures, leading to reduced device lifespan due to excessive I/O operations.
Innovation Solution
The method involves generating modified key values for attributes by prepending a portion of the primary key value to each attribute key, allowing data objects and attributes to be stored contiguously within a single leaf node, thereby reducing the number of I/O operations required for access and write operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If data objects and attributes are stored in a tiered data structure with separate nodes, then data organization and retrieval are simplified, but write amplification increases significantly due to multiple I/O operations
Solution Approach 1:
The patent combines data objects and their attributes into a single contiguous storage node, eliminating the need for separate node updates. When writing a data object with N attributes, all data is written in one I/O operation to a single node containing both the object and its attributes, rather than performing N+2 separate node updates as in traditional tiered structures.
2Adaptability or versatility
If attributes are stored in separate nodes from data objects, then attribute independence is maintained, but the number of I/O operations increases to N+2 for writing one object and N attributes
Solution Approach 1:
The patent merges data objects and attributes into a unified storage structure where both coexist in the same node. This allows simultaneous writing of objects and attributes in a single I/O operation, improving write efficiency from N+2 operations to just 1 operation per object-attribute set.
Solution Approach 2:
The patent reorganizes the storage dimension by embedding attributes within the data object node rather than creating separate hierarchical levels. This flattens the storage structure, allowing attributes to be accessed and updated alongside their parent objects without traversing multiple tree levels.
Data Source
AI summary
A method of managing a storage system having one or more storage devices includes receiving a request to access, in a tiered data structure, a data object and one or more attributes of the data object and processing the access request. The request includes a first key value for the data object and respective second key values for the one or more attributes of the data object. Modified key values for the attributes of the data object are generated in accordance with at least a portion of the first key value and used to access tree entries for the data object attributes in one or more leaf nodes of the tiered data structure. A tree entry for the data object is also accessed from the same set of one or more leaf nodes.


