Flash Memory Controller Bad Block Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory devices face challenges in effectively utilizing their limited blocks due to the labeling of blocks as 'bad' without proper validation, leading to a 'run out of spares' situation when the number of bad blocks exceeds a predetermined threshold, which restricts further data writing.
Innovation Solution
A controller in the data-storage device selects a 'bad' block as a test block, reads its pages to determine damage, and labels it as a spare block if undamaged, moving valid data to other blocks and preventing further data writing to damaged blocks, thereby increasing the number of available spare blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blocks are labeled as bad without proper validation, then the device can quickly identify and avoid damaged blocks, but the number of available spare blocks decreases rapidly leading to run out of spares situation
Solution Approach 1:
The controller performs preliminary validation testing on blocks labeled as bad before permanently marking them as unusable. By reading pages in the test block and verifying data integrity beforehand, the system avoids premature disposal of potentially functional blocks, thereby preserving spare block resources while maintaining reliability.
Solution Approach 2:
The system uses the flash memory's own read capability to self-validate the status of suspected bad blocks. By having the flash memory read its own pages and allow the controller to verify data integrity, the system performs self-diagnosis without external intervention, enabling accurate identification of truly damaged blocks while recovering falsely labeled ones.
2Measurement precision
If the controller validates bad blocks by reading all pages, then the accuracy of block status determination improves, but the time and resources required for validation increases
Solution Approach 1:
The controller performs a complete read of all pages in the test block to ensure comprehensive validation accuracy. By reading every page rather than sampling, the system guarantees that no damaged pages are missed, achieving maximum measurement precision for block status determination.
3Reliability
If the system maintains a large number of spare blocks, then the device can handle more bad blocks, but the overall storage capacity available for data decreases
Solution Approach 1:
The system dynamically changes the status parameter of blocks from bad to spare based on validation results. By transitioning blocks between different functional states (bad, spare, data) based on actual performance rather than static labeling, the system optimizes the balance between reliability and usable capacity, ensuring that blocks are allocated to appropriate functions based on their actual condition.
Data Source
AI summary
The present invention provides a data-storage device. The data-storage device includes a flash memory and a controller. The flash memory has a plurality of blocks and each of the blocks has a plurality of pages. The blocks include a plurality of bad blocks that are labeled as damaged. The controller selects one of the bad blocks as a test block, and reads the pages in the test block to determine whether the pages in the test block are damaged. When all the pages in the test block are undamaged, the controller labels the test block as a spare block.


