Memory Controller Wear Leveling via Dynamic Storage Mode Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face premature failure when part of the memory area is used in pseudo SLC or MLC modes, as the different cell types have varying numbers of rewritable times, leading to uneven wear and reduced overall lifespan.

Innovation Solution

A memory controller that dynamically switches the storage modes of different memory areas based on rewriting frequency, allowing the first memory area to switch to the second storage mode before reaching its lifetime, and vice versa, thereby achieving wear leveling and maximizing the overall usage of the flash memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If part of the memory area is used in pseudo SLC mode to improve reliability, then the reliability of that area is improved, but the overall lifetime of the flash memory is shortened due to uneven wear

Engineering Contradiction:
ImprovereliabilityVSAvoidlifetime
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent dynamically switches memory areas between pseudo SLC mode and normal mode based on their wear status. The memory controller monitors the number of program/erase cycles for each memory area and switches areas from pseudo SLC to normal mode when they approach wear limits, and vice versa, thereby dynamically balancing the wear across all memory areas and extending the overall flash memory lifetime while maintaining reliability.

Inventive Principle:
Principle #15Dynamics

2Reliability

If part of the memory area is used in pseudo SLC mode to reduce bit errors, then the bit error rate is reduced, but the memory capacity available for data storage is reduced

Engineering Contradiction:
Improvebit error rateVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent dynamically adjusts the proportion of memory areas operating in pseudo SLC mode versus normal mode based on the host system's requirements and the wear status of memory areas. When reliability requirements are high, more areas operate in pseudo SLC mode; when storage capacity is prioritized, fewer areas operate in pseudo SLC mode. This dynamic adjustment optimizes the balance between bit error rate reduction and memory capacity utilization.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If memory areas are fixed in specific storage modes to simplify control, then the control complexity is reduced, but the wear leveling between cell types is poor leading to premature failure

Engineering Contradiction:
Improvecontrol complexityVSAvoidwear leveling
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements a dynamic mode switching mechanism where the memory controller automatically monitors wear status and switches memory areas between pseudo SLC mode and normal mode based on program/erase cycle counts. This dynamic control achieves effective wear leveling across all memory areas, preventing premature failure, while the switching logic is designed to be straightforward, avoiding excessive control complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10956067B2Memory controller and flash memory system having the same
Publication Date: 2021.03.23 TDK CORP
  • US10956067B2 patent drawing
  • US10956067B2 patent drawing
  • US10956067B2 patent drawing

AI summary

Disclosed herein is a memory controller controlling data transfer between a host system and a flash memory. The memory controller is configured to operate on one of a plurality of operation states including first and second operation states. In the first operation state, a first memory area included in the flash memory is used in a first storage mode that stores information of less than n bits in one cell, and a second memory area included in the flash memory is used in a second storage mode that stores information of n bits or more in one cell. In the second operation state, the first memory area is used in the second storage mode, and the second memory area is used in the first storage mode.