Non-Volatile Memory Wear-Leveling via Persistent Metadata Log

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Newer non-volatile memory technologies like PCM, MRAM, FeRAM, and RRAM wear out quickly due to non-uniform access patterns and require frequent replacement, which is costly and disruptive, and existing wear-leveling algorithms are unreliable due to reliance on volatile storage of critical parameters.

Innovation Solution

Implementing a memory controller with a metadata log in non-volatile memory to store and retrieve start and gap addresses for the start-gap wear-leveling algorithm, ensuring persistent storage of wear-leveling parameters and preventing data corruption during power loss, and sizing the metadata log to wear out at the same rate as the memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If newer non-volatile memory technologies (PCM, MRAM, FeRAM, RRAM) are used to replace DRAM, then access time and write time are significantly improved, but the memory wears out quickly after a certain number of write cycles

Engineering Contradiction:
Improveaccess timeVSAvoidmemory lifespan
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The memory address space is segmented into multiple regions or zones, and the wear-leveling algorithm distributes write operations across these segments. This segmentation allows the memory system to rotate through different regions, ensuring that no single region承受s all the wear, thereby extending overall memory lifespan while maintaining fast access characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the mapping parameters between logical addresses and physical memory locations. By altering the address translation parameters over time and across different write operations, the system distributes wear uniformly across all memory cells, preventing any single cell from reaching its write cycle limit prematurely.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If frequent replacement of worn-out memory is performed, then system reliability is maintained, but cost and user disruption increase

Engineering Contradiction:
Improvesystem reliabilityVSAvoidreplacement time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The wear-leveling algorithm performs preliminary distribution of write operations across all memory regions before any single region becomes worn out. By proactively balancing the write count across all cells from the beginning of memory usage, the system prevents any region from reaching its failure threshold, thereby eliminating the need for frequent replacements and reducing both cost and user disruption.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If existing wear-leveling algorithms use volatile storage for critical parameters, then device complexity is reduced, but data corruption occurs during power loss

Engineering Contradiction:
Improvestorage structureVSAvoiddata integrity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a metadata log as an intermediary structure that bridges the simple volatile storage and the need for data persistence. This metadata log, implemented as a circular buffer in non-volatile memory, stores critical wear-leveling parameters and acts as a mediator that preserves data integrity across power cycles while maintaining relatively simple device architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system maintains copies of critical wear-leveling parameters in both volatile memory (for fast access during operation) and in the non-volatile metadata log (for persistence). This copying strategy ensures that data integrity is preserved during power loss while allowing the system to quickly retrieve parameter values during normal operation without significant performance penalty.

Inventive Principle:
Principle #26Copying

4Productivity

If certain operating systems and computer programs access memory locations non-uniformly, then program execution efficiency is improved, but memory lifetime is limited to the most frequently used locations

Engineering Contradiction:
Improveprogram execution efficiencyVSAvoidmemory lifetime
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The wear-leveling system implements dynamic address mapping that adapts to non-uniform access patterns. The mapping between logical and physical addresses is not static but changes over time based on observed access patterns and wear levels. This dynamic approach allows frequently accessed locations to be rotated through different physical cells, distributing wear evenly while maintaining efficient access to frequently used data.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs periodic wear-leveling operations that systematically rotate through all memory regions at regular intervals. This periodic action ensures that even though individual programs may access memory non-uniformly, the overall system uniformly distributes write operations across all memory cells over time, extending memory lifetime without significantly impacting program execution efficiency.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9811456B2Reliable wear-leveling for non-volatile memory and method therefor
Publication Date: 2017.11.07 ADVANCED MICRO DEVICES INC
  • US9811456B2 patent drawing
  • US9811456B2 patent drawing
  • US9811456B2 patent drawing

AI summary

In one form, a data processor comprises a memory accessing agent and a memory controller. The memory accessing agent selectively initiates read accesses to and write accesses from a memory. The memory controller is coupled to the memory accessing agent and is adapted to be coupled to the memory and to access the memory using a start-gap wear-leveling algorithm. The memory controller is adapted to maintain a metadata log in a region of the memory and to store in the metadata log a start address and a gap address used in the start-gap wear-leveling algorithm, and upon initialization to access the metadata log to retrieve an initial start address and an initial gap address for use in the start-gap wear-leveling algorithm. In another form, a memory module may comprise a memory buffer including such a memory controller.