Nonvolatile Memory Data Encoding for Back Pattern Dependency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Nonvolatile memory devices face challenges in reducing Back Pattern Dependency (BPD) due to the influence of neighboring programmed memory cells, which widens the distribution of threshold voltages and narrows the margin between them, leading to programming disturbances and reduced data integrity in Multi-Level Cell (MLC) storage.

Innovation Solution

A nonvolatile memory device and method that incorporates a data conversion unit with an encoder and decoder to randomize data by performing logical operations on input data and stored data, using randomly generated data to encode and decode information, thereby minimizing the impact of BPD by ensuring a balanced ratio of programmed and unprogrammed memory cells.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a pass voltage is applied to unselected word lines to reduce BPD, then the distribution of threshold voltages is narrowed, but a disturbance phenomenon occurs where unwanted memory cells are programmed

Engineering Contradiction:
Improvethreshold voltage distributionVSAvoidunwanted programming
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The patent applies preliminary action by performing data randomization through encoding before the program operation. The encoder XORs the data to be programmed with random data, and the decoder XORs the read data with the same random data to recover the original data. This preliminary data transformation ensures that the actual data pattern written to memory cells is randomized, preventing BPD-induced threshold voltage distribution widening and eliminating disturbance to unselected memory cells.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If memory cells are over programmed to reduce BPD, then the threshold voltage distribution is narrowed, but the margin between threshold voltages is reduced

Engineering Contradiction:
Improvethreshold voltage distributionVSAvoidthreshold voltage margin
Core Design Contradiction:
Manufacturing precisionVSMeasurement precision

Solution Approach 1:

The patent performs preliminary data randomization by encoding the data before programming. The encoder XORs input data with random data to create a randomized bit pattern for programming. This ensures that even if over-programming occurs, the randomized pattern distributes programming effects uniformly, maintaining threshold voltage margins while narrowing the distribution through balanced programming of neighboring cells.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If sequential program operation from WL0 to WL31 is performed to reduce BPD, then the threshold voltage distribution is improved, but the programming time increases

Engineering Contradiction:
Improvethreshold voltage distributionVSAvoidprogramming time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent changes the data parameter by randomizing it through encoding before programming. By XORing the data with random data, the actual programming pattern is transformed. This allows parallel or optimized programming sequences to achieve the same BPD reduction effect as sequential programming, thereby reducing programming time while maintaining improved threshold voltage distribution.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7986552B2Nonvolatile memory device and method of operation to program/read data by encoding/decoding using actual data and random data for program/read operation
Publication Date: 2011.07.26 SK HYNIX INC
  • US7986552B2 patent drawing
  • US7986552B2 patent drawing
  • US7986552B2 patent drawing

AI summary

A nonvolatile memory device includes a data conversion unit including an encoder and a decoder. The encoder sets data for each of word lines and creates second data to be programmed into a plurality of memory cells by performing a logical operation on the set data and first data input for programming. The decoder creates the first data by performing a logical operation on the second data that is read from the memory cells and the set data.