Flash Channel Striping With ECC for Data Loss Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash storage devices are susceptible to data corruption or loss due to wear and external factors, leading to irretrievable data loss without effective redundancy and error correction mechanisms.
Innovation Solution
The solution involves partitioning data into portions and distributing them across multiple channels of a flash storage device, along with error correction information, allowing for transparent rebuilding of corrupted or lost data using error correction information and other data portions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored in flash storage devices, then data persistence and read access speed are improved, but data corruption and loss occur due to wear and external factors
Solution Approach 1:
The patent divides data into multiple data portions and distributes them across different channels in a stripe. This segmentation ensures that if one channel experiences data loss or corruption, the other channels still contain intact data portions that can be used for reconstruction, thereby maintaining reliability while addressing the harmful effect of data corruption.
Solution Approach 2:
The patent pre-generates error correction information based on data portions before storing them in flash storage. This preliminary action enables transparent rebuilding of corrupted data without requiring intervention when data loss occurs, as the error correction information is already prepared and distributed across multiple channels.
2Reliability
If error correction information is distributed across multiple channels, then data rebuilding capability is improved, but storage space consumption increases
Solution Approach 1:
The patent segments data into multiple portions and distributes them across different channels, with error correction information stored in specific channels. This segmentation allows efficient use of storage space by only allocating error correction information to the necessary channels, rather than duplicating all data across all channels.
Solution Approach 2:
The patent applies local quality by storing error correction information in specific channels rather than uniformly distributing it. This allows different channels to have different functions - some channels store data portions while others store error correction information, optimizing storage space utilization while maintaining rebuilding capability.
3Reliability
If data is partitioned and distributed across multiple channels, then data loss resilience is improved, but write operation complexity increases
Solution Approach 1:
The patent segments data into multiple portions that can be written to different channels in parallel. This segmentation enables the write operation to be divided into smaller, manageable tasks that can be handled by the controller, reducing the complexity of writing large amounts of data across multiple channels while maintaining resilience against data loss.
Solution Approach 2:
The patent uses error correction information as a copy of the data portions. Instead of requiring complex reconstruction operations during writes, the error correction information serves as a pre-computed copy that simplifies the write process and enables transparent rebuilding when data loss occurs.
Data Source
AI summary
A flash storage device comprises a plurality of channels of flash storage, a system memory, and a controller. The controller is configured to cache, in the system memory, data to be written, to partition the data into a plurality of data portions, to generate error correction information based on the plurality of data portions, to write the error correction information to a first one or more of the plurality of channels of flash storage, and to write each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof.


