Memory Control Unit Data Programming via Volatile Buffering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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
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.
Data Source
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.


