Flash Memory Programming Voltage Adjustment for TLC Error Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices, particularly TLC flash memories, experience higher error rates for most significant bits (MSBs) during data writing, leading to significant impacts on data integrity due to the conventional programming voltage scheme, which results in lower performance and reliability.

Innovation Solution

Adjusting the programming voltage values for MSBs to increase the gaps between neighboring data patterns corresponding to MSBs, thereby reducing the error bit rate and improving data storage performance by prioritizing the most significant bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional programming voltage values are used for TLC flash memory, then data can be written to memory cells, but the error bit rate for MSBs increases significantly

Engineering Contradiction:
Improveerror bit rateVSAvoiddata writing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by adjusting programming voltage values specifically for MSB operations while maintaining other voltage values for LSB and CSB. The controller identifies MSB programming operations and applies a modified voltage value (e.g., reducing by 0.2V-0.5V) only when programming MSBs, thereby locally optimizing reliability for the most error-prone bits without affecting overall system performance

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the programming voltage parameter specifically for MSB operations. The controller modifies the programming voltage value from the conventional value (e.g., 20V) to an adjusted value (e.g., 19.5V-19.8V) when detecting MSB programming, which reduces the error bit rate for MSBs while maintaining acceptable performance for other data bits

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If uniform programming voltage values are applied to all data patterns, then the programming process is simple, but gaps between neighboring data patterns are insufficient leading to higher error rates

Engineering Contradiction:
Improvegap between data patternsVSAvoidprogramming voltage adjustment
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-calculating and storing adjusted programming voltage values in a lookup table within the controller before actual data programming occurs. The controller pre-identifies which voltage value to use based on the data pattern type (MSB, CSB, or LSB), thereby preparing the optimal voltage in advance and avoiding complex real-time calculations during programming operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamics by making the programming voltage value adaptive rather than static. The controller dynamically selects different programming voltage values based on the specific data pattern being programmed (MSB, CSB, or LSB), allowing the system to optimize voltage gaps for each bit type while maintaining operational flexibility and responsiveness

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8649216B2Data writing method and data storage device for adjusting programming voltage values
Publication Date: 2014.02.11 SILICON MOTION INC
  • US8649216B2 patent drawing
  • US8649216B2 patent drawing
  • US8649216B2 patent drawing

AI summary

The invention provides a data writing method. In one embodiment, a data storage device comprises a flash memory. First, the flash memory is directed to read a plurality of programming voltage values for data programming. The programming voltage values are then adjusted to obtain a plurality of adjusted programming voltage values according to difference bits between a plurality of stored data patterns corresponding to the programming voltage values. The adjusted programming voltage values are then sent to the flash memory. The flash memory is then directed to perform data programming according to the adjusted programming voltage values, wherein the data programmed according to the adjusted programming voltage values has a lower error bit rate than that of the data programmed according to the programming voltage values.