Dynamic Program Targeting Control for Flash Memory Error Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory sub-systems face performance and reliability issues due to shifts in threshold voltage distributions in flash-based memory caused by repeated data writes, reads, and temperature changes, leading to increased error rates and limited flexibility in adjusting program-verify target levels, which are media-type dependent.
Innovation Solution
A data-structure based dynamic program targeting (DPT) component that adjusts threshold voltage levels of memory cells using a data-structure to control the shifting of program distributions, providing media-type independence and flexibility in firmware usage across different memory types like SLC, TLC, and QLC.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional memory sub-systems use fixed program-verify target levels, then device complexity is reduced, but reliability deteriorates due to shifts in threshold voltage distributions causing increased error rates
Solution Approach 1:
The patent implements dynamic program-verify target level adjustment by introducing a data structure that stores trim values for different program distributions. The system dynamically selects and applies appropriate trim values based on the current program distribution state, allowing the target levels to adapt to threshold voltage shifts caused by wear and temperature changes, thereby resolving the contradiction between maintaining simple fixed control and achieving high reliability through adaptive control.
Solution Approach 2:
The patent changes the parameter of program-verify target levels from fixed to variable by introducing trim values that adjust the target levels. The data structure stores multiple trim values that can be applied to shift program distributions, enabling the system to compensate for threshold voltage shifts and maintain reliability without requiring complete redesign of the control architecture.
2Adaptability or versatility
If memory sub-systems use media-type dependent firmware for different memory types, then manufacturing precision is improved for each specific type, but adaptability deteriorates as firmware cannot be shared across SLC, TLC, and QLC memory types
Solution Approach 1:
The patent achieves universality by designing a media-type independent data structure that can accommodate different memory types (SLC, TLC, QLC) through a common interface. The data structure uses generic field names and formats that can represent program distribution characteristics across all memory types, allowing a single firmware implementation to serve multiple memory types while maintaining manufacturing precision through type-appropriate trim values.
Solution Approach 2:
The patent enables adaptability across memory types by parameterizing the data structure to accept different program distribution characteristics for SLC, TLC, and QLC memory. The system changes the parameters stored in the data structure based on memory type, allowing the same firmware to achieve manufacturing precision for each specific memory type through appropriate parameter selection rather than requiring separate firmware implementations.
3Adaptability or versatility
If dynamic program targeting control is implemented with media-type independence, then adaptability is improved across different memory types, but device complexity increases due to the need for data-structure based control mechanisms
Solution Approach 1:
The patent reduces implementation complexity by using a standardized data structure template that can be copied and applied across different memory types. Instead of implementing complex control logic for each memory type, the system uses a universal data structure that captures the essential program distribution characteristics, allowing firmware to be copied and reused across SLC, TLC, and QLC memory types with minimal modification.
Data Source
AI summary
Feedback relating to errors in memory operations on a plurality of memory cells is received by a memory sub-system. At least one processing level corresponding to a program distribution is updated based on the feedback to adjust an error measure between pages of the plurality of memory cells and to adjust a read window budget within a page of the plurality of cells. The updating of the at least one processing level is based on information for the at least one processing level that is stored in a data-structure.


