Column Memory Encoding With Sparse Codewords for Fast Bit Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data symbol encoding schemes are inefficient for column addressable memories, as they require large code lengths and bit weights, leading to high storage overhead and slow query times, especially when accessing individual bits rather than rows of data.
Innovation Solution
The proposed solution involves an encoding scheme that uses codewords with unique set bits and increased set bit distances, allowing for efficient column read operations and error correction, while minimizing storage overhead and query time by utilizing a 3D cross-point memory architecture that enables bit-level addressability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional row-based encoding schemes are used, then data can be accessed efficiently in rows, but storage overhead increases and column access becomes inefficient
Solution Approach 1:
The patent changes the encoding parameters from traditional fixed-width binary codes to variable-weight codewords where each codeword has a specific bit weight (number of set bits). This allows the system to optimize for column access by using codewords with weights of 1 or 2, enabling fast columnar retrieval while reducing storage overhead through efficient code length selection.
Solution Approach 2:
The patent transitions from row-oriented data organization to column-oriented optimization by introducing a new dimension of encoding based on bit weight distribution. Instead of organizing data purely by row continuity, the system uses codeword weight characteristics to enable efficient column access patterns, effectively adding a dimensional aspect to data organization that favors columnar operations.
2Quantity of substance
If code length is increased to reduce storage overhead, then more bits are available for encoding, but query time increases
Solution Approach 1:
The patent optimizes the trade-off between code length and query time by dynamically selecting codewords with specific bit weights. Shorter codewords with weight 1 or 2 are used for frequently accessed data, enabling fast column queries, while longer codewords are used for less frequently accessed data where storage efficiency is less critical. This parameter optimization resolves the contradiction by making code length adaptive rather than fixed.
Solution Approach 2:
The patent applies partial action by using minimal sufficient code lengths for frequently accessed columns rather than uniform long codes for all data. By using codewords with weight 1 or 2 for hot data paths, the system achieves sufficient encoding capability with shorter codes, thereby reducing query time while maintaining adequate storage efficiency for the most important data access patterns.
3Reliability
If bit weight is increased to improve error resilience, then more bits are set for each symbol, but storage overhead increases
Solution Approach 1:
The patent resolves this contradiction by making bit weight a variable parameter rather than a fixed value. Different codewords are assigned different weights based on their importance and access frequency. Critical data symbols use higher weight codewords for better error resilience, while less critical data uses lower weight codewords to minimize storage overhead. This differential weighting strategy achieves overall system reliability without uniform storage overhead increase.
Solution Approach 2:
The patent applies local quality by assigning different bit weights to different data symbols based on their specific requirements. Instead of using a uniform high bit weight for all data (which would increase overall storage overhead), the system locally optimizes each codeword's weight according to the importance and error sensitivity of the specific data symbol it represents, achieving error resilience where needed without unnecessary storage overhead elsewhere.
Data Source
AI summary
Technologies for performing encoding of data symbols for column read operations include a device having a memory that is column addressable and circuitry connected to the memory. The circuitry is configured to obtain a data set to encode. The data set is defined by a set of data symbols. The circuitry is also configured to determine a set of codewords to encode the data symbols of the data set, including defining each codeword with a set bit distance of at least two from every other codeword in the set of codewords. Additionally, the circuitry is configured to write the data set to the memory as a function of the determined set of codewords.


