Memory Block Cycling for Uniform Wear Leveling in NVM
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory devices face issues with uneven wear distribution leading to premature failure and data integrity problems due to the uneven distribution of program-erase cycles across memory blocks, exacerbated by the need for resource-intensive preparation of spare blocks for replacement.
Innovation Solution
Implementing a block cycling feature with a local media controller that autonomously executes program-erase cycles and generates random data patterns within the memory device, utilizing acceleration modes like Wordline, Wordline Group, and Block Acceleration to evenly distribute wear across memory blocks, reducing dependency on external systems for data generation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If wear leveling algorithms distribute program-erase cycles evenly across all memory blocks, then the lifespan of the memory device is extended, but the complexity of managing wear leveling increases
Solution Approach 1:
The memory device performs block cycling autonomously using an integrated randomizer and local media controller, eliminating the need for external systems to generate test data and manage wear leveling operations. The device serves itself by generating random data patterns internally and executing program-erase cycles without external intervention.
Solution Approach 2:
Spare blocks are pre-cycled to match the wear level of production blocks before being activated for use. This preliminary wear equalization ensures that when spare blocks replace failed production blocks, the wear distribution remains uniform across all blocks, extending overall device lifespan.
2Reliability
If block cycling is performed to equalize wear levels across memory blocks, then wear leveling efficiency is improved, but the time consumption for preparing spare blocks increases
Solution Approach 1:
The patent replaces mechanical/resource-intensive external data generation and block cycling operations with an integrated randomizer that generates random data patterns directly within the memory device. This substitution eliminates the need for external systems to prepare test data and reduces the time required for block cycling operations.
Solution Approach 2:
The local media controller autonomously executes program-erase cycles periodically on designated blocks without requiring continuous external control. This periodic autonomous operation reduces the time overhead associated with external system intervention and streamlines the block cycling process.
3Measurement precision
If external systems generate data patterns for block cycling, then data generation accuracy is maintained, but the operational demands on external systems increase
Solution Approach 1:
The memory device includes an integrated randomizer that generates random data patterns internally, eliminating the need for external systems to generate test data. This self-service capability maintains data generation accuracy while completely removing the operational burden from external systems.
Solution Approach 2:
The data generation function is extracted from external systems and relocated to an integrated randomizer within the memory device. This extraction removes the harmful burden of data generation operations from external systems while preserving the necessary functionality through the integrated component.
Data Source
AI summary
A method for managing wear leveling in a non-volatile memory device, the method initiating, by a memory controller, a block cycling operation on a memory block within the non-volatile memory device. The method includes selecting, by the memory controller, a block cycling mode from a set of block cycling modes. The method also includes outputting, by the memory controller, a block cycling feature command to a local media controller of a memory device that includes the memory block. The method includes executing, by the local media controller, the selected block cycling mode to program the memory block responsive to the block cycling feature command to increase a wear level of the memory block.


