ECC Encoder Metadata Encoding via Virtual Bits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processing systems lack sufficient memory cells to store metadata associated with data, limiting the storage of status information and other metadata in memory modules.
Innovation Solution
Encoding metadata bits into ECC check bits as virtual bits, allowing metadata to be represented without storing the metadata bits themselves, thereby increasing memory capacity and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If metadata bits are stored separately in memory, then metadata storage capacity is increased, but memory cell requirements and device complexity increase
Solution Approach 1:
The patent merges metadata bits with data bits to form codewords, where metadata is embedded within the existing ECC-protected data structure. This combining approach allows metadata to be stored without requiring separate memory cells, thus increasing metadata storage capacity while avoiding additional device complexity
Solution Approach 2:
The existing ECC check bits are made multi-functional by using them to protect both data bits and metadata bits simultaneously. This universal approach allows the same memory infrastructure to handle both data and metadata storage needs, eliminating the requirement for additional memory cells dedicated solely to metadata
2Quantity of substance
If metadata bits are encoded in ECC check bits, then memory capacity is increased, but processing complexity during encoding and decoding increases
Solution Approach 1:
The patent segments the codeword structure into data bits and metadata bits, with metadata embedded within the codeword. This segmentation allows the existing ECC decoding process to be extended rather than completely redesigned, as the decoder can identify and extract metadata from specific positions within the decoded codeword
Solution Approach 2:
The patent uses the existing ECC check bits as an intermediary mechanism to carry metadata information. The check bits serve as a mediator that protects both data and metadata simultaneously, allowing metadata to be transmitted through the existing error correction infrastructure without requiring a completely new processing pathway
3Quantity of substance
If virtual bits are used to represent metadata, then metadata storage efficiency is improved, but difficulty of detecting and measuring metadata values increases
Solution Approach 1:
The patent applies preliminary ECC encoding to the combined data and metadata before storage. This preliminary protection ensures that when data is retrieved from memory, the ECC decoder can first correct any errors in the codeword, and only then extract the metadata values, ensuring accurate recovery despite the embedded virtual bit representation
Solution Approach 2:
The patent implements a feedback mechanism where the ECC decoder validates the decoded codeword and identifies the correct metadata values by checking which metadata interpretations result in valid error correction. This feedback loop allows the system to automatically determine the correct metadata values even though they are encoded as virtual bits within the ECC structure
Data Source
AI summary
Systems and methods related to encoding metadata or other status information into error correcting code (ECC) for a data block. In one embodiment, an encoder of a memory controller generates ECC check bits based on a data block and virtual bits representing metadata, then stores the ECC check bits and the data block as a code word. Subsequently, multiple decoders of the memory controller process candidate code words that include the code word and candidate virtual bit values to detect errors in the candidate code words. The decoders output signals identifying each candidate code word as having no error, a correctable error, or an uncorrectable error and outputs a calculated error location in the case of a correctable error. The system determines the actual value of the virtual bits based on the outputs of the decoders and corrects any identified correctable error in the recovered code word.


