Logical RAID for SSD Arrays with Variable Key-Value Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing RAID technologies fail to effectively apply protection to solid state drive (SSD) arrays that store variable-sized key-value pairs due to their reliance on fixed size units and addresses, leading to data redundancy issues when nodes fail.
Innovation Solution
A method and system for applying RAID-type protection to SSD arrays by using nodes and stripes, where each stripe contains redundant data across multiple nodes, with stripe descriptors replicated for redundancy, and metadata managing object distribution and retrieval, allowing for data recovery when nodes fail, and implementing a garbage collection process to maintain recovery ability without copying data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing RAID technologies are used to protect data in SSD arrays, then data redundancy is provided, but the technologies fail to effectively apply protection due to reliance on fixed size units and addresses, causing data redundancy issues when nodes fail
Solution Approach 1:
The patent changes the fundamental parameters of RAID from fixed-size blocks to variable-sized objects with flexible addressing. Objects are identified by unique keys rather than fixed addresses, and can vary in size, allowing RAID protection to adapt to SSD's variable-sized key-value store architecture while maintaining data redundancy and recovery capabilities
Solution Approach 2:
The patent segments data into variable-sized objects that can be independently protected and managed. Each object is a discrete unit that can be replicated across nodes, allowing flexible segmentation of data protection without being constrained by fixed block sizes, thereby resolving the incompatibility between traditional RAID and variable-sized SSD storage
2Reliability
If data is replicated across multiple nodes for redundancy, then data recovery ability is improved, but write amplification and latency increase
Solution Approach 1:
The patent performs preliminary actions by pre-calculating and storing metadata about object locations and replication patterns before write operations occur. This allows the system to quickly determine where to write replicated objects without performing excessive real-time calculations, reducing write amplification and latency while maintaining data recovery ability across multiple nodes
3Reliability
If garbage collection process is implemented to maintain recovery ability, then data protection is maintained, but copying data increases compute and endurance costs
Solution Approach 1:
The patent extracts the metadata management functions from the data copying process. By maintaining separate metadata that tracks object locations and replication status, the system can perform garbage collection and recovery operations by updating metadata rather than copying actual data, significantly reducing compute and endurance costs while maintaining recovery ability
Solution Approach 2:
The patent substitutes mechanical data copying with metadata updating during garbage collection. Instead of physically copying data to maintain recovery ability, the system updates metadata records to reflect current object locations and replication status, replacing energy-intensive data movement with low-cost metadata operations
Data Source
AI summary
A method for protecting objects, the method may include receiving, by a storage controller, a request to write a new object to a storage-system that may include multiple nodes, each node may include at least one storage element; the new object may include a key value pair; writing the new object to a target node and to another node of the multiple nodes; and generating a new stripe that may include multiple sets of objects, different sets of objects are stored at different nodes of the multiple nodes, a certain set of objects of the multiple sets of objects may include the new object and is stored in a first node of the target node and the other node, any set of objects of the multiple sets of objects is reconstructible using other sets of objects of the multiple set of objects.


