KVS Namespace Recovery Using Embedded Page and Inode Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing filesystems face challenges in efficiently recovering namespace metadata due to corruption from system crashes, software bugs, and cyberattacks, leading to loss of directory hierarchies and file names, which current recovery methods inadequately address.
Innovation Solution
Utilizing a key-value store (KVS) to query and reconstruct B+ Tree structures by embedding structural metadata in page and inode keys, enabling recovery of damaged namespaces through iterative database queries and bottom-up tree construction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional filesystem recovery methods are used, then recovery can be performed, but namespace metadata is lost requiring creation of lost and found directories
Solution Approach 1:
The patent performs preliminary actions by creating snapshots of the namespace metadata before potential corruption occurs. These snapshots are stored in the key-value store with timestamps, enabling recovery to a known good state without losing namespace information. The system proactively prepares recovery data rather than reacting to corruption.
Solution Approach 2:
The patent creates and maintains copies of namespace metadata in the key-value store through snapshots. When corruption occurs, the system retrieves copied metadata from previous snapshots rather than losing the information entirely. This copying mechanism preserves namespace data that would otherwise be lost.
2Reliability
If comprehensive namespace recovery is performed, then more namespace data can be recovered, but recovery time increases
Solution Approach 1:
The system performs preliminary organization of namespace metadata into snapshots with timestamps before corruption occurs. During recovery, this pre-organized structure allows the system to quickly identify and retrieve relevant snapshots without performing comprehensive searches, reducing recovery time while maintaining completeness.
Solution Approach 2:
The patent segments namespace metadata into discrete snapshots stored in the key-value store. Instead of recovering from a single large metadata structure, the system recovers by assembling smaller snapshot segments, which can be efficiently retrieved and combined, reducing overall recovery time.
3Ease of operation
If metadata is stored in traditional filesystem structures, then namespace organization is maintained, but vulnerability to corruption increases
Solution Approach 1:
The patent introduces a key-value store as an intermediary between the filesystem and namespace metadata. This intermediary layer stores metadata in a corruption-resistant format with snapshots, protecting the namespace organization from direct exposure to corruption risks while maintaining ease of operation through structured storage.
Solution Approach 2:
The system performs preliminary protection by creating snapshots of namespace metadata before potential corruption occurs. These snapshots are stored in the key-value store with corruption resistance, providing a safe copy that preserves namespace organization without being vulnerable to the same corruption risks.
Data Source
AI summary
Page keys are formed in a key-value store (KVS) storing metadata of a filesystem. Page keys identify pages of trees within which namespaces of logical partitions are held. Leaf pages include first and second full keys for each file. First full keys index inodes. Second full keys index filenames. Inode keys are formed in the KVS. Inode keys identify inodes of the files. Metadata is embedded into the page and inode keys such that each page key includes an identifier of a logical partition, an identifier of a snapshot taken of a namespace of the logical partition, and a page number to a page tree holding the namespace. Each inode key includes the logical partition identifier, the snapshot identifier, and an inode number of an inode to a file. Upon damage to the namespace, queries are conducted of the KVS and the namespace is recovered based on the query results.


