Flash Memory Data Mapping for Neighbor Cell Interference Stability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory controllers face challenges in maintaining data stability due to the electronic characteristics of neighboring memory cells, which affect the storage of data in multiple-level-cell (MLC) and single-level-cell (SLC) flash memories, leading to varying levels of stability based on bit values stored in neighboring pages.
Innovation Solution
A controller with a selective mapper and error correction code encoder processes source data using pseudo random sequences to generate optimal mapped data segments, calculating cross correlation values to select the best data configuration for storage, thereby dynamically adjusting the cross correlation values to enhance data stability in flash memories.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored in flash memory without dynamic adjustment, then storage operation is simple, but data stability is low due to neighboring memory cell interference
Solution Approach 1:
The controller dynamically changes the content parameters of data to be stored by processing source data through multiple pseudo-random sequences, generating different mapped data segments with varying cross-correlation values. This parameter transformation resolves the contradiction by modifying data characteristics to achieve high stability without requiring hardware changes.
Solution Approach 2:
The system transitions from static data storage to dynamic data processing by selecting different pseudo-random sequences based on neighboring page data characteristics. The controller adaptively adjusts the mapping process in real-time, performing cross-correlation calculations and selecting optimal mapped segments, thereby achieving high data stability through dynamic adaptation rather than fixed storage operations.
2Reliability
If multiple pseudo random sequences are used to process source data, then data stability is improved, but processing time and computational complexity increase
Solution Approach 1:
The controller generates multiple mapped data segments using different pseudo-random sequences but only selects the optimal one based on cross-correlation calculation. This partial action approach processes multiple candidates but commits to a single best result, achieving high stability while limiting the time penalty to only the necessary computational overhead of correlation analysis and selection.
Solution Approach 2:
The system pre-generates multiple mapped data segments using different pseudo-random sequences before final storage. By performing the processing work in advance and selecting the optimal segment beforehand, the system ensures rapid retrieval and reduces real-time processing delays, as the selection is based on pre-computed cross-correlation values.
3Reliability
If cross correlation calculation is performed to select optimal mapped data segment, then data stability increases, but computational load increases
Solution Approach 1:
The patent introduces cross-correlation value as an intermediary metric to evaluate and compare different mapped data segments. This intermediary parameter simplifies the selection process by providing a quantitative measure of stability, allowing the controller to systematically identify the optimal segment without complex analysis, thus reducing computational power requirements while maintaining high data stability.
4Reliability
If data mapping is optimized for MLC flash memory, then data stability is improved, but compatibility with different flash memory types is reduced
Solution Approach 1:
The controller implements a universal data mapping system that can adapt to different flash memory types (SLC, MLC, TLC) by adjusting the selection criteria for pseudo-random sequences. The cross-correlation calculation method remains the same, but the optimal selection threshold and parameters can be configured according to the specific memory type, achieving both high stability and broad compatibility through a single multi-functional architecture.
Data Source
AI summary
The invention provides a controller. In one embodiment, the controller is coupled to a flash memory and a host, and comprises a selective mapper and an error correction code encoder. The selective mapper receives first source data, processes the first source data according to a plurality of pseudo random sequences to obtain a plurality of first mapped data segments, calculates a plurality of cross correlation values between prior data and the first mapped data segments, selects an optimal mapped data segment from the first mapped data segments according to the cross correlation values, and generates output mapped data according to the optimal mapped data segment. The error correction code encoder encodes a first error correction code to be stored in the flash memory according to the output mapped data.


