Adaptive Endurance Coding for Compressible Non-Volatile Memory Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current endurance coding schemes for non-volatile memories, such as phase-change memories and flash memories, do not adapt to data compressibility and memory page length, leading to inefficient use of memory space and reduced endurance.
Innovation Solution
An adaptive endurance coding method that applies a compression algorithm to data, selects an endurance code based on the space saved by compression, and incorporates error resilience to ensure data fits within a memory page while maximizing endurance, using a metadata matrix to recover data location specifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If current endurance coding schemes are applied to non-volatile memories, then memory life is extended, but data expansion occurs and adaptability to data compressibility and memory page length is lost
Solution Approach 1:
The patent implements dynamic adaptability by selecting different endurance coding schemes based on data compressibility characteristics and memory page length. The system dynamically adjusts the coding parameters to match the specific data being written, rather than using a fixed coding scheme. This allows the memory system to optimize between endurance extension and data efficiency for different types of data workloads.
Solution Approach 2:
The patent changes coding parameters adaptively based on data properties. Specifically, it monitors data compressibility and memory page length to select appropriate endurance coding schemes with varying code rates and structures. This parameter adaptation resolves the contradiction by allowing the system to extend memory life through endurance coding while simultaneously maintaining versatility across different data types and memory configurations.
2Adaptability or versatility
If a different page length is used for each data word to achieve adaptability, then data compressibility is optimized, but memory structure complexity increases
Solution Approach 1:
The patent applies local quality by optimizing endurance coding for specific data regions or words within a memory page based on their compressibility characteristics, rather than changing the entire memory page structure. Each data word or block can have its own coding parameters selected according to its local properties, maintaining overall memory structure simplicity while achieving local optimization for compressibility and endurance.
3Device complexity
If endurance increase is sacrificed to maintain fixed memory page length, then memory structure simplicity is preserved, but adaptability to data compressibility is lost
Solution Approach 1:
The patent introduces dynamic parameter selection within the fixed memory page length constraint. Instead of changing page length, the system dynamically selects from multiple endurance coding schemes with different code rates and structures to match the compressibility of the data being written. This maintains the simplicity of fixed page length while achieving adaptability through coding scheme selection.
4Quantity of substance
If compression algorithm is applied to write data, then data space is reduced, but additional processing steps are required
Solution Approach 1:
The patent merges the compression algorithm application with the endurance coding process into a unified data processing pipeline. Rather than treating compression and endurance coding as separate sequential steps, the system integrates them so that compression is performed as part of the overall encoding process, selecting the appropriate coding scheme based on compression results. This reduces the overhead of additional processing steps while achieving data space reduction.
Data Source
AI summary
Adaptive endurance coding including a method for storing data that includes receiving write data and a write address. A compression algorithm is applied to the write data to generate compressed data. An endurance code is applied to the compressed data to generate a codeword. The endurance code is selected and applied in response to the amount of space saved by applying the compression to the write data. The codeword is written to the write address.


