Flash Memory Data Randomization via Physical Address Seeds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data scrambling methods in NAND flash devices require knowledge of the logical block address (LBA) and seed for correct data randomization and de-randomization, making data irrecoverable if the seed or LBA is lost, and necessitate reading adjacent data locations for descrambling.

Innovation Solution

A method that uses only current physical information of the device, eliminating the need for feedback and LBA dependency, allowing data recovery without knowing the LBA number or start location, and enabling descrambling without reading adjacent physical locations by generating a randomization seed based on page identifier, column address, and cycle count.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional data scrambling methods using PRBS and feedback are used, then data randomization is achieved, but data becomes irrecoverable if the seed or LBA is lost

Engineering Contradiction:
Improvedata recoverabilityVSAvoidseed dependency
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent extracts the dependency on external seed and LBA information by generating the randomization seed purely from internal physical characteristics of the NAND flash device (page identifier, column address, and cycle count). This eliminates the need to store or track external seed values, making data recovery independent of firmware-provided seeds.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The device serves itself by generating randomization seeds from its own physical characteristics (page identifier, column address, cycle count) without requiring external input. The NAND flash device uses its inherent physical information to create the seed, making the system self-sufficient and eliminating dependency on external seed management.

Inventive Principle:
Principle #25Self-service

2Productivity

If LBA-based randomization is used, then data access efficiency is improved by reading only specific LBA, but firmware must know the LBA number and start location

Engineering Contradiction:
Improvedata access efficiencyVSAvoidfirmware knowledge requirement
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses the page identifier and column address (inherent physical location information) to generate the seed, eliminating the need for firmware to know or track LBA numbers. The device self-identifies its location through physical characteristics rather than requiring external address management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the parameter basis for randomization from logical block addresses (LBA) to physical characteristics (page identifier, column address, cycle count). This parameter transformation eliminates the need for firmware to understand or manage LBA numbering while maintaining the ability to access specific data locations efficiently.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If seed is provided per page or LBA base, then data randomization is achieved, but adjacent data locations must be read for descrambling

Engineering Contradiction:
Improvedata randomizationVSAvoidread time for adjacent locations
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by generating unique randomization seeds for each specific column address within a page. This fine-grained approach ensures that each column can be independently descrambled using only its own column address and the page identifier, without requiring data from adjacent columns or locations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent extracts the seed generation requirement from a page-level or LBA-level operation down to the column-level operation. By using column address as part of the seed generation, each column can be independently processed without needing to read adjacent locations, reducing the time loss associated with reading extra data.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10175915B2Data randomization for flash memory
Publication Date: 2019.01.08 TIDAL SYST
  • US10175915B2 patent drawing
  • US10175915B2 patent drawing
  • US10175915B2 patent drawing

AI summary

Data words written to an SSD device, or other device or output data stream, may be randomized using a seed based on physical addressing information, such as a page address, column address, and a cycle count for the page address. This enables the storage and de-randomization of variable length data blocks stored at random locations within a page without requiring storage of additional data, which would make recovery impossible if lost in prior approaches. The page address, column address, and block address are physical attributes of the storage location for the data word and do not need to be saved and therefore will not be lost making recovery of the seed always possible. The cycle count can be saved and, if lost, limited trials with range of cycle counts can be exercised to de-randomize the data word and decoding may be used to determine whether descrambling was successful.