Memory Controller Dynamic Storing Modes for Flash Data Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata storage performanceVSAvoidoperation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvestoring efficiencyVSAvoidmemory resource waste
Core Design Contradiction:
ProductivityVSLoss of substance

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improvedata storage completenessVSAvoidstoring operation time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11209999B2Memory controller and method capable of using different storing modes to store data units having different data sizes
Publication Date: 2021.12.28 SILICON MOTION INC
  • US11209999B2 patent drawing
  • US11209999B2 patent drawing
  • US11209999B2 patent drawing

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.