Compressed Memory ECC Blocks for Reliable Data Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory devices face inefficiencies in storing compressed data, as data compression can lead to data loss and reduced storage reliability, particularly when high importance data is compressed, necessitating improved error correction mechanisms.
Innovation Solution
A memory system comprising a data compressor and an error correction block generator that divides compressed data into normal and invalid data with parity, ensuring each error correction block includes normal data, invalid data, and parity, distributed across physical pages to enhance storage efficiency and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data compression is applied to increase storage efficiency, then storage capacity is improved, but data reliability deteriorates due to potential data loss
Solution Approach 1:
The compressed data is divided into multiple error correction blocks, where each block contains a portion of the compressed data along with dedicated error correction codes. This segmentation allows independent error correction for each block, maintaining data reliability while preserving storage efficiency gains from compression.
Solution Approach 2:
Error correction codes are pre-calculated and embedded into each error correction block during the data writing process. This preliminary action ensures that error correction capability is built into the storage structure before data is stored, preventing data loss without requiring additional storage overhead beyond the compressed data size.
2Reliability
If error correction codes are added to compressed data, then data reliability is improved, but storage efficiency deteriorates due to increased overhead
Solution Approach 1:
Instead of adding a single large error correction code to the entire compressed data set, the system segments the compressed data into multiple blocks and adds smaller error correction codes to each block. This approach distributes the error correction overhead across multiple blocks, improving reliability without proportionally increasing total storage overhead.
Solution Approach 2:
Each error correction block is designed with local error correction capability tailored to that specific block's data portion. This local quality approach ensures that error correction resources are optimally allocated to where they are most needed, maintaining high error correction capability while minimizing overall storage overhead.
3Device complexity
If compressed data is stored in fixed-size blocks, then storage organization is simplified, but data loss risk increases when compression results in variable-size data
Solution Approach 1:
The system segments compressed data into multiple error correction blocks of manageable sizes. Each block is independently processed and protected with error correction codes, ensuring that even if the total compressed data size varies, each individual block maintains consistent error protection and can be reliably stored and retrieved.
Data Source
AI summary
A memory device and a memory system, the memory system including a data compressor for generating compressed data by compressing program data in a first unit, and an error correction block generator for dividing the compressed data in a second unit to obtain a plurality of pieces of normal data, and generating error correction blocks for correcting errors of the plurality of pieces of normal data, wherein each of the error correction blocks comprises the normal data, invalid data having a size corresponding to the size of the normal data, and parities for the normal data and the invalid data.


