Flash Memory Storage Management with Dynamic Spare Block Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems face inefficiencies in rewriting data due to the difficulty in rewriting only a portion of data stored in blocks, leading to high processing loads during garbage collection, which hinders other processing tasks like data downloading.
Innovation Solution
A storage management system that includes spare blocks, area detection, data-set writing, block releasing, and block changing mechanisms to optimize data storage by dynamically reallocating data and freeing up space, reducing the need for extensive garbage collection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection is performed to rewrite data in flash memory blocks, then data storage capability is maintained, but processing load increases and responsiveness decreases
Solution Approach 1:
The system performs preliminary actions by detecting the size of writable areas in advance before data acquisition occurs. This allows the system to proactively identify available storage space and prepare for incoming data, avoiding the need for urgent garbage collection operations that would hinder responsiveness.
Solution Approach 2:
The system dynamically manages block states by changing blocks between usable and spare states based on real-time storage conditions. This dynamic adjustment allows the system to optimize between maintaining data storage capability and preserving responsiveness by activating spare blocks only when necessary.
2Reliability
If garbage collection transfers large amounts of data, then necessary data is preserved, but processing load increases and other tasks are hindered
Solution Approach 1:
Instead of performing complete garbage collection on entire blocks, the system takes partial action by detecting and utilizing only the necessary writable portions of blocks. This reduces the amount of data that needs to be transferred while still preserving all necessary data, thereby lowering processing load.
Solution Approach 2:
The system introduces an intermediary mechanism (spare blocks) that acts as a buffer between data preservation requirements and processing load. By using pre-designated spare blocks for data relocation, the system reduces the urgency and volume of garbage collection operations needed.
3Adaptability or versatility
If spare blocks are used to store new data sets, then storage flexibility increases, but available writable area in usable blocks decreases
Solution Approach 1:
The system changes the parameter of block states by dynamically transitioning blocks between usable and spare states. This allows flexible adjustment of storage capacity parameters to match actual data acquisition needs, optimizing the balance between storage flexibility and available writable area.
Data Source
AI summary
A decrease in responsiveness when storing content in a flash memory is reduced. A storage management apparatus includes a flash memory including a plurality of blocks that include a plurality of usable blocks and one or more spare blocks. The apparatus is configured to acquire a new data set; change at least a part of the one or more spare blocks into a usable block and store the new data set in the thus changed usable block, in a case where a size of the new data set is larger than the writable area of the plurality of usable blocks and where the size of the new data set is larger than the writable area when an unnecessary data set contained in the plurality of usable blocks is deleted; and change the usable blocks all the data sets of which are deleted into spare blocks through garbage collection.


