Memory ECC Layout Using Data Compression for Stronger Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in improving error correction performance while using the same error checking and correction (ECC) algorithm, particularly in volatile and nonvolatile memory devices, where error correction capability per unit data size is limited.
Innovation Solution
The method involves compressing data into smaller units, generating multiple types of ECC information, and combining them with padding information to enhance error correction strength, allowing for increased ECC size without changing the ECC algorithm, by using spare storage areas secured through data compression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the ECC size is increased to improve error correction capability, then the error correction performance is improved, but the data storage capacity is reduced
Solution Approach 1:
The data is divided into multiple units, and ECC is applied to each unit separately. This allows the system to maintain higher error correction capability per unit while preserving overall storage capacity by efficiently utilizing the spare area within each segmented unit.
Solution Approach 2:
The patent changes the parameter of ECC size by generating multiple types of ECC information (first ECC information and second ECC information) with different protection levels. This allows flexible adjustment of error correction capability without proportionally increasing the total overhead, thus improving the ratio of error correction capability to storage capacity.
2Reliability
If multiple types of ECC information are generated to enhance error correction strength, then the error correction capability is improved, but the processing complexity is increased
Solution Approach 1:
The system performs preliminary classification of data units based on their error correction requirements. Data units are categorized into different types (e.g., first type and second type), and appropriate ECC information is generated for each type in advance. This preliminary action simplifies the overall processing by avoiding the need to generate all possible ECC types for all data.
Solution Approach 2:
Different types of ECC information are applied to different data units based on their specific requirements. High-reliability data units receive more robust ECC protection, while standard data units receive basic protection. This local differentiation optimizes the balance between error correction capability and processing complexity by applying appropriate protection only where needed.
Data Source
AI summary
Performing a write operation or a read operation in a memory system may include compressing data of a first size unit, generating a plurality of types of Error Checking and Correction (ECC) information based on the compressed data, combining the compressed data and the plurality of types of ECC information in units of a second size, and writing the information combined in units of the second size into a memory device.


