NAND Wordline Codeword Partitioning for Faster, Lower-Error Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional NAND Flash memory systems face inefficiencies in the programming step and varying error rates across different pages, leading to increased time and complexity in data storage and retrieval.

Innovation Solution

The method involves reformulating codewords into partitions and storing them across different pages or Logical Unit Numbers (LUNs, using a chopping logic controller, extra buffer, or permutor to optimize data distribution and reduce error rates by averaging Raw Bit Error Rates (RBER) across pages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If codewords are stored sequentially in the page register and transferred to NAND memory in one step, then the storage process is simple, but the programming step becomes time-consuming and complex

Engineering Contradiction:
Improveprogramming speedVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides each codeword into multiple partitions (e.g., first partition and second partition) and distributes them across different pages in the NAND memory. This segmentation allows parallel programming operations and reduces the time required for the programming step while maintaining manageable complexity through systematic organization of data partitions.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all codewords are stored in the same page, then the storage structure is simple, but error rates vary significantly across different pages

Engineering Contradiction:
Improveerror rateVSAvoiddata distribution complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by distributing different partitions of codewords to different pages based on their specific error rate characteristics. Each page receives data partitions that are optimized for its error profile, thereby improving overall reliability by matching data placement with page-specific quality characteristics rather than using a uniform storage approach.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent transitions from a single-dimension storage approach (all codewords in one page) to a multi-dimensional approach by distributing partitions across multiple pages. This dimensional expansion allows the system to exploit variations in error rates across different pages, improving reliability through diversified data placement strategies.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of time

If the entire first codeword is stored before the second codeword in the page register, then the buffering process is straightforward, but the programming time increases

Engineering Contradiction:
Improveprogramming timeVSAvoidbuffer management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by partitioning codewords and pre-positioning them in the buffer memory in a distributed manner across different pages before the actual programming operation. This preliminary organization enables parallel programming execution and reduces the overall programming time, while the buffer management complexity is handled through systematic partitioning rules.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10365966B1Methods and systems for wordline based encoding and decoding in NAND flash
Publication Date: 2019.07.30 MARVELL ASIA PTE LTD
  • US10365966B1 patent drawing
  • US10365966B1 patent drawing
  • US10365966B1 patent drawing

AI summary

Systems and methods are disclosed for storing codewords in NAND memory. The method includes receiving a first and second codeword. The method includes storing a partition of the first codeword and a partition of the second codeword in a buffer. The method includes transferring the partition of the first codeword and the partition of the second codeword to a page in NAND memory.