Memory Page Programming Adaptation for MLC Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems using Multi-Level-Cell (MLC) technology face inefficiencies in programming time compared to Single-Level-Cell (SLC) technology, necessitating an improved method to enhance program efficiency.

Innovation Solution

An operating method for a memory device that employs two types of programming: first type programming for valid pages and second type programming, which is SLC-like, when pages are invalid, to improve speed and reliability, utilizing a memory device with a validation information recording unit and controller to selectively choose between these programming methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If MLC programming is used to double memory capacity at low fabrication cost, then storage capacity increases, but programming time increases

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

Solution Approach 1:

The patent implements dynamic programming mode selection based on the validity status of corresponding first pages. The system adaptively switches between first type programming (for valid pages) and second type programming (for invalid pages), optimizing programming speed without sacrificing storage capacity. This dynamic adjustment resolves the contradiction by making programming time variable rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the programming parameter (programming type) based on the validity state of data. When corresponding first pages are invalid, the system uses second type programming which operates with different voltage thresholds and timing parameters compared to first type programming, thereby achieving faster programming speeds for invalid pages while maintaining MLC capacity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If SLC-like programming is used to improve programming speed, then program efficiency increases, but memory capacity utilization decreases

Engineering Contradiction:
Improveprogram efficiencyVSAvoidmemory capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies different programming qualities to different regions of the memory based on page validity. Second type programming (SLC-like) is applied locally to low pages corresponding to invalid first pages, while first type programming is applied to low pages corresponding to valid first pages. This localized approach allows high-speed programming where appropriate while maintaining full MLC capacity utilization overall.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the programming process into two distinct types based on the validity of corresponding pages. By dividing the programming workload into first type programming for valid pages and second type programming for invalid pages, the system achieves both high capacity utilization and improved efficiency for specific segments without compromising overall memory capacity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9740602B2Memory orprating method and memory device using the same
Publication Date: 2017.08.22 MACRONIX INTERNATIONAL CO LTD
  • US9740602B2 patent drawing
  • US9740602B2 patent drawing
  • US9740602B2 patent drawing

AI summary

An operating method for a memory, the memory comprising at least one memory block including a plurality of first pages and a plurality of second pages corresponding to the first pages, the operating method including the following steps: determining whether a target first page of the first pages is valid, wherein the target first page is corresponding to a target second page of the second pages; if the target first page is valid, performing first type programming on the target second page; if the target first page is invalid, performing second type programming on the target second page.