Flash Memory Bad Block Management via Dynamic Spare Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory storage devices face challenges with defective blocks that cannot be updated, leading to inefficiencies in random access and high waste of spare blocks, which limits their capability to handle a large number of bad blocks and increases access time.
Innovation Solution
A dynamic bad block management method that maps logical memory space to physical memory space using a bad block table and unavailable list, allowing for the identification and exclusion of bad blocks, and dynamically adjusting the number of spare blocks to ensure correct operation, including a recovery procedure to lock unused logical blocks and force garbage collection when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If spare blocks are provided to replace bad blocks, then the storage device can handle defective blocks, but the area of flash memory is wasted and access time increases due to search operations
Solution Approach 1:
The patent implements dynamic bad block management where the system continuously monitors and detects bad blocks during operation, dynamically allocating spare blocks only when needed rather than pre-allocating a fixed set. This allows the storage device to adapt to actual bad block occurrences, improving reliability while minimizing memory area waste.
Solution Approach 2:
The storage device performs self-diagnosis and self-repair by automatically detecting bad blocks and managing spare block allocation without external intervention. The system maintains its own reliability through internal monitoring and dynamic replacement mechanisms, eliminating the need for large pre-allocated spare block reserves.
2Reliability
If a replacement table is used to map bad blocks to spare blocks, then bad blocks can be replaced, but access time increases due to search operations in the replacement table
Solution Approach 1:
The system performs preliminary detection and management of bad blocks, maintaining an updated mapping structure that allows direct access to spare block information. By preparing and organizing replacement information in advance, the system eliminates the need for search operations during actual block access, reducing time loss while maintaining replacement capability.
3Area of stationary object
If the number of spare blocks is kept low to reduce area waste, then flash memory area is preserved, but the capability to ensure correct operation with a high number of bad blocks is reduced
Solution Approach 1:
The system dynamically adjusts the number of active spare blocks based on the actual number of detected bad blocks. When few bad blocks are present, minimal spare blocks are allocated preserving memory area. When many bad blocks are detected, the system automatically activates additional spare blocks from the memory pool, ensuring operational capability is maintained while minimizing area waste under normal conditions.
Data Source
AI summary
A solution for managing a storage device based on a flash memory is proposed. A corresponding method starts with the step for mapping a logical memory space of the storage device (including a plurality of logical blocks) on a physical memory space of the flash memory (including a plurality of physical blocks, which are adapted to be erased individually). The physical blocks include a set of first physical blocks (corresponding to the logical blocks) and a set of second—or spare—physical blocks (for replacing each bad physical block that is unusable). The method continues by detecting each bad physical block. Each bad physical block is then discarded, so to prevent using the bad physical block for mapping the logical memory space.


