NAND Flash Memory Programming Using Preliminary LSB Read Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-level NAND flash memory technologies face inefficiencies in programming operations due to the need for multiple read accesses to retrieve stored data, particularly when using Gray coding, which complicates the management of memory cell states and increases operational complexity.

Innovation Solution

A method for programming electrically programmable memory cells that involves bringing memory cells into a predetermined state by receiving target values for both Least Significant Bit (LSB) and Most Significant Bit (MSB) groups and applying a programming sequence to achieve the target programming state, optimizing the use of Gray coding to reduce the number of read accesses required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple read accesses are performed to retrieve stored data in multi-level NAND flash memory, then data accuracy is improved, but operational complexity and time consumption increase

Engineering Contradiction:
Improvedata accuracyVSAvoidoperational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing a first read access to retrieve LSB data before the programming operation, and using this previously retrieved data in conjunction with a second read access for MSB data. This preliminary retrieval and storage of LSB data eliminates the need to perform multiple sequential read accesses during the programming process, thereby reducing operational complexity while maintaining data accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If multiple read accesses are performed to retrieve stored data, then data accuracy is improved, but programming time increases

Engineering Contradiction:
Improvedata accuracyVSAvoidprogramming time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs the first read access for LSB data before the programming operation begins, storing this data for later use. This preliminary action allows the programming process to proceed with already-retrieved LSB data rather than waiting for sequential read accesses, thereby reducing the overall programming time while ensuring data accuracy through the use of both LSB and MSB read accesses.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If Gray coding is used for multi-level memory cells, then storage capacity is improved, but management of memory cell states becomes more complex

Engineering Contradiction:
Improvestorage capacityVSAvoidmanagement complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the management of multi-level memory cells into distinct segments corresponding to LSB and MSB groups. Each group is managed separately through dedicated read accesses and programming operations, allowing the complex task of managing Gray-coded multi-level states to be broken down into more manageable sub-tasks while maintaining the enhanced storage capacity provided by Gray coding.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7366014B2Double page programming system and method
Publication Date: 2008.04.29 MICRON TECHNOLOGY INC
  • US7366014B2 patent drawing
  • US7366014B2 patent drawing
  • US7366014B2 patent drawing

AI summary

A method for programming an electrically programmable memory including a plurality of memory cells arranged in individually-selectable memory cell sets each including at least one memory cell. The programming method includes causing the memory cells of a selected memory cells set to be brought into a predetermined, starting programming state. Receiving a target value for the first data bits groups of the memory cells of the selected memory cells set. Receiving a target value for the second data bits groups of the memory cells of the selected memory cells set. After having received the target values of both the first and the second data bits groups, applying to the memory cells of the selected memory cells set a programming sequence adapted to cause the memory cells of the selected memory cells sets to be brought into a target programming state jointly determined by the target values of the first and second data bits groups.