Memory Controller Wear Management via Erase Count Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in maintaining reliability due to uneven wear and tear across memory blocks, leading to inconsistent performance and potential data loss, especially in portable electronic devices where mechanical parts are absent.

Innovation Solution

A memory system and method that utilize a memory controller to manage erase counts and select memory blocks based on accumulated and open block erase counts, prioritizing blocks with lower erase counts and those in an open state to distribute wear evenly, thereby improving reliability and extending device lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory blocks are selected for program operations without considering erase count distribution, then program operation speed is maintained, but uneven wear occurs across memory blocks leading to reduced reliability

Engineering Contradiction:
Improvememory block reliabilityVSAvoidblock selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces two erase count parameters (accumulated erase count and open block erase count) to characterize the wear state of memory blocks. By monitoring and comparing these parameters, the system dynamically selects target blocks for program operations, ensuring uniform wear distribution across all blocks while maintaining simple selection logic based on parameter thresholds.

Inventive Principle:
Principle #35Parameter changes

2Speed

If erase operations are performed frequently to maintain performance, then program operation speed is improved, but memory block lifespan is reduced due to increased wear

Engineering Contradiction:
Improveprogram operation speedVSAvoidmemory block lifespan
Core Design Contradiction:
SpeedVSDuration of action of stationary object

Solution Approach 1:

The patent implements a feedback mechanism where the controller continuously monitors the accumulated erase count and open block erase count of each memory block. Based on this feedback, the controller dynamically adjusts block selection for program operations, preferentially selecting blocks with lower erase counts. This feedback loop ensures optimal performance while extending overall memory system lifespan by preventing any single block from reaching its wear limit prematurely.

Inventive Principle:
Principle #23Feedback

3Productivity

If memory blocks with higher erase counts are selected for program operations, then available blocks are utilized efficiently, but wear is concentrated on already stressed blocks reducing overall system reliability

Engineering Contradiction:
Improveblock utilization efficiencyVSAvoidsystem reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent inverts the conventional approach by selecting memory blocks with the lowest erase counts for program operations rather than those with highest counts. This inversion ensures that blocks with more remaining life are utilized first, distributing wear evenly across the memory system. The controller compares erase count parameters and systematically selects target blocks from the lowest-wear group, thereby maintaining high productivity while maximizing system reliability through balanced wear distribution.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11461046B2Memory system with memory controller managing an accumulated erase count value and an open block erase count value and method of operating the same
Publication Date: 2022.10.04 SK HYNIX INC
  • US11461046B2 patent drawing
  • US11461046B2 patent drawing
  • US11461046B2 patent drawing

AI summary

Provided herein may be a memory system and a method of operating the memory system. The memory system may include a memory device including a plurality of memory blocks, and a memory controller configured to: manage an accumulated erase count value and an open block erase count value of each of the plurality of memory blocks, and select a target memory block on which a program operation is to be performed based on the accumulated erase count value and the open block erase count value of each of the plurality of memory blocks.