NAND Flash Superblock Binding for Data Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Nand Flash storage devices suffer from low reliability due to bit flips, leading to increased data errors and reduced user-available over provisioning (OP) space, as well as higher write amplification and performance degradation.
Innovation Solution
The method involves binding storage blocks corresponding to each plane of multiple logical units in a storage device into superblocks and using a disk redundancy array protection mechanism to perform data storage operations based on the type of superblock and data type, thereby enhancing overall protection capabilities and reducing losses in user-available OP space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error correction algorithms are used for Nand Flash storage, then data reliability is improved, but user-available over provisioning (OP) space is reduced
Solution Approach 1:
The storage device is divided into multiple logical units (LUNs), each with independent error correction. This segmentation allows error correction to be applied locally without requiring excessive over-provisioning space across the entire storage array, thus maintaining user-available OP space while improving data reliability.
Solution Approach 2:
Different error correction strategies are applied to different logical units based on their specific requirements and characteristics. This local quality approach optimizes the balance between reliability and available space for each LUN individually, rather than applying a uniform correction strategy that would waste space.
2Reliability
If traditional error correction algorithms are used for Nand Flash storage, then data reliability is improved, but write amplification becomes larger
Solution Approach 1:
Error correction codes are pre-calculated and stored in lookup tables during initialization. When data is written, the corresponding ECC codes are retrieved from the table rather than being calculated in real-time, significantly reducing write amplification while maintaining correction capability.
Solution Approach 2:
Instead of recalculating error correction codes during write operations, the system uses pre-computed ECC code copies stored in lookup tables. This copying approach eliminates redundant calculations and reduces write amplification while ensuring data reliability through accurate error correction.
3Reliability
If traditional error correction algorithms are used for Nand Flash storage, then data reliability is improved, but performance is reduced
Solution Approach 1:
Pre-computed error correction codes are stored in lookup tables, allowing rapid retrieval during write operations without the computational overhead of real-time calculation. This copying approach maintains high storage performance while ensuring data reliability through accurate error correction.
Solution Approach 2:
Error correction calculations are performed in advance during initialization or idle periods, with results stored for quick access during data operations. This preliminary action eliminates the performance penalty of real-time ECC calculation while maintaining correction capability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A data storage method includes: binding storage blocks, which are corresponding to each plane of each of a plurality of logical units in a storage device, to each other to form a superblock; performing, using a corresponding disk redundancy array protection mechanism, data storage operations based on a type of the superblock and a data type of to-be-written data.