NAND Flash Cache Programming to Cut Write Preparation Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face inefficiencies in write performance, particularly in NAND Flash memory devices, due to long program operation times and significant preparation overhead, which is exacerbated in single-level cell (SLC) and quad-level cell (QLC) NAND Flash memory devices.

Innovation Solution

A cache program command is introduced to prepare the next program data and information during the current program and recovery operations, reducing total program time by simultaneously processing these tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If program operation is performed sequentially without caching next data, then program operation simplicity is maintained, but total program time increases due to preparation overhead

Engineering Contradiction:
Improvetotal program timeVSAvoidprogram operation complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by caching the next program data in cache latches during the current program operation. Specifically, while the first program data is being programmed to memory cells, the second program data is pre-loaded into cache latches, so that when the first program operation completes, the second program data is already ready for immediate programming. This eliminates the preparation overhead between sequential program operations and reduces total program time.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If cache latches are used to store next program data, then write performance is improved, but device complexity increases

Engineering Contradiction:
Improvewrite performanceVSAvoidmemory device complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses cache latches as an intermediary component between the data input interface and the memory cell array. These cache latches temporarily hold program data during ongoing program operations, allowing the system to maintain high write performance by having pre-loaded data ready for immediate programming. The cache latches act as a buffer that decouples the data input rate from the program operation rate, improving overall write throughput while adding only moderate complexity through the inclusion of these cache structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If multiple program operations are pipelined, then total program time is reduced, but preparation overhead increases

Engineering Contradiction:
Improvepreparation timeVSAvoidprogram operation efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements continuity of useful action by ensuring that cache latches are continuously filled with next program data during ongoing program operations. The system maintains an uninterrupted flow of data preparation and programming activities - while first program data is being programmed to memory cells, second program data is simultaneously being loaded into cache latches. This continuous overlapping of preparation and execution phases eliminates idle time and maximizes program operation efficiency, reducing both preparation overhead and total program time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20260088096A1Memory device and method for performing cache program on memory device
Publication Date: 2026.03.26 YANGTZE MEMORY TECH CO LTD
  • US20260088096A1 patent drawing
  • US20260088096A1 patent drawing
  • US20260088096A1 patent drawing

AI summary

A method of programming a memory device includes caching first program data and preparing first program information corresponding to a first program operation, performing the first program operation to a first memory cell based on the first program data, during the first program operation, caching a second program data and preparing second program information corresponding to a second program operation, and after the first program operation is completed, performing the second program operation on a second memory cell based on the second program data.