Flash Memory Controller Merge Logic for SLC to MLC Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data processing methods for flash memory devices are inefficient in managing data storage and performance, particularly in handling single-level cell blocks and multiple-level cell blocks, leading to suboptimal data transfer and increased invalid page counts.
Innovation Solution
A data processing method that utilizes a controller to determine valid page counts in single-level cell blocks and execute merge procedures, either a direct merge or an OBP merge, to efficiently write data from single-level cell blocks into multiple-level cell blocks, optimizing data storage and reducing invalid pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data from single-level cell blocks is written into multiple-level cell blocks using conventional merge procedures, then data storage is achieved, but processing efficiency is reduced due to handling invalid pages and complex merge operations
Solution Approach 1:
The patent segments the merge procedure into two distinct paths: a first merge procedure for SLC blocks with valid page count above threshold, and a second merge procedure for SLC blocks with valid page count at or below threshold. This segmentation allows each procedure to be optimized for its specific case, improving overall processing efficiency by avoiding unnecessary operations on invalid pages.
Solution Approach 2:
The first merge procedure implements partial action by directly writing only the valid data pages from SLC blocks to MLC blocks when valid page count exceeds the threshold, without performing full garbage collection or invalid page handling. This partial approach suffices for high-validity blocks and significantly reduces processing time.
2Reliability
If conventional merge procedures are used for all single-level cell blocks, then data is stored, but the burden on garbage collection procedures increases due to handling blocks with many invalid pages
Solution Approach 1:
The patent introduces dynamic selection of merge procedures based on the valid page count threshold. The controller dynamically determines which merge procedure to execute for each SLC block by comparing its valid page count against the threshold, adapting the processing approach to the actual data state and minimizing garbage collection burden appropriately for each block.
Solution Approach 2:
Different merge procedures are applied to different SLC blocks based on their local characteristics (valid page count). Blocks with high valid page counts receive the simplified first merge procedure, while blocks with low valid page counts receive the more thorough second merge procedure, optimizing the balance between storage reliability and garbage collection burden locally for each block.
3Productivity
If valid page count threshold filtering is implemented, then processing efficiency is improved for high-validity blocks, but additional determination steps are required
Solution Approach 1:
The valid page count is determined and compared against the threshold before initiating the merge procedure. This preliminary action allows the controller to pre-select the appropriate merge procedure path, avoiding unnecessary processing steps during the actual data transfer and improving overall execution speed despite the added initial determination step.
Data Source
AI summary
A data storage device includes a memory device and a controller. The memory device includes multiple memory blocks. The memory blocks include single-level cell blocks and multiple-level cell blocks. The controller is coupled to the memory device. When the controller executes a predetermined procedure to write data stored in the single-level cell blocks into the multiple-level cell blocks, the controller is configured to determine whether a valid page count corresponding to each single-level cell block is greater than a threshold, and when the valid page count corresponding to more than one single-level cell block is greater than the threshold, the controller is configured to execute a first merge procedure to directly write the data stored in the single-level cell blocks with the valid page count greater than the threshold into one or more of the multiple-level cell blocks.


