Ternary Voltage Encoding for Flash Memory Noise Immunity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory devices are susceptible to noise during programming and reading, leading to incorrect data states due to low threshold voltages, which affects the reliability of stored data.
Innovation Solution
The method involves programming memory cells as single level cells (SLC) or multiple level cells (MLC) by generating a ternary voltage stream that encodes data into three different program states, using a pre-coding algorithm and a Viterbi detector for improved noise immunity, and reading using a trellis state diagram to determine the correct data state based on past and present data samples.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by stationary object
If low threshold voltages are used in memory cells, then memory device power consumption is reduced, but noise susceptibility increases leading to incorrect data states
Solution Approach 1:
The patent changes the voltage parameter from traditional binary levels to ternary levels (0V, +Vpp, -Vpp), creating distinct voltage ranges for different data states. This parameter change increases the voltage separation between states, improving noise immunity while maintaining low power consumption characteristics of the original low-voltage memory cells
Solution Approach 2:
The patent segments the voltage range into three distinct regions (negative voltage range for logical 1, zero voltage for logical X, positive voltage range for logical 0) instead of using a continuous or binary voltage scale. This segmentation creates clear boundaries between data states, reducing susceptibility to noise and enabling more reliable storage
2Reliability
If ternary voltage encoding is used to improve noise immunity, then programming energy increases, but signal-to-noise ratio improves
Solution Approach 1:
The patent converts the harmful effect of increased programming energy into a beneficial outcome by using the additional energy to create well-separated ternary voltage distributions. The increased energy expenditure during programming results in more distinct and separated voltage states, which improves read reliability and reduces error rates during data retrieval
Data Source
Figure 1~1B
Figure 2
Figure 3~4
AI summary
A method for programming memory cells (e.g., memory cells of a single level cell "SLC" type memory device (600)) is disclosed which includes: generating (301-305) an encoded stream (.., Xk-1, Xk,..) having three voltage levels (104-106), using a data stream (.., Uk-1, Uk, ..) having only two logical states; and programming (307) the memory cells using the encoded stream (.., Xk-1, Xk,..) to represent the data stream (.., Uk-1, Uk, ..).