Memory Controller Wear Leveling via SLC Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face challenges in extending the lifespan of nonvolatile memory devices due to uneven program-erase count distribution across memory blocks, leading to premature wear and reduced reliability.

Innovation Solution

A memory controller and its operating method that perform static wear leveling by temporarily storing data in an SLC buffer, monitoring the size of data, program-erase counts, and free blocks, and redistributing data to balance the program-erase counts across memory blocks, thereby preventing rapid increase in program-erase counts of specific blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data are stored in specific memory blocks without wear leveling, then write speed is improved, but program-erase count distribution becomes uneven leading to reduced reliability

Engineering Contradiction:
Improvewrite speedVSAvoidprogram-erase count distribution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically changes the selection criteria for memory blocks based on wear leveling parameters. It calculates program-erase counts for each block and selects target blocks with lower counts, adapting the storage location parameters to balance wear distribution while maintaining efficient write operations

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The controller acts as an intermediary between the host and memory blocks, introducing a wear leveling management layer that mediates data placement. It monitors block wear status and intelligently directs writes to appropriate blocks, preventing any single block from being overused while maintaining overall system performance

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If wear leveling operation is performed frequently to balance program-erase counts, then reliability is improved, but system complexity increases

Engineering Contradiction:
Improveprogram-erase count distributionVSAvoidcontrol logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of performing wear leveling operations continuously or excessively, the system applies partial action by triggering wear leveling only when necessary conditions are met (e.g., when program-erase count difference exceeds a threshold). This reduces unnecessary operations and simplifies control logic while still achieving reliable wear distribution

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring program-erase counts of memory blocks and using this information to make intelligent decisions about data placement. The controller adjusts its behavior based on real-time wear status feedback, optimizing reliability without requiring overly complex predetermined control logic

Inventive Principle:
Principle #23Feedback

3Productivity

If data size in SLC buffer increases, then write boosting effectiveness is improved, but memory space for normal operations decreases

Engineering Contradiction:
Improvewrite boosting effectivenessVSAvoidavailable memory space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the allocation and size of the SLC buffer based on current write workload and memory availability. The buffer size is not fixed but adapts to changing conditions, allowing the system to maximize write boosting effectiveness when needed while ensuring sufficient space remains for normal operations, thereby resolving the trade-off between performance and available memory

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11693583B2Memory controller and operating method thereof
Publication Date: 2023.07.04 SK HYNIX INC
  • US11693583B2 patent drawing
  • US11693583B2 patent drawing
  • US11693583B2 patent drawing

AI summary

A memory controller controls a memory device including a plurality of memory blocks. The memory controller is configured to: control the memory device to store data in a first area among areas of the memory device using a single level cell method, wherein the data are corresponded to a write booster request which is received from a host, perform a wear leveling operation, based on a size of the data stored in the first area, a program-erase count of each of memory blocks of the first area, and a number of free blocks in the memory device and form a mapping relationship between a logical block address, which is received from the host, and a physical block address corresponding the first area.