Non-systematic ECC Encoding for Flash Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory devices face issues with localized damage to error correction codes and the storage of data in plaintext formats, leading to increased data loss and security vulnerabilities due to complex ECC hardware and susceptibility to errors.
Innovation Solution
Implementing non-systematic ECC encoding and distributed ECC codes within memory segments, allowing for reduced complexity error detection and correction hardware, and ensuring user data is stored in an encoded format to enhance security and robustness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If systematic ECC encoding is used with separate overhead data areas, then error detection and correction can be performed, but the ECC codes become susceptible to localized damage and require complex hardware
Solution Approach 1:
The patent merges the user data and ECC codes into a single encoded data structure where the ECC codes are distributed throughout the encoded data rather than stored separately. This integration reduces hardware complexity by eliminating separate overhead data area management while maintaining error detection and correction capabilities through the distributed code structure.
Solution Approach 2:
The ECC codes are segmented and distributed throughout the encoded data at multiple locations rather than concentrated in a single overhead area. This segmentation approach makes the system more robust against localized damage since no single point of failure can corrupt all ECC codes, and simplifies hardware by avoiding complex overhead management.
2Ease of operation
If user data is stored in plaintext format in memory, then data can be easily accessed, but security vulnerabilities arise from potential unauthorized access
Solution Approach 1:
The patent applies preliminary encoding to user data before storage in the memory array. The encoding process transforms plaintext data into an encoded format that maintains accessibility for authorized operations while providing security against unauthorized access. The data is prepared in advance with protective encoding before being written to memory.
3Reliability
If ECC codes are stored in separate overhead data areas, then error correction can be performed, but localized damage to overhead areas can cause data loss
Solution Approach 1:
The ECC codes are divided and distributed throughout the encoded data at multiple locations rather than concentrated in a single overhead area. This segmentation ensures that localized damage to any single location does not result in complete loss of error correction capability, as remaining distributed code segments can still provide protection.
Solution Approach 2:
Different portions of the encoded data contain different segments of the ECC codes, creating local redundancy. This distribution strategy ensures that each location contributes to the overall error correction capability, and damage to any local area does not compromise the entire system's reliability.
Data Source
AI summary
Improved memory devices, circuitry, and data methods are described that facilitate the detection and correction of data in memory systems or devices by encoding the data bits of a memory row or block in a non-systematic ECC code. This allows memory embodiments of the present invention to utilize reduced complexity error detection and correction hardware and/or routines to efficiently detect and correct corrupted user data in a segment of memory, such as a sector, word line row, or erase block. Additionally, in embodiments of the present invention user data is not stored in a plaintext format in the memory array, allowing for an increased level of data security. Further, in embodiments of the present invention, the ECC code is distributed throughout the stored data in the memory segment, increasing the robustness of the ECC code and its resistance to damage or data corruption.


