NAND Data Inversion Hashing for Uniform Cell State Transitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data writing methods for NAND-type flash memory in SSDs lead to non-uniform NAND cell state transitions due to the direct use of lower bits of program erase count (PEC) values for inversion seed generation, causing accelerated NAND wear-out and reliability issues.

Innovation Solution

A hashing-based method generates inversion seeds for each page using a hash function of program erase count (PEC) and physical address (PA) to ensure uniform NAND cell state transitions, implemented in the firmware (FW) of SSDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If lower bits of program erase count (PEC) values are directly used for inversion seed generation, then the inversion seed generation is simple, but non-uniform NAND cell state transitions occur causing accelerated wear-out

Engineering Contradiction:
Improveinversion seed generation simplicityVSAvoidNAND cell state transition uniformity
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent transforms the inversion seed generation from directly using PEC lower bits to using a hash function output. This parameter change ensures uniform distribution of inversion seeds across different pages while maintaining computational efficiency. The hash function processes PEC and physical address inputs to generate uniformly distributed inversion seeds, resolving the contradiction between simplicity and uniformity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a hash function as an intermediary between PEC values and inversion seeds. This intermediary component transforms the non-uniform PEC lower bits into uniformly distributed inversion seeds through hashing operations. The hash function acts as a mediator that preserves computational efficiency while ensuring uniform cell state transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If hashing-based method is used for inversion seed generation, then uniform NAND cell state transitions are achieved, but computational complexity increases

Engineering Contradiction:
ImproveNAND cell state transition uniformityVSAvoidfirmware computational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses a specifically designed hash function with optimized parameters to achieve uniform inversion seed distribution. By carefully selecting hash function parameters and structure, the patent maintains computational efficiency while ensuring uniformity. The hash function processes PEC and physical address inputs with controlled computational overhead.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If non-uniform cell state transitions occur, then writing speed is maintained, but NAND wear-out accelerates reducing endurance

Engineering Contradiction:
Improvedata writing speedVSAvoidNAND flash endurance
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent applies preliminary action by generating uniformly distributed inversion seeds before the actual data writing process. This pre-processing step ensures that cell state transitions will be uniform during subsequent write operations, preventing accelerated wear-out. The hash-based inversion seed generation is performed in advance, allowing fast writing to proceed without compromising endurance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12579029B2Hashing based method for NAND data inversion
Publication Date: 2026.03.17 SK HYNIX INC
  • US12579029B2 patent drawing
  • US12579029B2 patent drawing
  • US12579029B2 patent drawing

AI summary

A method and associated memory system for randomizing memory storage data. The method and system, at a time for storing user data, generate a meta data sequence having an inversion seed bit determined from a hash function specifying inversion seeds for different pages of data to be stored in a memory at different physical addresses having respective program erase counts; receive at a data inverter the user data and the meta data sequence having the inversion seed bit; depending on the value of the inversion seed, bit-flip using the data inverter the data sequence except for the inversion seed bit; and regardless of bit-flipping, XOR the user data and meta data sequence with a random sequence produced by a randomizer to produce an XORed sequence for storage in the memory as randomized data.