Flash Memory Coding with Valid All-1 Invalidation Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memories face challenges with low erasure granularity and interference influences affecting memory cell reliability, leading to difficulties in error correction and recognition, particularly when invalid data is marked using an all-1 vector that conflicts with error-correction codes.
Innovation Solution
A method is introduced to extend user data coding such that an all-1 vector can be used as a valid code word for invalidation, allowing for effective identification and decoding, using supplementary data and combinatorial logic to ensure the code word remains valid during reading, and utilizing an additional bit to indicate invalidation or store additional information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If an all-1 vector is used to mark invalid data in flash memory, then data invalidation is achieved, but conflict with error-correction codes occurs preventing proper error recognition
Solution Approach 1:
The code word is segmented into user data bits and supplementary data bits. The supplementary data bits are specifically designed to ensure that when all user data bits are 1 (invalidation marker), the resulting code word remains a valid codeword that can be properly recognized by the error-correction code, thus resolving the conflict between invalidation marking and error recognition
Solution Approach 2:
Supplementary data bits act as an intermediary between the user data and the error-correction code. These bits are generated based on the user data and are used to adjust the code word such that the all-1 vector for user data transforms into a valid code word that doesn't conflict with the BCH code's error recognition capability
2Reliability
If user data is extended with supplementary data for valid code word formation, then error recognition reliability is improved, but memory space is consumed
Solution Approach 1:
The supplementary data bits serve multiple functions: they ensure valid code word formation for error correction, enable proper invalidation marking, and can store additional information such as erase cycle counts, addresses, or status registers. This multi-functionality justifies the additional memory space consumption
3Reliability
If BCH code with additional overall parity is used for error correction, then error correction capability is improved, but code complexity increases
Solution Approach 1:
The supplementary data bits are pre-calculated and appended to the user data before encoding with the BCH code. This preliminary action ensures that the resulting code word is always a valid codeword, simplifying the decoding process and reducing the complexity of the error correction mechanism
Data Source
AI summary
When coding user data, it may be desirable to mark user data as invalid. This may arise, by way of example, in applications in which a stored data item needs to be updated by virtue of an updated data item additionally being stored and the old stored data item being marked as invalid. In order to mark the invalidity of a stored data item by means of the value of the data item and to be able to apply an error-recognizing or error-correcting coding dependably, the user data are extended by supplementary data and the coding is applied to the extended user data.


