Dynamic Start Voltage Sampling for NAND Flash Memory Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic start voltage (DSV) sampling in NAND flash memory systems leads to non-uniform write times and limits the ability to cache upper pages, resulting in inefficiencies and potential errors during programming operations.

Innovation Solution

Implementing a system that performs DSV sampling on a physical page and stores this information to determine optimal start program voltages for both lower and upper page programming across multiple physical pages, allowing for uniform write times and dual I/O caching while reducing the likelihood of incorrect sampling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If DSV sampling is performed on each physical page, then programming accuracy is improved, but write time uniformity deteriorates and caching capability is limited

Engineering Contradiction:
Improveprogramming accuracyVSAvoidwrite time uniformity
Core Design Contradiction:
Measurement precisionVSStability of the object's composition

Solution Approach 1:

The patent segments the memory array into multiple physical pages, where only selected pages undergo DSV sampling while other pages use default voltages. This segmentation allows the system to maintain programming accuracy for sampled pages while preserving write time uniformity and caching capability for non-sampled pages, thus resolving the contradiction between measurement precision and stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing DSV sampling on all physical pages (excessive action), the patent applies sampling selectively to only certain pages (partial action). This partial application reduces the overall impact on write time uniformity and caching while still improving programming accuracy for the sampled pages, effectively balancing the contradictory requirements.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If DSV sampling is performed on each physical page, then programming accuracy is improved, but productivity deteriorates due to increased programming time

Engineering Contradiction:
Improveprogramming accuracyVSAvoidprogramming speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the memory programming operation into segments where only specific physical pages undergo time-consuming DSV sampling, while other pages are programmed using default voltages without sampling. This segmentation reduces the total number of sampling operations, thereby improving overall programming speed while maintaining accuracy for the sampled pages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies DSV sampling partially to only certain physical pages rather than all pages. This partial action reduces the total programming time and increases productivity while still achieving improved programming accuracy for the pages that are sampled, thus resolving the contradiction between precision and productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If DSV sampling is performed on each physical page, then programming accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveprogramming accuracyVSAvoidcontrol logic complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the memory controller into different handling paths: one for sampled pages that requires DSV sampling and another for non-sampled pages that uses default voltages. This segmentation organizes the control logic into manageable sections, reducing overall device complexity while still enabling accurate programming for sampled pages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements DSV sampling partially on selected pages rather than universally. This partial implementation simplifies the control logic compared to universal sampling, as the controller only needs to manage sampling for specific pages while using straightforward default voltage application for others, thereby reducing device complexity.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If DSV sampling is performed on each physical page, then programming accuracy is improved, but loss of time occurs due to non-uniform write times

Engineering Contradiction:
Improveprogramming accuracyVSAvoidwrite time variation
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the memory programming into sampled and non-sampled pages, allowing non-sampled pages to maintain uniform write times while sampled pages achieve improved accuracy. This segmentation prevents the time loss associated with universal sampling while preserving accuracy benefits for critical pages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies DSV sampling partially to selected pages rather than all pages. This partial application reduces the overall time loss from non-uniform write times while still achieving programming accuracy improvements for the sampled pages, effectively balancing precision gains against time penalties.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10714186B2Method and apparatus for dynamically determining start program voltages for a memory device
Publication Date: 2020.07.14 INTEL NDTM US LLC
  • US10714186B2 patent drawing
  • US10714186B2 patent drawing
  • US10714186B2 patent drawing

AI summary

In one embodiment, an apparatus comprises a memory comprising a first group of memory cells, a second group of memory cells, and a controller to program one or more lower pages of data to the first group of memory cells; store dynamic start voltage information, the dynamic start voltage information indicative of a rate of programming of at least a portion of the first group of memory cells; determine a start program voltage based on the dynamic start voltage information; and apply the start program voltage to the second group of memory cells during a first program pass of a program operation, the program operation to program one or more lower pages of data to the second group of memory cells.