Flash Memory Controller with Adaptive Page and Byte Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional memory controllers for flash memory, particularly after cyclic use, face longer programming times due to varying threshold voltages and longer programming times for some cells, leading to decreased performance.
Innovation Solution
A memory controller with a control circuit and voltage generator that adapts between page and byte programming modes based on the number of bytes failing verification, using a programming operation counter to determine the optimal mode for each page.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traditional memory controllers use only one programming mode for all pages, then the control logic is simple, but the overall programming time increases due to varying cell conditions
Solution Approach 1:
The patent implements dynamic programming mode selection by introducing a programming operation counter that tracks the number of re-programming operations needed. Based on the counter value, the system adaptively switches between page programming mode and byte programming mode for subsequent pages, making the control logic dynamic rather than static to optimize programming time
Solution Approach 2:
The system changes the programming mode parameter based on the programming operation counter value. When the counter exceeds a threshold, the system switches from page programming mode to byte programming mode, and vice versa, thereby adapting the programming parameters to the actual cell conditions to reduce overall programming time
2Ease of operation
If the memory controller uses page programming mode for all pages, then the programming process is simple, but pages with many failing bytes require excessive re-programming time
Solution Approach 1:
The patent applies local quality by selectively applying different programming modes to different pages based on their specific conditions. Pages with high re-programming needs (counter > threshold) use byte programming mode, while other pages use page programming mode, optimizing efficiency for each local case rather than applying a uniform approach
Solution Approach 2:
The system segments the programming process into two distinct modes: page programming mode for pages with few failures, and byte programming mode for pages with many failures. The programming operation counter determines which segment (mode) to apply to each page, allowing optimized handling of different page conditions
3Productivity
If the memory controller switches programming modes frequently, then the programming efficiency is optimized, but the control complexity increases
Solution Approach 1:
The programming operation counter serves multiple functions: it tracks re-programming operations, determines mode switching decisions, and controls the selection between page and byte programming modes. This multi-functional component reduces the need for separate control mechanisms for each function, thereby limiting the increase in control circuit complexity
Data Source
AI summary
A memory controller for controlling a flash memory is provided. The memory controller includes a control circuit and a voltage generator. The control circuit is configured to program one or more pages of the flash memory in sequence, wherein each page includes a plurality of bytes. The voltage generator is configured to adjust the output voltage according to the control signal from the control circuit. The control circuit performs a programming verification operation on each byte of a current page of the one or more pages in a page programming mode, and calculates the first number of bytes which fail the programming verification operation and performs a programming operation again. The control circuit determines the programming mode of the page after the current page as the page programming mode or the byte programming mode according to the first number.


