Controller Wear Management for Memory Block Lifespan

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems lack effective wear leveling mechanisms to manage the varying erase/program pulse count values across memory blocks, leading to uneven wear and potential data loss or system failure.

Innovation Solution

A controller is designed to manage memory blocks by determining their wear levels based on erase/program pulse count variations, categorizing them into single-level-cell or multi-level-cell groups, and selectively performing write operations to distribute data accordingly, ensuring balanced usage and extended memory block lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If memory blocks are managed without wear level monitoring, then device complexity is reduced, but memory block lifespan is shortened due to uneven wear

Engineering Contradiction:
Improvememory block lifespanVSAvoidcontroller complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The controller performs preliminary wear level checks on memory blocks before classifying them into SLC or MLC groups. This preliminary action of monitoring erase/program pulse counts and determining wear levels in advance allows the system to proactively manage memory block allocation, preventing uneven wear and extending lifespan before degradation occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller implements a feedback mechanism by continuously monitoring the erase/program pulse count of memory blocks, comparing current counts against initial counts to determine wear level variations. This feedback loop enables dynamic classification of memory blocks into appropriate groups (SLC or MLC) based on their wear status, ensuring balanced wear distribution and extended operational life.

Inventive Principle:
Principle #23Feedback

2Reliability

If memory blocks are classified into different cell groups, then data accuracy is improved through selective write operations, but device complexity increases

Engineering Contradiction:
Improvedata accuracyVSAvoidcontroller complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The controller applies local quality by treating different memory blocks differently based on their individual wear levels. Memory blocks with lower wear variation are classified into SLC groups for high-reliability important data, while blocks with higher wear variation are assigned to MLC groups for normal data. This localized differentiation ensures that each memory block receives appropriate write operations matched to its specific condition, improving overall data accuracy.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The controller changes the operational parameters of memory blocks dynamically by adjusting the write operation type (SLC or MLC) based on the wear level parameter. By monitoring the erase/program pulse count parameter and comparing it against the initial count, the system determines wear level variation and accordingly changes the cell group classification, enabling adaptive management that improves data accuracy while managing complexity.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If wear level checking is performed on all memory blocks, then productivity is improved through optimized data placement, but loss of time occurs during wear level checks

Engineering Contradiction:
Improvedata placement efficiencyVSAvoidwear level check time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The controller performs wear level checking selectively rather than uniformly on all memory blocks. By focusing checks on memory blocks that require classification or have undergone significant operations, the system achieves sufficient wear level information without the overhead of exhaustive checking of every block, thereby improving productivity while minimizing time loss.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11210004B2Controller memory system to perform a single level cell (SLC), or multi level cell (MLC) or triple level cell (TLC) program operation on a memory block
Publication Date: 2021.12.28 MIMIRIP LLC
  • US11210004B2 patent drawing
  • US11210004B2 patent drawing
  • US11210004B2 patent drawing

AI summary

A controller may control a memory device including memory blocks. The controller may include a processor configured to generate a command queue in response to a write command, a wear level management block configured to check a wear level of each memory block based on an erase/program pulse count variation, and manage the memory blocks such that each memory block belong to an SLC memory block group or an MLC memory block group, and a memory device control circuit configured to control the memory device to perform a write operation in response to the command queue. The memory device control circuit may select a first memory block belong to the SLC memory block group when the write operation is an operation for important data, and select a second memory block belong to the MLC memory block group when the write operation is an operation for normal data.