Active Block for NV Memory Data Storage and Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current non-volatile memory control techniques face inefficiencies in managing spare blocks, leading to reduced data storage capacity and increased wear on flash memory due to the need for separate active blocks for user data and data transfers, which limits the recycling of source blocks and reduces the number of spare blocks available.
Innovation Solution
A controller allocates spare blocks to create an active block for both storing user data and transferring data from source blocks, using the active block as a destination for data transfers, thereby eliminating the need for additional active blocks and allowing source blocks to be released after valid data transfer, thus increasing the number of spare blocks and optimizing storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate active blocks are used for user data and data transfers, then data transfer reliability is improved, but the number of spare blocks decreases
Solution Approach 1:
The patent combines the functions of user data storage and data transfer destination into a single active block. The controller manages the active block to receive both user data from the host and transferred data from source blocks during garbage collection, eliminating the need for separate active blocks and thereby increasing the number of available spare blocks.
Solution Approach 2:
The active block is designed to serve multiple functions: storing user data issued by the host and simultaneously serving as the destination block for data transfers from source blocks. This multi-functional design allows the system to maintain data transfer reliability while maximizing the availability of spare blocks.
2Quantity of substance
If additional active blocks are allocated for data transfers, then data storage capacity is improved, but flash memory wear increases
Solution Approach 1:
By merging the user data block and transfer destination block into a single active block, the patent reduces the total number of blocks that need to be allocated and subsequently erased. This decreases the frequency of erasure operations across the flash memory, thereby reducing cumulative wear and extending memory lifespan.
Solution Approach 2:
The patent enables source blocks to be released and recovered as spare blocks immediately after their valid data is transferred to the active block. This efficient recovery process increases the pool of available spare blocks without requiring additional blocks, thereby maintaining storage capacity while reducing wear from unnecessary erasure cycles.
3Reliability
If source blocks are kept until active block closure, then data transfer completeness is improved, but spare block recycling is reduced
Solution Approach 1:
The patent implements a flag mechanism that allows source blocks to be released as soon as their data transfer is complete, without waiting for the active block to be closed. The flag system ensures data transfer completeness is tracked and verified, enabling early release of source blocks to be recycled as spare blocks, thereby improving productivity.
Solution Approach 2:
The controller uses a flag system to provide feedback on the completion status of data transfers from source blocks. When the flag indicates that all valid data has been transferred, the controller can immediately release the source block for recycling, ensuring data transfer completeness is maintained while maximizing spare block recycling efficiency.
Data Source
AI summary
High-efficiency control technology for non-volatile memory. A controller allocates spare blocks of a non-volatile memory to provide an active block and writes data issued by a host to the active block. The controller further uses the active block as the destination for data transferred from a first source block when there are fewer spare blocks than the threshold amount. When a second source block meets the transfer requirements, the controller uses the active block as the destination for data transferred from the second source block.


