Flash Memory Controller Decoding for Faster Power-On Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing flash memory controller decoding methods are inefficient due to the prolonged decoding time caused by the need to use both hard and soft decoding functions when data is read from unstable pages, leading to extended power-on duration and user experience issues.
Innovation Solution
The flash memory controller selectively disables the soft decoding function during data restoration upon power-on, using only the hard decoding function for certain blocks or data states to expedite the decoding process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If both hard decoding and soft decoding functions are used to decode data from unstable pages, then the data correction capability is improved, but the decoding time is excessively prolonged
Solution Approach 1:
The decoder dynamically adjusts its operation mode based on the stability status of pages. When unstable pages are detected, the system switches to hard decoding mode only for those specific pages, while using soft decoding mode for stable pages. This dynamic adaptation allows the system to maintain data correction capability for unstable pages while avoiding the excessive time penalty of applying soft decoding to all pages.
Solution Approach 2:
The patent applies different decoding strategies to different pages based on their stability characteristics. Instead of uniformly applying soft decoding to all pages, the system identifies unstable pages locally and applies hard decoding specifically to those pages, while using soft decoding only for stable pages. This localized approach optimizes the balance between correction capability and decoding time.
2Reliability
If soft decoding function is used during data restoring operation after power-on, then the data restoration accuracy is improved, but the power-on duration is excessively prolonged
Solution Approach 1:
During the power-on data restoration operation, the decoder dynamically selects the decoding mode based on page stability assessment. For unstable pages identified during restoration, hard decoding is applied to ensure data accuracy. For stable pages, soft decoding is used to maintain acceptable restoration accuracy while minimizing the overall power-on duration.
Solution Approach 2:
The system changes the decoding parameter (hard vs. soft decoding) based on the stability parameter of pages during power-on restoration. By adjusting the decoding intensity parameter according to page stability, the system achieves an optimal balance between restoration accuracy and power-on speed.
3Speed
If hard decoding function is used initially for all data, then the decoding speed is improved, but the data correction capability is insufficient for highly unstable pages
Solution Approach 1:
The decoder operates in a dynamic mode selection framework. It initially uses hard decoding for speed, but automatically switches to soft decoding when instability is detected in the data or pages. This dynamic switching ensures that the system maintains high decoding speed for stable data while providing enhanced correction capability when needed.
Solution Approach 2:
The system incorporates feedback mechanisms that monitor data stability during decoding. When the feedback indicates high instability or decoding failure in hard decoding mode, the system responds by switching to soft decoding mode to ensure proper correction, thereby adapting the correction capability to the actual data conditions.
Data Source
AI summary
The present invention provides a flash memory controller, wherein the flash memory controller includes a read-only memory, a microprocessor and a decoder, wherein the read-only memory is configured to store a program code, the microprocessor is configured to execute the program code to access a flash memory module, and the decoder includes a hard decoding function and a soft decoding function. In the operations of the flash memory controller, when the flash memory controller and the flash memory module are powered-on, the flash memory controller reads data from a specific block of the flash memory module, and the decoder determines if disabling the soft decoding function or not according to a status of the specific block or a status of the data.


