Dynamic Block Allocation in File Systems to Avoid Read-Only Mode
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory devices face issues with fixed block allocation in the file system area, leading to non-functional read-only mode when defects exceed a threshold, impacting performance and data integrity.
Innovation Solution
Dynamic block allocation from the user area to the file system area during runtime, managing bad blocks efficiently to prevent read-only mode and maintain functionality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fixed block allocation is used in the file system area, then device complexity is reduced and ease of manufacture is improved, but reliability deteriorates when defects exceed a threshold causing read-only mode
Solution Approach 1:
The patent implements dynamic block allocation where the file system area can automatically expand by borrowing blocks from the user data area when defects are detected. This dynamic adjustment allows the system to adapt to changing conditions (defect thresholds) rather than using fixed allocation, thereby maintaining reliability without requiring complex pre-planning for all possible defect scenarios.
Solution Approach 2:
The system changes the parameter of block allocation from fixed to variable based on defect thresholds. When the number of defects in the file system area exceeds a threshold, the system automatically adjusts the allocation parameters by borrowing blocks from the user area, thus maintaining file system functionality without entering read-only mode.
2Productivity
If fixed block allocation is used, then device complexity is reduced, but productivity deteriorates due to performance impact when entering read-only mode
Solution Approach 1:
The dynamic block allocation mechanism allows the file system area to expand on-demand when defects occur, preventing the system from entering read-only mode. This maintains normal write operations and preserves productivity without requiring a complex static over-provisioning scheme.
Solution Approach 2:
The file system area automatically borrows blocks from the user data area when it encounters defects, without requiring external intervention or complex management. This self-service mechanism maintains performance by preventing read-only mode activation while keeping the block management relatively simple.
3Adaptability or versatility
If fixed block allocation is used, then ease of operation is improved, but adaptability deteriorates when defects exceed threshold
Solution Approach 1:
The system transitions from static to dynamic block allocation, enabling automatic adaptation when defects exceed thresholds. The file system area can dynamically borrow blocks from the user area, providing adaptability to defect conditions while maintaining operational simplicity through automated management.
Solution Approach 2:
The block allocation parameters are changed from fixed to variable based on defect conditions. When defects exceed a threshold, the system automatically adjusts the file system area size by borrowing blocks, providing adaptability without requiring complex manual configuration or intervention.
4Reliability
If blocks are allocated from user area to file system area, then reliability is improved by preventing read-only mode, but loss of substance occurs as user data space is reduced
Solution Approach 1:
The system borrows blocks from the user data area temporarily when the file system area encounters defects. These blocks are recovered and returned to the user area when no longer needed, allowing the file system to maintain availability while minimizing permanent loss of user capacity. This is particularly relevant for SLC memory where blocks can be reused after erasure.
Data Source
AI summary
Systems, methods, and computer readable media for moving data blocks from a user area to a file system area. The method includes receiving a command from a host system and determining a number of free data blocks in a file system area of a memory device. The method further includes determining that the number of free data blocks in the file system area does not satisfy a threshold criterion, and allocating one or more data blocks from a user data area to the file system area.


