Multilevel Cell Memory Parallel Programming Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-level cell (MLC) nonvolatile memory systems face challenges in programming efficiency due to increased precision requirements and potential charge shifts between adjacent cells, leading to slower data storage compared to single-level cell (SLC) systems, while also needing to maintain compatibility with various memory standards.

Innovation Solution

A method and system that involve storing data in parallel across blocks with different memory states per cell, where a first block with two memory states is used for initial programming and a second block with more than two states is partially programmed, with subsequent further programming based on data from the first block to achieve full programming of the second block, allowing for efficient data transfer and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multi-level cell (MLC) memory is used to increase storage density, then storage capacity per cell is improved, but programming speed deteriorates due to increased precision requirements and charge shifts between adjacent cells

Engineering Contradiction:
Improvestorage capacity per cellVSAvoidprogramming speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The programming process is segmented into two distinct phases: a first programming phase that programs certain cells to a first state, and a second programming phase that programs the same cells to a second state. This segmentation allows the system to achieve MLC storage density while managing programming speed by breaking down the complex programming operation into manageable stages with different precision requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first programming phase acts as a preliminary action that prepares cells by programming them to an intermediate state before the final programming to the target state. This preliminary programming establishes a baseline that facilitates the subsequent precise programming operation, reducing the overall time penalty associated with MLC programming.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If multi-level cell (MLC) memory is used to increase storage density, then storage capacity is improved, but programming time increases due to slower data storage compared to single-level cell (SLC) systems

Engineering Contradiction:
Improvestorage capacityVSAvoidprogramming time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The memory system dynamically switches between two programming modes: a first programming mode for initial programming that operates faster with relaxed precision requirements, and a second programming mode for final programming that achieves the required precision for MLC operation. This dynamic approach allows the system to adapt programming speed and precision to the specific needs of each programming phase, reducing overall programming time while maintaining storage capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes programming parameters between two phases: in the first programming phase, cells are programmed with parameters optimized for speed; in the second programming phase, parameters are adjusted to optimize precision. This parameter transformation allows the system to achieve MLC storage density without permanently sacrificing programming speed, as each phase uses parameters best suited to its specific objectives.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If parallel programming is used to improve programming speed, then productivity is improved, but manufacturing complexity increases due to coordinating multiple programming operations

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

Solution Approach 1:

The parallel programming operation is segmented into two independent programming phases that can be executed concurrently with different precision requirements. This segmentation simplifies the coordination complexity by allowing each phase to be managed independently with its own timing and verification protocols, while still achieving the benefits of parallel processing and improved productivity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7719889B2Methods of programming multilevel cell nonvolatile memory
Publication Date: 2010.05.18 SANDISK TECHNOLOGIES LLC
  • US7719889B2 patent drawing
  • US7719889B2 patent drawing
  • US7719889B2 patent drawing

AI summary

A memory system includes a first block in which data is stored with a low density and a second block in which data is stored with a high density. When data is received it is written to the first block, and in parallel some of the data is written to the second block, so that the second block is partially programmed. The second block is later fully programmed by copying additional data from the first block.