Non-Volatile Memory Wear Leveling via Data Inversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Two-terminal memory devices face challenges in extending cell longevity due to the finite lifespan of non-volatile memory cells, which are affected by frequent program and erase operations, leading to premature wear and reduced storage capacity.
Innovation Solution
Implementing data management techniques that reduce the average number of set and reset cycles by comparing existing data with new data to be written, changing only necessary cells, and weighting operations towards lower power consumption states, such as resetting, to minimize wear and power usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If frequent program and erase operations are performed on non-volatile memory cells, then data storage capacity and write speed are improved, but cell lifespan deteriorates due to increased wear
Solution Approach 1:
The patent applies preliminary action by comparing incoming write data with existing data before performing program operations. The system identifies which memory cells need to be changed and prepares a modified data set that only includes changes, thereby reducing the number of actual program operations needed while maintaining write functionality.
Solution Approach 2:
The patent changes the parameter of data representation by inverting data bits strategically. When the number of reset operations would exceed set operations, the system inverts the data so that fewer operations are needed. This parameter change (bit inversion) reduces the total number of program/erase cycles, thereby extending cell lifespan while maintaining data integrity.
2Reliability
If the number of set and reset cycles is reduced to extend memory cell longevity, then cell lifespan is improved, but the complexity of data management increases
Solution Approach 1:
The patent implements self-service by having the memory controller automatically compare incoming data with existing data and generate modified data sets without external intervention. The system autonomously determines which cells need programming, performs bit inversion when beneficial, and manages the wear leveling process, thereby reducing operational complexity for the user while extending cell longevity.
Solution Approach 2:
The patent uses feedback by continuously monitoring the state of memory cells and adjusting the programming strategy accordingly. The system compares existing data with new data, identifies changes, and uses this information to determine the most efficient programming approach (direct programming vs. inversion), thereby optimizing cell usage and extending longevity while managing complexity through intelligent control.
3Reliability
If data inversion is used to reduce the number of reset operations, then wear on memory cells is reduced, but additional processing steps are required
Solution Approach 1:
The patent applies parameter changes by inverting data bits (changing from 0 to 1 or 1 to 0) to reduce the number of reset operations needed. This parameter transformation is performed strategically when the analysis shows that inverted data will require fewer programming operations, thereby reducing wear on memory cells while the added processing is minimized through efficient algorithms.
Data Source
AI summary
Providing for improved cell longevity for two-terminal memory devices is described herein. By way of example, wear leveling and management of array operations is provided to reduce an average number of set or reset cycles employed for programming new data to a two-terminal memory device. Reduction in set and reset cycles can facilitate reduced wear over time, increasing longevity of the memory device and enabling larger numbers of lifetime array operations. Wear leveling can comprise comparing existing data stored within a target set of memory cells, to new data to be written to the target cells, and changing only cells having different values between the existing and new data. In some examples, new data can be inverted to reduce a number of program or erase pulses required to program the new data over the existing data, among other examples of disclosed wear leveling.


