Flash Memory Data Randomization for Program Disturb Error Suppression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face reliability issues due to data-dependent errors, particularly the Program Disturb (PD) effect, which causes unintended state changes in cells, leading to bit errors, especially in Multi-Bit Cells (MBCs) where the difference between threshold voltage ranges is smaller, making them more prone to errors compared to Single Bit Cells (SBCs).

Innovation Solution

The implementation of a data randomization method that transforms user data into pseudorandom bit sequences before storage, ensuring that all memory cell states occur with approximately equal probability, reducing the likelihood of problematic patterns that cause high error rates, and using error correction coding to maintain data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If Multi-Bit Cells (MBCs) are used to store multiple bits per cell, then storage capacity is improved, but reliability deteriorates due to smaller threshold voltage ranges making cells more prone to Program Disturb errors

Engineering Contradiction:
Improvestorage capacityVSAvoiddata reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preliminary randomization to user data before programming MBCs. By transforming the data pattern in advance, the system prevents worst-case scenarios where identical or sequential patterns cause Program Disturb errors. This preliminary action ensures that even though MBCs have smaller threshold voltage ranges, the randomized distribution of states minimizes the probability of error-prone patterns, thereby maintaining reliability while preserving high storage capacity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If error correction coding is increased to handle data-dependent errors, then reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoiderror correction overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary randomization before error correction coding to transform data patterns into pseudorandom sequences. This ensures that the input to the error correction code is uniformly distributed, allowing the system to use minimal redundancy while achieving the same level of reliability. By preprocessing the data to eliminate pattern-dependent errors, the system reduces the burden on error correction codes, thereby lowering device complexity and cost while maintaining high reliability.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data patterns are optimized for worst-case scenarios, then reliability is improved, but manufacturing precision requirements increase

Engineering Contradiction:
Improverobustness to Program DisturbVSAvoidthreshold voltage control
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent changes the parameter distribution of stored data by applying randomization transformations. Instead of optimizing for specific worst-case patterns, the system transforms all data patterns into pseudorandom sequences with uniform state distribution. This parameter change approach ensures that even with manufacturing variations in threshold voltage, the randomized data distribution maintains adequate margins against Program Disturb errors, thereby improving reliability without imposing stricter manufacturing precision requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8370561B2Randomizing for suppressing errors in a flash memory
Publication Date: 2013.02.05 SANDISK TECHNOLOGIES LLC
  • US8370561B2 patent drawing
  • US8370561B2 patent drawing
  • US8370561B2 patent drawing

AI summary

Original data to be stored in a nonvolatile memory are first randomized while preserving the size of the original data. In response for a request for the original data, the randomized data are retrieved, derandomized and exported without authenticating the requesting entity. ECC encoding is applied either before or after randomizing; correspondingly, ECC decoding is applied either after or before derandomizing.