Memory Controller Dynamic Storing Modes for Flash Data Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory controllers degrade data storage performance by requiring multiple operations to store data units into flash memory, as they need to read back and combine data to form even and odd storage pages, even when the data size is smaller than a single storage page, leading to inefficient use of memory resources.
Innovation Solution
A memory controller with a buffer circuit and processing circuit that dynamically switches between different storing modes (SLC, MLC, TLC, and QLC) to store data units of varying sizes efficiently, using SLC for sizes not exceeding one storage page and MLC for sizes up to two storage pages, thereby optimizing storage operations and reducing circuit costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional memory controller uses MLC storing mode to store data units smaller than one storage page, then data is stored into memory device, but performance is degraded due to requiring read-back and data complement operations
Solution Approach 1:
The memory controller dynamically selects between SLC and MLC storing modes based on the size of the data unit to be stored. When data size is within one storage page, SLC mode is used for direct storage without read-back operations. When data size exceeds one storage page, MLC mode is used with appropriate data complement operations. This dynamic adaptation resolves the contradiction by optimizing the storing mode to match the data size requirements.
Solution Approach 2:
The invention changes the storing mode parameter (SLC or MLC) based on the data unit size. By adjusting this parameter, the system achieves high-speed direct storage for small data units and efficient multi-page storage for large data units, thereby improving overall data storage performance while reducing unnecessary operational complexity.
2Productivity
If conventional memory controller always stores two storage pages into even and odd pages for MLC mode, then even storage page data and odd storage page data are stored, but efficiency is reduced when data unit size is smaller than one storage page
Solution Approach 1:
The invention applies different storing modes to different data size scenarios. For data units within one storage page, SLC mode is applied locally to enable direct storage without padding. For data units exceeding one storage page, MLC mode is applied with appropriate page distribution. This local quality approach ensures that each data size scenario receives the optimal storing treatment, improving efficiency and reducing resource waste.
Solution Approach 2:
Instead of always performing full two-page MLC storage operations, the invention applies partial action by using SLC mode for single-page data units, thereby avoiding the excessive action of reading back and complementing data that would be unnecessary for small data sizes. This reduces both operational overhead and memory resource waste.
3Reliability
If conventional memory controller performs data complement process to form even and odd page data, then data is stored into memory device, but storing operation time is increased
Solution Approach 1:
The memory controller dynamically determines whether to perform data complement operations based on the selected storing mode. In SLC mode for small data units, no data complement is performed, reducing operation time. In MLC mode for large data units, data complement is performed to ensure complete page storage. This dynamic approach maintains data storage completeness while minimizing unnecessary operation time.
Solution Approach 2:
The invention extracts the data complement operation from the universal storage process and applies it only when necessary (in MLC mode for multi-page data). By removing the unnecessary data complement step for single-page SLC storage, the system maintains data completeness where needed while reducing operation time where not needed.
Data Source
AI summary
A method applied into a memory controller coupled between a memory device and a host device wherein the memory device supports at least two different storing modes includes: receiving and buffering data transmitted from the host device; using a first storing mode to store a first data unit into the memory device, a size of the first data unit being not larger than a size of a specific storage unit defined in the memory device; and using a second storing mode, different from the first storing mode, to store a second data unit into the memory device, a size of the second data unit being larger than the size of the specific storage unit.


