Balanced ECC Codeword Mapping With Invertible Packets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory devices face challenges in balancing data to implement error correction codes effectively, as balancing data conflicts with applying error correction codes, leading to unbalanced codewords and potential errors in balancing information bits.
Innovation Solution
A memory device generates a codeword composed of data, parity, and placeholder bits, where the bits are mapped to packets to maintain validity during balancing, allowing for balanced data storage and error correction without disrupting the error correction code's efficacy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is balanced before applying error correction code, then the error correction code can be applied effectively, but the balancing information bits may become unbalanced and errors may occur
Solution Approach 1:
The codeword is divided into data bits and placeholder bits, where placeholder bits are specifically designated to represent balancing information. This segmentation allows the error correction code to protect the balancing information without disrupting the balancing process, as placeholder bits can be inverted along with data bits while maintaining their protective function.
Solution Approach 2:
Placeholder bits act as intermediaries between the data bits and the balancing process. These placeholder bits serve dual purposes: they maintain the balancing information functionality while also being protected by the error correction code. The placeholder bits mediate between the need for data balancing and the need for error protection.
2Reliability
If placeholder bits are stored in memory, then balancing information is preserved, but memory cell usage increases
Solution Approach 1:
Placeholder bits serve multiple functions simultaneously: they represent balancing information, maintain error correction code validity, and can be inverted during balancing operations. This multi-functionality eliminates the need for separate balancing information storage, as the placeholder bits within the codeword structure fulfill all balancing information requirements while being protected by the same error correction mechanism.
3Reliability
If data packets are inverted during balancing, then data balance is achieved, but error correction code validity may be disrupted
Solution Approach 1:
The error correction code is applied to the codeword including placeholder bits before the balancing inversion occurs. This preliminary application of error correction ensures that when placeholder bits are later inverted during balancing, the error correction code remains valid and can still detect and correct errors in the balanced data.
Solution Approach 2:
The state of placeholder bits is changed from their original values to inverted values during the balancing process, while maintaining their protective function. This parameter change (inversion) is permissible because the error correction code was designed to protect the placeholder bits, allowing their state to change while preserving the overall codeword validity.
Data Source
AI summary
Methods, systems, and devices for generating a balanced codeword protected by an error correction code are described. A memory device may receive data bits for storage. Based on the data bits, the memory device may generate a codeword that includes the data bits, parity bits, and placeholder bits. The memory device may balance the codeword by inverting one or more packets of the codeword. After balancing the codeword, the memory device may store at least a portion of the codeword in memory so that a later operation or a decoding process reveals the packets that were inverted as part of the balancing process. Accordingly, the memory device may re-invert the appropriate packets to recover the original data bits.


