Flash Memory File System Wear-Leveling Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional wear-leveling techniques in flash memory file systems require scanning erasure data for all physical blocks, which decreases system performance due to the limited storage capacity of external memory devices, such as SRAM, and takes a long time to process, making it inefficient in embedded systems where increasing memory size is costly.
Innovation Solution
The method divides logical blocks into groups with a common difference value greater than 1, allowing erasure data for only one logical group to be loaded into external memory for scanning, reducing the task space needed in SRAM and enabling efficient wear-leveling without performance degradation, even with small storage capacity SRAM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional wear-leveling technique scans erasure data for all physical blocks, then wear-leveling is achieved, but system performance decreases and processing time increases due to limited external memory capacity
Solution Approach 1:
The patent divides all logical blocks into multiple logical groups (e.g., Group 1, Group 2, Group 3) based on their addresses. Instead of scanning all physical blocks simultaneously, the system scans only the physical blocks corresponding to one logical group at a time. This segmentation reduces the task space required in external memory from storing all erasure data to storing only erasure data for one group, thereby maintaining wear-leveling effectiveness while improving system performance.
2Measurement precision
If conventional wear-leveling technique scans all physical blocks, then accurate wear distribution is achieved, but processing time increases significantly
Solution Approach 1:
The patent segments the scanning process into multiple phases, where each phase scans one logical group of physical blocks. The logical blocks are divided into groups such that blocks with addresses divisible by a certain number form one group, and blocks with addresses not divisible by that number form another group. This segmentation allows the system to scan and process wear data for only one group at a time, significantly reducing processing time while maintaining accurate wear distribution measurement through systematic coverage of all groups.
Solution Approach 2:
The patent implements periodic scanning of logical groups in a cyclic manner. The system scans Group 1, then Group 2, then Group 3, and repeats this periodic process. This periodic action ensures that all physical blocks are scanned over time while avoiding the need to scan all blocks simultaneously, thereby reducing processing time while maintaining measurement precision through complete coverage.
3Quantity of substance
If external memory device size is increased to accommodate all erasure data, then complete wear-leveling scan is enabled, but system cost increases
Solution Approach 1:
The patent segments the erasure data storage requirement into manageable portions by dividing logical blocks into multiple logical groups. Instead of requiring external memory to store erasure data for all physical blocks simultaneously, the system only needs to store erasure data for one logical group at a time. This segmentation reduces the external memory capacity requirement from storing all erasure data to storing only a subset, thereby enabling complete wear-leveling functionality while reducing system cost.
Data Source
AI summary
A method for initializing and operating a flash memory file system and a computer-readable medium storing a program adapted to perform the method are disclosed. The method includes programming the flash memory file system in order to conceptually divide logical blocks into logical groups, and storing erasure data for one of the logical groups in a first region of a meta block. The method also includes loading erasure data for one logical group into an external memory device and mapping the logical blocks of the current logical group to the physical blocks in accordance with the erasure data loaded into the external memory device. The method also includes storing data of a data file in a data block of a flash memory device in accordance with the mapping of the logical blocks to the physical blocks.


