Memory Control Unit Data Programming via Volatile Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data programming methods in non-volatile memory, such as flash memory, are inefficient due to the lengthy time required for erasing and programming data, especially when multiple data sets need to be programmed into the same page, leading to increased overall programming time.

Innovation Solution

A data programming method and device that utilizes a memory control unit to determine if data exceeds one page, programming the excess into non-volatile memory and storing insufficient data in volatile memory, and strategically switching data between non-volatile and volatile memory to minimize erasure and programming times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is programmed into non-volatile memory page by page, then data integrity is ensured, but programming time increases significantly when multiple data sets need to be programmed into the same page

Engineering Contradiction:
Improvedata integrityVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments data into multiple data sets and assigns different priority levels (first priority, second priority, third priority) to different pages within the same memory block. This segmentation allows the system to program high-priority data sets immediately while deferring lower-priority data sets, thereby reducing overall programming time while maintaining data integrity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by programming high-priority data sets into their designated pages before programming lower-priority data sets. The memory control unit identifies and programs first priority data sets immediately upon receiving them, preparing the memory structure in advance to accommodate subsequent data programming operations without requiring full page erasure each time.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If the entire memory block is erased before programming new data, then data programming can proceed, but the erasure process takes the longest time period

Engineering Contradiction:
Improvedata programming capabilityVSAvoiderasure time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

Instead of erasing the entire memory block before each programming operation, the patent segments the erasure process to only affect specific pages that need to be updated. The memory control unit identifies individual pages requiring programming and performs targeted erasure operations on those specific pages, thereby maintaining data programming capability while significantly reducing the time spent on erasure operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial erasure action by erasing only the specific pages that need to be programmed rather than erasing the entire memory block. This partial action approach provides sufficient erasure for the programming operation while avoiding the excessive time consumption of full block erasure, thus optimizing the balance between programming capability and time efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If data is backed up to volatile memory or other memory blocks before erasing, then data loss is prevented, but the overall programming time increases

Engineering Contradiction:
Improvedata safetyVSAvoidoverall programming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary backup actions selectively rather than universally. The memory control unit identifies pages that contain valid data and requires backup before erasure, and performs backup operations only for those specific pages. This preliminary selective backup prevents data loss while avoiding the time consumption of backing up entire memory blocks, thus reducing overall programming time while maintaining data safety.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If multiple data sets are programmed into the same page sequentially, then data storage is achieved, but the programming process becomes inefficient

Engineering Contradiction:
Improvedata storage capacityVSAvoidprogramming efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by assigning different priority levels to different pages within the same memory block, creating localized optimization zones. High-priority pages receive immediate programming attention with first-priority data sets, while lower-priority pages are programmed subsequently. This local differentiation of quality and priority levels enables efficient handling of multiple data sets targeting the same page, improving programming efficiency while maintaining adequate data storage capacity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8856432B2Data programming methods and devices for programming data into memories
Publication Date: 2014.10.07 SILICON MOTION INC
  • US8856432B2 patent drawing
  • US8856432B2 patent drawing
  • US8856432B2 patent drawing

AI summary

A data programming method for a data programming device having a non-volatile memory and a volatile memory, the method comprising determining whether data exceeds one page; if the data does not exceed one page and is insufficient for one page, storing the data into the volatile memory; determining whether next data is to be programmed into the same page as the data stored in the volatile memory; if the next data is to be programmed into the same page as the data stored in the volatile memory, programming the data and the next data into the non-volatile memory.