Flash Memory Controller Expired Block Recycling via Write Time Table
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The quality of data stored in flash memory deteriorates rapidly due to the increasing layers in 3D flash memory technology, making it difficult to decode and read, especially in TLC or QLC blocks, and existing methods to address this are time-consuming and inefficient.
Innovation Solution
A flash memory controller method that records write times for each page in a 3D NAND-type flash memory module, creates a write time table to identify expired blocks, and performs an expired block recycling operation to move valid data to blank blocks, balancing access efficiency and quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the flash memory controller reads a part of content of each block to determine block quality, then data quality is improved, but time consumption increases significantly
Solution Approach 1:
The patent applies preliminary action by recording write times for each block when data is written, and using these pre-recorded timestamps to proactively identify expired blocks before they cause read failures. This allows the system to perform maintenance operations in advance during idle periods, rather than discovering data quality issues too late during active read operations.
Solution Approach 2:
The system uses its own idle time resources to automatically monitor and recycle expired blocks without requiring external intervention or additional read operations. The flash memory controller performs self-diagnosis by checking write time tables against current time, and self-heals by relocating valid data from expired blocks to new blocks during idle periods.
2Reliability
If the flash memory controller frequently performs quality checks on blocks, then data quality is improved, but access efficiency deteriorates
Solution Approach 1:
The patent implements periodic action by performing block quality checks and recycling operations only during idle periods when the flash memory controller is not handling external access requests. The controller periodically examines the write time table, identifies expired blocks, and performs recycling operations in batches during these idle windows, rather than continuously interrupting access operations.
Solution Approach 2:
By pre-recording write timestamps and maintaining a write time table, the system prepares quality assessment data in advance, allowing rapid identification of expired blocks during idle periods without requiring time-consuming read operations to determine block status.
3Reliability
If the flash memory controller uses idle time to read and check block content, then block quality is improved, but the controller cannot balance access efficiency and quality when busy
Solution Approach 1:
The patent applies dynamics by making the quality check frequency and intensity adaptive to system workload conditions. When the flash memory controller is busy handling access requests, it reduces or suspends quality checks to maintain access efficiency. When idle, it intensifies quality monitoring and performs recycling operations. This dynamic adjustment allows the system to balance between access efficiency and data quality based on real-time conditions.
Data Source
AI summary
A control method is applied to a flash memory controller, which includes the following steps: creating a write time table, wherein the write time table records block numbers of blocks having data stored therein and corresponding first time and second time; referring to the write time table to determine whether there is at least one first block in the flash memory module whose first time is earlier than a first threshold, and if so, recording the at least one first block into an expired block table; referring to the write time table to determine whether there is at least one second block in the flash memory module whose second time is earlier than a second threshold, and if so, recording the at least one second block into the expired block table; and referring to the expired block table to perform an expired block recycling operation.


