Page-Based XOR Randomization for Flash Read Disturbance Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices experience read disturbances due to unbalanced logical 0s and 1s in user data, leading to increased read errors, particularly in NAND flash devices where random access is not possible.

Innovation Solution

A method and apparatus that utilize a randomization algorithm to generate a randomized sequence based on page numbers, applying a logical bitwise XOR computation to user data, ensuring balanced logical 0s and 1s in the data before programming it into flash memory, and optionally adjusting the programming order to achieve data balance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If user data is directly programmed into flash memory without randomization, then the programming process is simple and fast, but read disturbances occur due to unbalanced logical 0s and 1s, leading to increased read errors

Engineering Contradiction:
Improveread error rateVSAvoiddata processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by generating a randomization sequence before programming the user data into flash memory. The randomization sequence is pre-computed based on the page number and XORed with the user data to balance the logical 0s and 1s, preventing read disturbances during subsequent read operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the data parameter by transforming the user data through XOR operation with a randomization sequence. This parameter transformation balances the distribution of logical 0s and 1s in the data, converting unbalanced data into balanced data that reduces read disturbances in flash memory.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If randomization sequence is generated and XOR computation is performed on user data, then read disturbances are reduced and data balance is achieved, but the programming process becomes more complex and time-consuming

Engineering Contradiction:
Improveread disturbance reductionVSAvoidprogramming speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The randomization sequence is generated in advance before the programming operation. By pre-computing the randomization sequence based on the page number and storing it in a lookup table, the system avoids complex computations during the actual programming process, thus maintaining programming speed while achieving data balancing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses a lookup table to store pre-computed randomization sequences for different page numbers. Instead of generating the randomization sequence dynamically during programming, the system copies the appropriate pre-computed sequence from the lookup table, significantly reducing the time required for the XOR operation and improving programming throughput.

Inventive Principle:
Principle #26Copying

3Reliability

If data balance is not maintained in flash memory, then the storage system is simpler to operate, but read errors increase due to read disturbances

Engineering Contradiction:
Improveread error rateVSAvoiddata management complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs self-service by automatically generating and applying randomization sequences to balance the data without requiring manual intervention. The flash controller autonomously computes the randomization sequence based on the page number and applies the XOR operation to the user data, eliminating the need for user involvement in data balancing while improving read reliability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250306857A1Method and non-transitory computer-readable storage medium and apparatus for accessing randomized data
Publication Date: 2025.10.02 SILICON MOTION INC
  • US20250306857A1 patent drawing
  • US20250306857A1 patent drawing
  • US20250306857A1 patent drawing

AI summary

The invention introduces a method for accessing randomized data, performed by a processing unit, includes: obtaining user data sets corresponding to one word line from a host side; calculating a randomization seed according to a page number of a specific page on the word line for each user data set; generating a randomized sequence by using a randomization algorithm according to each randomization seed; performing a logical bitwise XOR computation on each user data set and a corresponding randomized sequence to generate a first randomized data set; and programming each first randomized data set into a designated physical address including a corresponding page number on the word line in the flash module.