Host-Assisted Data Recovery for Consumer SSDs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data center storage devices face challenges in achieving high data durability due to high uncorrectable bit error rates (UBER) in consumer SSDs, which exceed industry specifications, and the removal of drive parity in SSD designs leads to performance issues in data recovery.
Innovation Solution
A method and apparatus for host-assisted error management in data storage devices, involving the use of 'read_raw' and 'write_raw' commands to obtain and correct errant data across multiple storage devices within a RAID or erasure coded system, leveraging replicated data to speculatively correct and rewrite data, and employing 'read_raw_extended' for larger data blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If drive parity is removed from SSD designs to reduce costs and increase user accessible space, then manufacturing cost is reduced and storage capacity is increased, but data durability and error correction capability deteriorate
Solution Approach 1:
The patent introduces a host-based intermediary system that mediates between the storage devices and data recovery operations. When a storage device returns read uncorrectable indications, the host system acts as an intermediary to coordinate cross-device data retrieval and speculative correction operations, enabling error correction without requiring internal drive parity mechanisms
Solution Approach 2:
The patent utilizes data copying across multiple storage devices in a RAID or erasure-coded array. When one device fails to read data correctly, the system retrieves copies of the same data from other devices in the array and uses these copies to speculatively correct the errant data, thereby compensating for the lack of internal parity protection
2Ease of manufacture
If consumer SSDs with higher UBER (1e-11 to 1e-14) are used instead of enterprise SSDs, then manufacturing cost is reduced, but data recovery performance and reliability deteriorate
Solution Approach 1:
The patent implements a feedback mechanism where the host system monitors read uncorrectable indications returned by storage devices. This feedback triggers automated speculative correction operations, allowing the system to adaptively respond to higher error rates in consumer SSDs by actively retrieving and correcting errant data using information from other devices in the array
Solution Approach 2:
The patent performs preliminary data retrieval and comparison operations before final data recovery is attempted. When a read uncorrectable indication is received, the system proactively retrieves data from other devices and performs speculative corrections in advance, preparing correction data before it is needed for final recovery operations
3Device complexity
If data mirroring is used instead of parity to maintain data durability, then device complexity is reduced, but the number of required mirrors increases and storage efficiency decreases
Solution Approach 1:
The patent employs partial mirroring strategies where not all data requires full mirror copies. The speculative correction mechanism allows the system to use partial data from mirrored devices to correct errors, reducing the need for complete mirrors of all data while maintaining durability through selective use of mirror information for error correction
Data Source
AI summary
A method of error management includes, in response to a read request for first data from a first storage device of a plurality of storage devices under one or more common data protection schemes, receiving a read uncorrectable indication regarding the first data, obtaining uncorrected data and metadata of an LBA associated with the first data, and obtaining the same LBA from one or more other storage devices of the plurality. The method further includes comparing the uncorrected data with the data and metadata from the other storage devices, speculatively modifying the uncorrected data based, at least in part, on the other data to create a set of reconstructed first data codewords, and, in response to a determination that one of the reconstructed first data codewords has recovered the first data, issuing a write_raw command to rewrite the modified data and associated metadata to the first storage device.


