SSD Runtime Variable RAID Protection With Adaptive ECC Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional solid-state drive (SSD) systems face inefficiencies due to varying endurance of flash memory blocks, leading to increased bit errors over the device's lifecycle, which affects data storage reliability and lifespan.
Innovation Solution
The implementation of a data storage device with a controller that dynamically adjusts the size of error correction code (ECC) and data portions within flash pages, using variably-sized error correction codes and Check Pages to extend the SSD's useful lifetime by adapting to the condition of individual blocks and pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional SSD systems provision ECC resources according to the worst-performing blocks, then reliability is improved, but storage capacity is reduced
Solution Approach 1:
The patent applies local quality by provisioning ECC resources based on the specific condition of each block rather than uniformly across all blocks. The controller assesses block quality metrics and dynamically allocates ECC resources to match actual error rates, providing stronger protection only where needed and preserving capacity in healthier blocks.
Solution Approach 2:
The system dynamically adjusts ECC provisioning based on real-time block condition assessment. As blocks degrade over time, the controller reevaluates their status and modifies ECC resource allocation accordingly, transitioning from static worst-case provisioning to adaptive, condition-based protection.
2Device complexity
If fixed-size ECC portions are used in all flash pages, then device complexity is reduced, but adaptability to varying block endurance is worsened
Solution Approach 1:
The patent implements dynamic ECC sizing where the controller adjusts the size of ECC portions based on assessed block quality. Healthier blocks receive smaller ECC portions preserving capacity, while degraded blocks receive larger ECC portions for enhanced protection, all managed through automated assessment and allocation algorithms.
Solution Approach 2:
The system changes the parameter of ECC portion size based on block condition metrics. Rather than using a fixed ECC size, the controller modifies the ECC parameter dynamically to match the actual error characteristics of each block, optimizing the balance between protection and capacity.
3Reliability
If larger ECC portions are allocated to all pages, then reliability is improved, but storage capacity is reduced
Solution Approach 1:
The patent applies local quality by allocating ECC resources according to the specific needs of each block. Instead of uniformly increasing ECC across all pages, the controller identifies blocks requiring enhanced protection and allocates larger ECC portions only to those blocks, preserving capacity in blocks with lower error rates.
Solution Approach 2:
The system applies partial action by providing enhanced ECC protection only to the extent necessary for each block's actual condition. Rather than over-provisioning all blocks with maximum ECC, the controller applies just enough correction capability to meet reliability targets for each specific block.
Data Source
Figure 1A
Figure 1B~2
Figure 3~4
AI summary
A data storage device may comprise a flash controller and an array of flash memory devices coupled to the flash controller. The array may comprise a plurality of S~Pages that may each comprise a plurality of F~Pages, In turn, each of the plurality of F~Pages may be configured to store a variable amount of data and a variable amount of error correction code. The flash controller may be configured to generate an error correction code across each F-Page of an S~Page and to store the generated error correction code within one or more F-Pages having the largest amount of data.