Host-Side FTL RAID Encoding via LBA-PBA Binding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software-based RAID implementations on solid-state data storage devices suffer from throughput and latency penalties due to additional data read and write activities required for recalculating redundancy chunks, which interfere with normal I/O requests and degrade storage system performance.
Innovation Solution
The method involves migrating flash translation layer (FTL) functions from solid-state data storage devices to a host computing system, where RAID encoding is performed based on logical block address to physical block address (LBA-PBA) binding information received from storage devices, allowing for hardware-assisted LBA-PBA binding and RAID group formation, thereby reducing write latency and improving throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software-based RAID is implemented on solid-state data storage devices with complete transparency to the host, then data storage reliability is improved, but throughput and latency performance deteriorate due to additional NAND flash memory read/write activities
Solution Approach 1:
The patent segments the RAID implementation into two parts: (1) storage devices independently perform LBA-to-PBA mapping and store data chunks with their mapping information, and (2) the host performs RAID encoding separately after receiving all LBA-PBA bindings. This segmentation allows parallel execution of data storage and RAID encoding, eliminating the throughput and latency penalties caused by sequential operations.
Solution Approach 2:
The patent applies preliminary action by having storage devices perform LBA-to-PBA mapping and store data chunks before the host performs RAID encoding. The host receives LBA-PBA binding information from all storage devices and then performs RAID encoding in the PBA domain, which avoids additional read/write activities on NAND flash memory during the RAID encoding process.
2Reliability
If redundancy chunks are recalculated and stored upon data modification, then data integrity is maintained, but additional data read and write activities interfere with normal I/O requests and degrade storage system speed
Solution Approach 1:
The patent introduces LBA-PBA binding information as an intermediary that enables the host to perform RAID encoding in the physical block address domain without requiring additional read activities on the storage devices. The host uses the received LBA-PBA bindings to directly calculate redundancy chunks in memory, avoiding interference with normal I/O requests on the NAND flash memory.
3Reliability
If the host software calculates redundancy chunks before writing the entire RAID group, then complete RAID groups are formed, but additional data write latency penalties occur
Solution Approach 1:
The patent inverts the conventional RAID workflow by having storage devices first store data chunks and return LBA-PBA binding information, and then the host performs RAID encoding to calculate redundancy chunks. This reversal eliminates the need to hold and write the entire RAID group atomically, reducing data write latency while maintaining RAID group integrity through the use of PBA-based encoding.
Data Source
AI summary
A method for implementing a RAID group in a system including a host computing system, a first set of storage devices for storing user data for the RAID group, and a second set of storage devices for storing redundancy data for the RAID group. The method includes: distributing the user data from a host-side FLT module on the host computing system to the first set of storage devices; determining, by each storage device in the first set of storage devices, a logical block address to physical block address (LBA-PBA) binding for the user data received from the host-side FLT module; sending LBA-PBA binding information for the LBA-PBA binding from the first set of storage devices to the host-side FLT module; and performing, by the host-side FLT module, RAID encoding to form the RAID group based on the LBA-PBA binding information received from the first set of storage devices.


