Memory Block Allocation for Bad Block Recovery and Capacity Gain
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face inefficiencies in managing bad blocks, leading to reduced reliability and performance due to the allocation of reserved areas for block replacements without considering the lifespan of memory blocks and the different operational attributes of system and user data areas.
Innovation Solution
A memory system that dynamically adjusts the allocation of system and user data areas based on the lifespan of memory blocks, using a controller to manage bad blocks by replacing them with operable blocks from reserved or user data areas, and optimizing the allocation of super blocks based on comparison and lifespan information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed reserved area is allocated for bad block replacement, then reliability is improved, but the usable storage capacity is reduced
Solution Approach 1:
The patent implements dynamic allocation of reserved areas for bad block replacement. The controller monitors the actual number of bad blocks and adjusts the size of the reserved area accordingly. When bad blocks are replaced, the reserved area is reduced and user data is migrated to the newly available space. This dynamic adjustment ensures that the reserved area is always sufficient for reliability while maximizing usable storage capacity.
Solution Approach 2:
The patent changes the parameter of reserved area size from a fixed value to a variable that adapts based on bad block replacement needs. The controller calculates the required reserved area size based on the number of bad blocks and replacement operations performed, then dynamically reconfigures the reserved area boundaries. This parameter change allows the system to maintain reliability requirements while optimizing storage capacity.
2Device complexity
If system data and user data are stored in the same memory area, then device complexity is reduced, but data reliability and performance are worsened
Solution Approach 1:
The patent segments the memory device into distinct system data areas and user data areas, each with separate management. The controller maintains separate allocation tables and management structures for each data type. This segmentation allows independent optimization of each area - system data can be placed in more reliable areas while user data utilizes the full capacity, improving overall reliability without significantly increasing complexity.
Solution Approach 2:
The patent implements a universal bad block replacement mechanism that works across both system data and user data areas. The same replacement logic, allocation management, and reliability protocols are applied to both data types, reducing the need for separate complex management systems while maintaining high reliability for both areas.
3Reliability
If bad blocks are replaced using only reserved area blocks, then reliability is improved, but the number of available user data blocks is reduced
Solution Approach 1:
The patent implements a strategy where reserved area blocks are used for initial bad block replacement, but once replaced, those reserved blocks are recovered and converted back to user data blocks. The controller migrates user data from the old reserved area to new reserved area or directly to the replaced blocks, then reclassifies the migrated blocks as user data. This discarding and recovering process ensures reliability during replacement while maximizing user data capacity over time.
Data Source
AI summary
A memory system includes a memory device including a plurality of memory blocks constituting a plurality of super blocks in which a data entry to be stored is determined according to allocation information, and a controller configured to perform a bad block management operation when a memory block included in a first super block from among the plurality of super blocks is determined to be a bad block. For the bad block management operation, the controller is configured to change allocation information of the first super block based on a lifespan information of the first super block.


